Further adjustments to -Wglobal-constructors; works for references and direct
initializations now.
llvm-svn: 110063
diff --git a/clang/test/SemaCXX/warn-global-constructors.cpp b/clang/test/SemaCXX/warn-global-constructors.cpp
index c407e40..a9347ea 100644
--- a/clang/test/SemaCXX/warn-global-constructors.cpp
+++ b/clang/test/SemaCXX/warn-global-constructors.cpp
@@ -22,6 +22,11 @@
A b = A();
A c = { 10 };
A d = { opaque_int() }; // expected-warning {{global constructor}}
+ A e = A(A());
+ A f = A(a); // expected-warning {{global constructor}}
+ A g(a); // expected-warning {{global constructor}}
+ A h((A())); // expected-warning {{global constructor}}
+ A i((A(A()))); // expected-warning {{global constructor}}
}
namespace test2 {
@@ -30,10 +35,9 @@
A b[10]; // expected-warning {{global constructor}}
A c[10][10]; // expected-warning {{global constructor}}
- // FIXME: false positives!
- A &d = a; // expected-warning {{global constructor}}
- A &e = b[5]; // expected-warning {{global constructor}}
- A &f = c[5][7]; // expected-warning {{global constructor}}
+ A &d = a;
+ A &e = b[5];
+ A &f = c[5][7];
}
namespace test3 {
@@ -42,10 +46,9 @@
A b[10]; // expected-warning {{global destructor}}
A c[10][10]; // expected-warning {{global destructor}}
- // FIXME: false positives!
- A &d = a; // expected-warning {{global constructor}}
- A &e = b[5]; // expected-warning {{global constructor}}
- A &f = c[5][7]; // expected-warning {{global constructor}}
+ A &d = a;
+ A &e = b[5];
+ A &f = c[5][7];
}
namespace test4 {