xref: /llvm-project/clang/test/SemaCXX/empty-class-layout.cpp (revision bb66bc8e843d87dd452e37ec1e781ae9cd2a0e20)
1 // RUN: clang-cc -triple x86_64-unknown-unknown %s -fsyntax-only -verify
2 
3 #define SA(n, p) int a##n[(p) ? 1 : -1]
4 
5 struct A { int a; };
6 SA(0, sizeof(A) == 4);
7 
8 struct B { };
9 SA(1, sizeof(B) == 1);
10 
11 struct C : A, B { };
12 SA(2, sizeof(C) == 4);
13 
14 struct D { };
15 struct E : D { };
16 struct F : E { };
17 
18 struct G : E, F { };
19 SA(3, sizeof(G) == 2);
20