diff options
Diffstat (limited to 'externals')
-rw-r--r-- | externals/grill/flext/flext.cw | bin | 880367 -> 880367 bytes | |||
-rw-r--r-- | externals/grill/flext/source/flsupport.h | 19 |
2 files changed, 13 insertions, 6 deletions
diff --git a/externals/grill/flext/flext.cw b/externals/grill/flext/flext.cw Binary files differindex 157b04d7..0cb462a7 100644 --- a/externals/grill/flext/flext.cw +++ b/externals/grill/flext/flext.cw diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h index 2541e243..06337150 100644 --- a/externals/grill/flext/source/flsupport.h +++ b/externals/grill/flext/source/flsupport.h @@ -16,7 +16,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #define __FLSUPPORT_H #include "flstdc.h" - +#include <new> class FLEXT_SHARE FLEXT_CLASSDEF(flext_root); typedef class FLEXT_CLASSDEF(flext_root) flext_root; @@ -65,16 +65,23 @@ public: //! @} FLEXT_S_MEMORY }; +#ifndef _MSC_VER +#define NEWTHROW throw(std::bad_alloc) +#define DELTHROW throw() +#else +#define NEWTHROW +#define DELTHROW +#endif + // define global new/delete operators -inline void *operator new(size_t bytes) { return flext_root::operator new(bytes); } -inline void operator delete(void *blk) { flext_root::operator delete(blk); } +inline void *operator new(size_t bytes) NEWTHROW { return flext_root::operator new(bytes); } +inline void operator delete(void *blk) DELTHROW { flext_root::operator delete(blk); } #ifndef __MRC__ // doesn't allow new[] overloading?! -inline void *operator new[](size_t bytes) { return flext_root::operator new[](bytes); } -inline void operator delete[](void *blk) { flext_root::operator delete[](blk); } +inline void *operator new[](size_t bytes) NEWTHROW { return flext_root::operator new[](bytes); } +inline void operator delete[](void *blk) DELTHROW { flext_root::operator delete[](blk); } #endif - class FLEXT_SHARE FLEXT_CLASSDEF(flext); typedef class FLEXT_CLASSDEF(flext) flext; |