Add standard throw() spec to delete operators.
Without these specs, clang will reports mismatch between standard definitions and these declarations/definitions. These specs are ignored when compiled with -fno-exceptions. BUG: 17136236 Change-Id: I386c712a61dc4fc74dfde45f9ec2d3d037f2e9f1
This commit is contained in:
parent
a4a8c4feb8
commit
ae558d6b4b
@ -38,11 +38,11 @@ void* operator new[](std::size_t size) {
|
||||
return p;
|
||||
}
|
||||
|
||||
void operator delete(void* ptr) {
|
||||
void operator delete(void* ptr) throw() {
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void operator delete[](void* ptr) {
|
||||
void operator delete[](void* ptr) throw() {
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
@ -54,10 +54,10 @@ void* operator new[](std::size_t size, const std::nothrow_t&) {
|
||||
return malloc(size);
|
||||
}
|
||||
|
||||
void operator delete(void* ptr, const std::nothrow_t&) {
|
||||
void operator delete(void* ptr, const std::nothrow_t&) throw() {
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void operator delete[](void* ptr, const std::nothrow_t&) {
|
||||
void operator delete[](void* ptr, const std::nothrow_t&) throw() {
|
||||
free(ptr);
|
||||
}
|
||||
|
@ -13,19 +13,19 @@ namespace std {
|
||||
|
||||
void* operator new(std::size_t);
|
||||
void* operator new[](std::size_t);
|
||||
void operator delete(void*);
|
||||
void operator delete[](void*);
|
||||
void operator delete(void*) throw();
|
||||
void operator delete[](void*) throw();
|
||||
void* operator new(std::size_t, const std::nothrow_t&);
|
||||
void* operator new[](std::size_t, const std::nothrow_t&);
|
||||
void operator delete(void*, const std::nothrow_t&);
|
||||
void operator delete[](void*, const std::nothrow_t&);
|
||||
void operator delete(void*, const std::nothrow_t&) throw();
|
||||
void operator delete[](void*, const std::nothrow_t&) throw();
|
||||
|
||||
inline void* operator new(std::size_t, void* p) { return p; }
|
||||
inline void* operator new[](std::size_t, void* p) { return p; }
|
||||
|
||||
// these next two are not really required, since exceptions are off
|
||||
inline void operator delete(void*, void*) { }
|
||||
inline void operator delete[](void*, void*) { }
|
||||
inline void operator delete(void*, void*) throw() { }
|
||||
inline void operator delete[](void*, void*) throw() { }
|
||||
|
||||
} // extern C++
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user