=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/gc/gc_cpp.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- OpenXM_contrib2/asir2000/gc/gc_cpp.cc 2002/07/24 07:46:17 1.3 +++ OpenXM_contrib2/asir2000/gc/gc_cpp.cc 2002/07/24 08:00:09 1.4 @@ -26,15 +26,13 @@ Authors: John R. Ellis and Jesse Hull #include "gc_cpp.h" -#ifndef _MSC_VER -/* In the Visual C++ case, we moved this into the header. */ void* operator new( size_t size ) { return GC_MALLOC_UNCOLLECTABLE( size );} void operator delete( void* obj ) { GC_FREE( obj );} -#ifdef OPERATOR_NEW_ARRAY +#ifdef GC_OPERATOR_NEW_ARRAY void* operator new[]( size_t size ) { return GC_MALLOC_UNCOLLECTABLE( size );} @@ -42,8 +40,22 @@ void* operator new[]( size_t size ) { void operator delete[]( void* obj ) { GC_FREE( obj );} -#endif /* OPERATOR_NEW_ARRAY */ +#endif /* GC_OPERATOR_NEW_ARRAY */ -#endif /* _MSC_VER */ +#ifdef _MSC_VER +// This new operator is used by VC++ in case of Debug builds ! +void* operator new( size_t size, + int ,//nBlockUse, + const char * szFileName, + int nLine ) +{ +#ifndef GC_DEBUG + return GC_malloc_uncollectable( size ); +#else + return GC_debug_malloc_uncollectable(size, szFileName, nLine); +#endif +} + +#endif /* _MSC_VER */