diff options
author | John McCall <rjmccall@apple.com> | 2010-05-20 23:23:51 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-05-20 23:23:51 +0000 |
commit | f1860e5c381a2710fcebe6d55d799c6b25c21041 (patch) | |
tree | 10e4fb232342b151e27bd87c116dd29edb8cc74a /test/CodeGenCXX/anonymous-union-member-initializer.cpp | |
parent | 4186ff4fc4102f63b7485c2bf89155d3b0899d32 (diff) |
Be sure to apply initializers to members of anonymous structs and unions
recursively, e.g. so that members of anonymous unions inside anonymous structs
still get initialized. Also generate default constructor calls for anonymous
struct members when necessary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104292 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/anonymous-union-member-initializer.cpp')
-rw-r--r-- | test/CodeGenCXX/anonymous-union-member-initializer.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/CodeGenCXX/anonymous-union-member-initializer.cpp b/test/CodeGenCXX/anonymous-union-member-initializer.cpp index adb395021e..bd816a4a44 100644 --- a/test/CodeGenCXX/anonymous-union-member-initializer.cpp +++ b/test/CodeGenCXX/anonymous-union-member-initializer.cpp @@ -34,3 +34,21 @@ namespace PR7021 { // CHECK: ret void } } + +namespace test2 { + struct A { + struct { + union { + int b; + }; + }; + + A(); + }; + + A::A() : b(10) { } + // CHECK: define void @_ZN5test21AC2Ev( + // CHECK-NOT: } + // CHECK: store i32 10 + // CHECK: } +} |