modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/execute/pr66556.c (about) 1 /* { dg-do run } */ 2 3 extern void abort (void); 4 5 struct { 6 unsigned f2; 7 unsigned f3 : 15; 8 unsigned f5 : 3; 9 short f6; 10 } b = {0x7f8000, 6, 5, 0}, g = {8, 0, 5, 0}; 11 12 short d, l; 13 int a, c, h = 8; 14 volatile char e[237] = {4}; 15 short *f = &d; 16 short i[5] = {3}; 17 char j; 18 int *k = &c; 19 20 int 21 fn1 (unsigned p1) { return -p1; } 22 23 void 24 fn2 (char p1) 25 { 26 a = p1; 27 e[0]; 28 } 29 30 short 31 fn3 () 32 { 33 *k = 4; 34 return *f; 35 } 36 37 int 38 main () 39 { 40 41 unsigned m; 42 short *n = &i[4]; 43 44 m = fn1 ((h && j) <= b.f5); 45 l = m > g.f3; 46 *n = 3; 47 fn2 (b.f2 >> 15); 48 if ((a & 0xff) != 0xff) 49 abort (); 50 51 return 0; 52 }