modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/20010605-2.c (about) 1 /* Origin: Joseph Myers <jsm28@cam.ac.uk>. */ 2 /* As an extension, GCC allows a struct or union to be cast to its own 3 type, but failed to allow this when a typedef was involved. 4 Reported as PR c/2735 by <cowan@ccil.org>. */ 5 union u { int i; }; 6 typedef union u uu; 7 union u a; 8 uu b; 9 10 void 11 foo (void) 12 { 13 a = (union u) b; 14 a = (uu) b; 15 b = (union u) a; 16 b = (uu) a; 17 }