Portability updates.

committer: mfx <mfx> 1042738038 +0000
This commit is contained in:
Markus F.X.J. Oberhumer
2003-01-16 17:27:18 +00:00
parent e96ad21db1
commit a2e3ceb8c8
10 changed files with 146 additions and 49 deletions
+48 -1
View File
@@ -32,7 +32,54 @@
#ifdef __cplusplus
//#define NOTHROW throw()
#if !defined(NOTHROW)
# define NOTHROW throw()
#endif
/*************************************************************************
// disable dynamic allocation of an object
**************************************************************************/
#if defined(new) || defined(delete)
// debug
# define DISABLE_NEW_DELETE
#else
# if 1
# define DISABLE_NEW_DELETE_PLACEMENT_NEW \
static void *operator new(size_t, void *);
# else
# define DISABLE_NEW_DELETE_PLACEMENT_NEW
# endif
# if defined(__GNUC__) && (__GNUC__ >= 3)
# define DISABLE_NEW_DELETE_PLACEMENT_DELETE \
static void operator delete(void *, void *) NOTHROW { }
# elif defined(__INTEL_COMPILER)
# define DISABLE_NEW_DELETE_PLACEMENT_DELETE \
static void operator delete(void *, void *) NOTHROW { }
# elif defined(_MSC_VER) && (_MSC_VER >= 1200)
# define DISABLE_NEW_DELETE_PLACEMENT_DELETE \
static void operator delete(void *, void *) NOTHROW { }
# else
# define DISABLE_NEW_DELETE_PLACEMENT_DELETE
# endif
# define DISABLE_NEW_DELETE \
private: \
static void *operator new(size_t); \
static void *operator new[](size_t); \
DISABLE_NEW_DELETE_PLACEMENT_NEW \
protected: \
static void operator delete(void *) NOTHROW { } \
static void operator delete[](void *) NOTHROW { } \
DISABLE_NEW_DELETE_PLACEMENT_DELETE \
private:
#endif
/*************************************************************************