blob: f49134b71c971afb21fede007fe79c2276e3bc99 [file] [log] [blame]
Anders Carlsson2b32dad2011-03-24 01:01:41 +00001// RUN: %clang_cc1 -fsyntax-only -Wexit-time-destructors %s -verify
2
3namespace test1 {
4 struct A { ~A(); };
5 A a; // expected-warning {{declaration requires an exit-time destructor}}
6 A b[10]; // expected-warning {{declaration requires an exit-time destructor}}
7 A c[10][10]; // expected-warning {{declaration requires an exit-time destructor}}
8
9 A &d = a;
10 A &e = b[5];
11 A &f = c[5][7];
12}
13
14namespace test2 {
15void f() {
16 struct A { ~A() { } };
17
18 static A a; // expected-warning {{declaration requires an exit-time destructor}}
19 static A b[10]; // expected-warning {{declaration requires an exit-time destructor}}
20 static A c[10][10]; // expected-warning {{declaration requires an exit-time destructor}}
21
22 static A &d = a;
23 static A &e = b[5];
24 static A &f = c[5][7];
25}
26
27}