From cae5482f6c219d2be7d001c1a2d201fbd56d5cf7 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Tue, 30 Jun 2009 21:52:59 +0000 Subject: Diagnose multiple initialization of anonymous union fields in the ctor-initializer list. llvm-svn: 74554 --- clang/test/SemaCXX/constructor-initializer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'clang/test/SemaCXX/constructor-initializer.cpp') diff --git a/clang/test/SemaCXX/constructor-initializer.cpp b/clang/test/SemaCXX/constructor-initializer.cpp index d8b95cec4cd..7fd748b8d34 100644 --- a/clang/test/SemaCXX/constructor-initializer.cpp +++ b/clang/test/SemaCXX/constructor-initializer.cpp @@ -66,3 +66,11 @@ struct Z : S { Z() : S(), X(), E() {} // expected-error {{type 'class E' is not a direct or virtual base of 'Z'}} }; +class U { + union { int a; char* p; }; + union { int b; double d; }; + + U() : a(1), p(0), d(1.0) {} // expected-error {{multiple initializations given for non-static member 'p'}} \ + // expected-note {{previous initialization is here}} +}; + -- cgit v1.2.3