diff options
Diffstat (limited to 'gcc/cp/inc')
-rw-r--r-- | gcc/cp/inc/new | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/cp/inc/new b/gcc/cp/inc/new index f4b0b975cdb..23fe6eb9e6b 100644 --- a/gcc/cp/inc/new +++ b/gcc/cp/inc/new @@ -22,23 +22,21 @@ namespace std { struct nothrow_t {}; extern const nothrow_t nothrow; typedef void (*new_handler)(); - extern "C" new_handler set_new_handler (new_handler); + new_handler set_new_handler (new_handler); #if 0 } // namespace std #endif -// G++ implementation internals -extern new_handler __new_handler; -extern "C" void __default_new_handler (void); - // replaceable signatures -void *operator new (size_t); -void *operator new (size_t, const nothrow_t&) throw(); -void *operator new[] (size_t); -void *operator new[] (size_t, const nothrow_t&) throw(); +void *operator new (size_t) throw (std::bad_alloc); +void *operator new[] (size_t) throw (std::bad_alloc); void operator delete (void *) throw(); void operator delete[] (void *) throw(); +void *operator new (size_t, const nothrow_t&) throw(); +void *operator new[] (size_t, const nothrow_t&) throw(); +void operator delete (void *, const nothrow_t&) throw(); +void operator delete[] (void *, const nothrow_t&) throw(); // default placement versions of operator new inline void *operator new(size_t, void *place) throw() { return place; } |