Make sure adding a field to a struct never reduces its size. PR11745.
llvm-svn: 148056
diff --git a/clang/test/SemaCXX/empty-class-layout.cpp b/clang/test/SemaCXX/empty-class-layout.cpp
index 0b46bf0..c68f2bb 100644
--- a/clang/test/SemaCXX/empty-class-layout.cpp
+++ b/clang/test/SemaCXX/empty-class-layout.cpp
@@ -144,3 +144,14 @@
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);
+}