aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/empty-class-layout.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-01-12 23:48:56 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-01-12 23:48:56 +0000
commit83be12c8638a5136b937e602b3a9e25f4bc8e50d (patch)
treec334b24b80e700a073a6db969f59d9f6805efb83 /test/SemaCXX/empty-class-layout.cpp
parentcd7a21b85ec94f9bddded4ed990dd2e2019011ab (diff)
Recommit r148056 with fixes to deal with weirdness with bitfields in unions.
Original message: Make sure adding a field to a struct never reduces its size. PR11745. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148070 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/empty-class-layout.cpp')
-rw-r--r--test/SemaCXX/empty-class-layout.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/SemaCXX/empty-class-layout.cpp b/test/SemaCXX/empty-class-layout.cpp
index 0b46bf045a..c68f2bb6fb 100644
--- a/test/SemaCXX/empty-class-layout.cpp
+++ b/test/SemaCXX/empty-class-layout.cpp
@@ -144,3 +144,14 @@ struct B : Empty, A { };
SA(0, sizeof(B) == 16);
}
+
+namespace Test7 {
+ // Make sure we reserve enough space for both bases; PR11745.
+ struct Empty { };
+ struct Base1 : Empty { };
+ struct Base2 : Empty { };
+ struct Test : Base1, Base2 {
+ char c;
+ };
+ SA(0, sizeof(Test) == 2);
+}