1/* { dg-do run } */ 2 3extern void abort (void); 4 5struct { 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 12short d, l; 13int a, c, h = 8; 14volatile char e[237] = {4}; 15short *f = &d; 16short i[5] = {3}; 17char j; 18int *k = &c; 19 20int 21fn1 (unsigned p1) { return -p1; } 22 23void 24fn2 (char p1) 25{ 26 a = p1; 27 e[0]; 28} 29 30short 31fn3 () 32{ 33 *k = 4; 34 return *f; 35} 36 37int 38main () 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} 53