// VC++ 4.0 is 1000.
// Add more tests here for compilers that don't already define bool.
-#if ( defined(_MSC_VER) && (_MSC_VER <= 1000) ) || (defined(__BORLANDC__) && (__BORLANDC__ < 0x500))
+#if ( defined(_MSC_VER) && (_MSC_VER <= 1000) && !defined( __MWERKS__ ) ) || (defined(__BORLANDC__) && (__BORLANDC__ < 0x500)) || ( __MWERKS__ < 0x1000 || !__option(bool) )
typedef unsigned int bool;
#endif
// Added JACS 25/11/98: needed for some compilers
void * operator new (size_t size);
-#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
+#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) ) || defined( __MWERKS__)
void * operator new[] (size_t size);
#endif
void * operator new (size_t size, char * fileName, int lineNum);
void operator delete (void * buf);
-#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
+#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) ) || defined( __MWERKS__)
void * operator new[] (size_t size, char * fileName, int lineNum);
void operator delete[] (void * buf);
#endif
#if defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING
void * operator new (size_t size, char * fileName = NULL, int lineNum = 0);
void operator delete (void * buf);
-
+
// VC++ 6.0
#if _MSC_VER >= 1200
void operator delete(void *buf, char*, int);
#endif
// Cause problems for VC++
-#ifndef _MSC_VER
+#ifndef _MSC_VER
void * operator new[] (size_t size, char * fileName = NULL, int lineNum = 0);
void operator delete[] (void * buf);
#endif
+#ifdef __MWERKS__
+ void * operator new[] (size_t size, char * fileName , int lineNum = 0);
+ void operator delete[] (void * buf);
+#endif
+
#endif
#if defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT