p15.cpp revision 762bb9d0ad20320b9f97a841dce57ba5e8e48b07
1// RUN: %clang_cc1 -std=c++11 -fexceptions -fcxx-exceptions -fsyntax-only -verify %s 2 3// Deallocation functions are implicitly noexcept. 4// Thus, explicit specs aren't allowed to conflict. 5 6void f() { 7 // Force implicit declaration of delete. 8 delete new int; 9 delete[] new int[1]; 10} 11 12void operator delete(void*) noexcept; 13void operator delete[](void*) noexcept; 14 15// Same goes for explicit declarations. 16void operator delete(void*, float); 17void operator delete(void*, float) noexcept; 18 19void operator delete[](void*, float); 20void operator delete[](void*, float) noexcept; 21 22// But explicit specs stay. 23void operator delete(void*, double) throw(int); // expected-note {{previous}} 24void operator delete(void*, double) noexcept; // expected-error {{does not match}} 25