diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2015-05-04 20:28:24 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2015-05-11 19:10:55 +0300 |
commit | 3379238e443843670f9bbe3089346735cb97a372 (patch) | |
tree | 8bdd22586b04b2d76ad38e0f3a5030843db0b7c1 /gc_cpp.cc | |
parent | 28272d58b8ca59f88703e8911d84bfc98f558f99 (diff) | |
download | bdwgc-3379238e443843670f9bbe3089346735cb97a372.tar.gz |
Restore definition of new/delete operators in gc_cpp.cc (for non-VC)
(revert part of commit 3d784ed)
* gc_cpp.cc (new, delete, new[], delete[]): Add definition (unless
_MSC_VER defined).
Conflicts:
gc_cpp.cc
Diffstat (limited to 'gc_cpp.cc')
-rw-r--r-- | gc_cpp.cc | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -42,3 +42,27 @@ built-in "new" and "delete". # define GC_DECL_NEW_THROW /* empty */ # define GC_DECL_DELETE_THROW /* empty */ #endif /* !GC_NEW_DELETE_NEED_THROW */ + +#ifndef _MSC_VER + + void* operator new(size_t size) GC_DECL_NEW_THROW { + return GC_MALLOC_UNCOLLECTABLE(size); + } + +# if !defined(__CYGWIN__) + void operator delete(void* obj) GC_DECL_DELETE_THROW { + GC_FREE(obj); + } +# endif // !__CYGWIN__ + +# ifdef GC_OPERATOR_NEW_ARRAY + void* operator new[](size_t size) GC_DECL_NEW_THROW { + return GC_MALLOC_UNCOLLECTABLE(size); + } + + void operator delete[](void* obj) GC_DECL_DELETE_THROW { + GC_FREE(obj); + } +# endif // GC_OPERATOR_NEW_ARRAY + +#endif // !_MSC_VER |