modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20180131-1.c (about) 1 /* PR rtl-optimization/84071 */ 2 /* Reported by Wilco <wilco@gcc.gnu.org> */ 3 4 extern void abort (void); 5 6 typedef union 7 { 8 signed short ss; 9 unsigned short us; 10 int x; 11 } U; 12 13 int f(int x, int y, int z, int a, U u) __attribute__((noclone, noinline)); 14 15 int f(int x, int y, int z, int a, U u) 16 { 17 return (u.ss <= 0) + u.us; 18 } 19 20 int main (void) 21 { 22 U u = { .ss = -1 }; 23 24 if (f (0, 0, 0, 0, u) != (1 << sizeof (short) * 8)) 25 abort (); 26 27 return 0; 28 }