aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/empty-class-layout.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-01-12 22:41:25 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-01-12 22:41:25 +0000
commita1796826729ba8c73c32dd49fa4945ff3cb12039 (patch)
tree9b708cdc4d1e3329c625793f4f66289ae638c839 /test/SemaCXX/empty-class-layout.cpp
parent3d33622cf50fe8bd2f10e71b9135bc5c74b1786e (diff)
Make sure adding a field to a struct never reduces its size. PR11745.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148056 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);
+}