// S : tags sym c++ $TAGS // S : expect --result valid // S : cc -o test.bc $CC_OPT $file // S : verify --symbolic $V_OPT test.bc // N : V : CC_OPT : V_OPT : TAGS : RESULT // V : v.Os : -Os : : : valid // V : v.O2 : -O2 : : : valid // V : v.O1 : -O1 : : : valid // V : v.O0 : -O0 : : min : valid #include #include struct S { int val; }; struct T { int val; }; struct U { T t; }; struct V { S s; U u; }; int main() { V a, b; int x = __lamp_any_i32(); a.s.val = x; b.u.t.val = a.s.val; assert( a.s.val == b.u.t.val ); }