1 struct M; 2 3 struct S { 4 int x; 5 M * m; 6 int y; 7 }; 8 9 struct M { 10 int a; 11 S * s; 12 }; 13 14 struct T { 15 S s; 16 int a; 17 }; 18 19 struct U { 20 struct { 21 S s; 22 }; 23 int r; 24 }; 25 reg1(S *,T *,T *)26 void reg1(S*, T*, T*) { } reg2(U *)27 void reg2(U*) { } 28