modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/builtins/20010124-1.c (about) 1 /* Verify that structure return doesn't invoke memcpy on 2 overlapping objects. */ 3 4 extern void abort (void); 5 6 struct S { 7 char stuff[1024]; 8 }; 9 10 union U { 11 struct { 12 int space; 13 struct S s; 14 } a; 15 struct { 16 struct S s; 17 int space; 18 } b; 19 }; 20 21 struct S f(struct S *); 22 void g(union U *); 23 24 void main_test(void) 25 { 26 union U u; 27 u.b.s = f(&u.a.s); 28 u.a.s = f(&u.b.s); 29 g(&u); 30 }