summaryrefslogtreecommitdiff
path: root/gc_cpp.cc
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2018-06-08 11:34:23 +0300
committerIvan Maidanski <ivmai@mail.ru>2018-06-08 11:50:36 +0300
commit81b15cc40fc8cc257cb20cbfa5e389ce4665b3e1 (patch)
treeb7a8f79fa571673cab798e85144cb7d5d77a72b8 /gc_cpp.cc
parent4e909d2389d48f6393a35742b71a3e30c98157aa (diff)
downloadbdwgc-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.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/gc_cpp.cc b/gc_cpp.cc
index ad361b6e..b8c8ad28 100644
--- a/gc_cpp.cc
+++ b/gc_cpp.cc
@@ -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);
}