Annotation of OpenXM_contrib2/asir2000/gc/gc_cpp.cc, Revision 1.2
1.1 noro 1: /*************************************************************************
2: Copyright (c) 1994 by Xerox Corporation. All rights reserved.
3:
4: THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
5: OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
6:
7: Last modified on Sat Nov 19 19:31:14 PST 1994 by ellis
8: on Sat Jun 8 15:10:00 PST 1994 by boehm
9:
10: Permission is hereby granted to copy this code for any purpose,
11: provided the above notices are retained on all copies.
12:
13: This implementation module for gc_c++.h provides an implementation of
14: the global operators "new" and "delete" that calls the Boehm
15: allocator. All objects allocated by this implementation will be
16: non-collectable but part of the root set of the collector.
17:
18: You should ensure (using implementation-dependent techniques) that the
19: linker finds this module before the library that defines the default
20: built-in "new" and "delete".
21:
22: Authors: John R. Ellis and Jesse Hull
23:
24: **************************************************************************/
25: /* Boehm, December 20, 1994 7:26 pm PST */
26:
27: #include "gc_cpp.h"
28:
1.2 ! noro 29: #ifndef _MSC_VER
! 30: /* In the Visual C++ case, we moved this into the header. */
1.1 noro 31: void* operator new( size_t size ) {
32: return GC_MALLOC_UNCOLLECTABLE( size );}
33:
34: void operator delete( void* obj ) {
35: GC_FREE( obj );}
36:
37: #ifdef OPERATOR_NEW_ARRAY
38:
39: void* operator new[]( size_t size ) {
40: return GC_MALLOC_UNCOLLECTABLE( size );}
41:
42: void operator delete[]( void* obj ) {
43: GC_FREE( obj );}
44:
45: #endif /* OPERATOR_NEW_ARRAY */
1.2 ! noro 46:
! 47: #endif /* _MSC_VER */
1.1 noro 48:
49:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>