xref: /llvm-project/lldb/test/API/lang/cpp/no_unique_address/main.cpp (revision 9548dbedbc1b2bfb130c91df54e8007acb81e1b0)
1 struct Empty {};
2 
3 namespace basic {
4 struct Foo {
5   [[no_unique_address]] Empty a;
6 };
7 } // namespace basic
8 
9 namespace bases {
10 struct A {
11   long c, d;
12 };
13 
14 struct B {
15   [[no_unique_address]] Empty x;
16 };
17 
18 struct C {
19   [[no_unique_address]] Empty x;
20 };
21 
22 struct Foo : B, A, C {};
23 struct Bar : B, C, A {};
24 } // namespace bases
25 
26 int main() {
27   basic::Foo b1;
28   bases::Foo b2;
29   bases::Bar b3;
30   b2.c = 1;
31   b2.d = 2;
32   b3.c = 5;
33   b3.d = 6;
34   return 0;
35 }
36