modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr42025-2.c (about) 1 typedef struct 2 { 3 void *p; 4 } Ptr; 5 6 struct A 7 { 8 int i; 9 union 10 { 11 Ptr p; 12 char *q; 13 } u; 14 }; 15 16 extern Ptr get_stuff (void); 17 extern void use_stuff (char *); 18 19 static void foo(struct A p, char *q) 20 { 21 if (p.i) 22 p.u.p = get_stuff (); 23 else 24 p.u.q = q; 25 26 use_stuff (p.u.q); 27 } 28 29 void bar(struct A *p, char *q) 30 { 31 foo(*p, q); 32 }