brintos

brintos / llvm-project-archived public Read only

0
0
Text · 447 B · 424fa90 Raw
36 lines · cpp
1struct Empty {};2 3namespace basic {4struct Foo {5  [[no_unique_address]] Empty a;6};7} // namespace basic8 9namespace bases {10struct A {11  long c, d;12};13 14struct B {15  [[no_unique_address]] Empty x;16};17 18struct C {19  [[no_unique_address]] Empty x;20};21 22struct Foo : B, A, C {};23struct Bar : B, C, A {};24} // namespace bases25 26int 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