modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20000603-1.c (about) 1 /* It is not clear whether this test is conforming. See DR#236 2 http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_236.htm. However, 3 there seems to be consensus that the presence of a union to aggregate 4 struct s1 and struct s2 should make it conforming. */ 5 struct s1 { double d; }; 6 struct s2 { double d; }; 7 union u { struct s1 x; struct s2 y; }; 8 9 double f(struct s1 *a, struct s2 *b) 10 { 11 a->d = 1.0; 12 return b->d + 1.0; 13 } 14 15 int main() 16 { 17 union u a; 18 a.x.d = 0.0; 19 if (f (&a.x, &a.y) != 2.0) 20 abort (); 21 return 0; 22 }