// RUN: %clang_cc1 -fsyntax-only -fexceptions -fcxx-exceptions -verify -std=c++98 %s
// RUN: %clang_cc1 -fsyntax-only -fexceptions -fcxx-exceptions -verify -std=c++11 %s
// RUN: %clang_cc1 -fsyntax-only -fexceptions -fcxx-exceptions -verify %s
int *
void
void* operator new throw;
// expected-note@-2 {{previous declaration}}
void* operator new throw;
void operator delete throw; // expected-note{{previous declaration}}
void operator delete[] throw;
void* operator new;
// expected-warning@-2 {{'operator new' is missing exception specification 'throw(std::bad_alloc)'}}
void operator delete;
// expected-warning@-2 {{'operator delete' is missing exception specification 'throw()'}}
// expected-warning@-4 {{previously declared with an explicit exception specification redeclared with an implicit}}