llvm-project/clang/test/SemaCXX/warn-exit-time-destructors.cpp
Anders Carlsson 98766db785 Add a new warning for exit-time destructors.
llvm-svn: 128188
2011-03-24 01:01:41 +00:00

28 lines
788 B
C++

// RUN: %clang_cc1 -fsyntax-only -Wexit-time-destructors %s -verify
namespace test1 {
struct A { ~A(); };
A a; // expected-warning {{declaration requires an exit-time destructor}}
A b[10]; // expected-warning {{declaration requires an exit-time destructor}}
A c[10][10]; // expected-warning {{declaration requires an exit-time destructor}}
A &d = a;
A &e = b[5];
A &f = c[5][7];
}
namespace test2 {
void f() {
struct A { ~A() { } };
static A a; // expected-warning {{declaration requires an exit-time destructor}}
static A b[10]; // expected-warning {{declaration requires an exit-time destructor}}
static A c[10][10]; // expected-warning {{declaration requires an exit-time destructor}}
static A &d = a;
static A &e = b[5];
static A &f = c[5][7];
}
}