diff --git a/include/wx/defs.h b/include/wx/defs.h index 35c46f8e3a..0236ab92f4 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -128,31 +128,27 @@ // Make sure the environment is set correctly #if defined(__WXMSW__) && defined(__X__) -# error "Target can't be both X and Windows" + #error "Target can't be both X and Windows" #elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \ !defined(__WXMAC__) && !defined(__X__) && !defined(__WXQT__) && !defined(__WXSTUBS__) -#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]" + #error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]" #endif #if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXSTUBS__) + // Bool is now obsolete, use bool instead + // typedef int Bool; -// Bool is now obsolete, use bool instead -// typedef int Bool; - -#ifndef TRUE -# define TRUE 1 -# define FALSE 0 -# define Bool_DEFINED -#endif - + #ifndef TRUE + #define TRUE 1 + #define FALSE 0 + #define Bool_DEFINED + #endif #elif defined(__WXMSW__) - -#ifndef TRUE -# define TRUE 1 -# define FALSE 0 -#endif - -#endif + #ifndef TRUE + #define TRUE 1 + #define FALSE 0 + #endif +#endif // TRUE/FALSE // VC++ 4.0 is 1000. @@ -172,12 +168,9 @@ #elif defined(__BORLANDC__) && (__BORLANDC__ < 0x500) typedef unsigned int bool; #elif defined(__WATCOMC__) -// typedef unsigned int bool; - - #if (__WATCOMC__ < 1100) - typedef unsigned int bool; - #endif - + #if (__WATCOMC__ < 1100) + typedef unsigned int bool; + #endif #elif defined(__SUNCC__) || defined(__SUNPRO_CC) #ifdef __SUNPRO_CC // starting from version 5.0 Sun CC understands 'bool' @@ -188,12 +181,11 @@ #else #error "Unknown compiler: only Sun's CC and gcc are currently recognised." #endif // Sun CC -#endif - -#if ( defined(__VISUALC__) && (__VISUALC__ <= 800) ) || defined(__GNUWIN32__) || (defined(__BORLANDC__) && defined(__WIN16__)) || defined(__SC__) || defined(__SALFORDC__) -// Not a good idea, because later system files (e.g. windows.h) -// may try to define it. Use wxByte instead. -// #define byte unsigned char +#elif defined(__SGI_CC__) + // test is taken from SGI "C++ Programming Guide" + #ifndef _BOOL + typedef unsigned char bool; + #endif // _BOOL #endif typedef unsigned char wxByte; diff --git a/include/wx/memory.h b/include/wx/memory.h index f9977849b5..23f64dca35 100644 --- a/include/wx/memory.h +++ b/include/wx/memory.h @@ -56,23 +56,26 @@ void wxDebugFree(void * buf, bool isVect = FALSE); #define wxUSE_ARRAY_MEMORY_OPERATORS 0 #elif !( defined (__VISUALC__) && (__VISUALC__ <= 1020) ) || defined( __MWERKS__) #define wxUSE_ARRAY_MEMORY_OPERATORS 1 +#elif defined (__SGI_CC_) + // only supported by -n32 compilers + #ifndef __EDG_ABI_COMPATIBILITY_VERSION + #define wxUSE_ARRAY_MEMORY_OPERATORS 0 + #endif #else + // ::operator new[] is a recent C++ feature, so assume it's not supported #define wxUSE_ARRAY_MEMORY_OPERATORS 0 #endif // Added JACS 25/11/98: needed for some compilers void * operator new (size_t size); -#if wxUSE_ARRAY_MEMORY_OPERATORS -void * operator new[] (size_t size); -#endif - void * operator new (size_t size, char * fileName, int lineNum); void operator delete (void * buf); #if wxUSE_ARRAY_MEMORY_OPERATORS -void * operator new[] (size_t size, char * fileName, int lineNum); -void operator delete[] (void * buf); + void * operator new[] (size_t size); + void * operator new[] (size_t size, char * fileName, int lineNum); + void operator delete[] (void * buf); #endif // VC++ 6.0