diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2018-06-08 11:34:23 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2018-06-08 11:50:36 +0300 |
commit | 81b15cc40fc8cc257cb20cbfa5e389ce4665b3e1 (patch) | |
tree | b7a8f79fa571673cab798e85144cb7d5d77a72b8 /gc_cpp.cc | |
parent | 4e909d2389d48f6393a35742b71a3e30c98157aa (diff) | |
download | bdwgc-81b15cc40fc8cc257cb20cbfa5e389ce4665b3e1.tar.gz |
Use noexcept specifier in gc_cpp if C++11
* gc_cpp.cc [!_MSC_VER && !__DMC__] (delete, delete[]): Rename
GC_DECL_DELETE_THROW to GC_NOEXCEPT.
* include/gc_cpp.h: Always include "new" header.
* include/gc_cpp.h [!GC_NEW_DELETE_THROW_NOT_NEEDED]
(GC_NEW_DELETE_NEED_THROW): Do not define if __BORLANDC__ or _MSC_VER,
or __WATCOMC__, or if __cplusplus>=201103L and !__clang__.
* include/gc_cpp.h (GC_DECL_DELETE_THROW): Remove.
* include/gc_cpp.h [!GC_NOEXCEPT] (GC_NOEXCEPT): Define internal macro
to except or throw(), or nothing (same as that in gc_allocator.h).
* include/gc_cpp.h [!GC_NEW_ABORTS_ON_OOM] (GC_NEW_ABORTS_ON_OOM):
Define if GC_NOEXCEPT is defined to nothing.
* include/gc_cpp.h (new(size_t,void*), new[](size_t,void*), delete):
Add GC_NOEXCEPT.
Diffstat (limited to 'gc_cpp.cc')
-rw-r--r-- | gc_cpp.cc | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -37,7 +37,7 @@ built-in "new" and "delete". return obj; } - void operator delete(void* obj) GC_DECL_DELETE_THROW { + void operator delete(void* obj) GC_NOEXCEPT { GC_FREE(obj); } @@ -48,19 +48,19 @@ built-in "new" and "delete". return obj; } - void operator delete[](void* obj) GC_DECL_DELETE_THROW { + void operator delete[](void* obj) GC_NOEXCEPT { GC_FREE(obj); } # endif // GC_OPERATOR_NEW_ARRAY # if __cplusplus > 201103L // C++14 - void operator delete(void* obj, size_t size) GC_DECL_DELETE_THROW { + void operator delete(void* obj, size_t size) GC_NOEXCEPT { (void)size; // size is ignored GC_FREE(obj); } # if defined(GC_OPERATOR_NEW_ARRAY) && !defined(CPPCHECK) - void operator delete[](void* obj, size_t size) GC_DECL_DELETE_THROW { + void operator delete[](void* obj, size_t size) GC_NOEXCEPT { (void)size; GC_FREE(obj); } |