From 952c15dd52a004861edea256479ad80de3148263 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Tue, 21 Jul 2009 19:28:10 +0000 Subject: Misc fixes for -Wreorder: 1. Make it work correctly with anonymous unions. 2. Don't compute it if the warning isn't enabled. 3. Optimize the algorithm slightly to make it linear time in the case where we don't produce any warnings. llvm-svn: 76630 --- clang/test/SemaCXX/warn-reorder-ctor-initialization.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'clang/test/SemaCXX/warn-reorder-ctor-initialization.cpp') diff --git a/clang/test/SemaCXX/warn-reorder-ctor-initialization.cpp b/clang/test/SemaCXX/warn-reorder-ctor-initialization.cpp index 107c89355e6..a1990329ace 100644 --- a/clang/test/SemaCXX/warn-reorder-ctor-initialization.cpp +++ b/clang/test/SemaCXX/warn-reorder-ctor-initialization.cpp @@ -73,4 +73,17 @@ struct X : public virtual A, virtual V, public virtual B { // expected-note {{base 'struct V'}} }; - +class Anon { + int c; union {int a,b;}; int d; + Anon() : c(10), b(1), d(2) {} +}; +class Anon2 { + int c; union {int a,b;}; int d; + Anon2() : c(2), + d(10), // expected-warning {{member 'd' will be initialized after}} + b(1) {} // expected-note {{field b}} +}; +class Anon3 { + union {int a,b;}; + Anon3() : b(1) {} +}; -- cgit v1.2.3