modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr43784.c (about) 1 struct s { 2 unsigned char a[256]; 3 }; 4 union u { 5 struct { struct s b; int c; } d; 6 struct { int c; struct s b; } e; 7 }; 8 9 static union u v; 10 static struct s *p = &v.d.b; 11 static struct s *q = &v.e.b; 12 13 static struct s __attribute__((noinline)) rp(void) 14 { 15 return *p; 16 } 17 18 static void qp(void) 19 { 20 *q = rp(); 21 } 22 23 int main() 24 { 25 int i; 26 for (i = 0; i < 256; i++) 27 p->a[i] = i; 28 qp(); 29 for (i = 0; i < 256; i++) 30 if (q->a[i] != i) 31 __builtin_abort(); 32 return 0; 33 }