diff options
-rw-r--r-- | clang/test/SemaCXX/empty-class-layout.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/empty-class-layout.cpp b/clang/test/SemaCXX/empty-class-layout.cpp index 27f5040e187..7d4e66c45ff 100644 --- a/clang/test/SemaCXX/empty-class-layout.cpp +++ b/clang/test/SemaCXX/empty-class-layout.cpp @@ -84,3 +84,29 @@ class F : D, E { }; SA(0, sizeof(F) == 24); } + +namespace Test2 { + +// Test that B::a isn't laid out at offset 0. +struct Empty { }; +struct A : Empty { }; +struct B : Empty { + A a; +}; + +SA(0, sizeof(B) == 2); + +} + +namespace Test3 { + +// Test that B::a isn't laid out at offset 0. +struct Empty { }; +struct A { Empty e; }; +struct B : Empty { + A a; +}; + +SA(0, sizeof(B) == 2); + +} |