1 /* { dg-do run } */ 2 3 extern void abort(void); 4 struct a 5 { 6 unsigned int bits : 1; 7 signed long val : ((sizeof(long) * 8) - 1); 8 }; Fnegate(struct a b)9int Fnegate (struct a b) 10 { 11 if ((-((long)b.val)) <= ((long) ((1UL << ((sizeof(long) * 8) - 2)) -1UL)) 12 && (-((long)b.val)) >= (-(((long) ((1UL << ((sizeof(long) * 8) - 2)) -1UL))) - 1)) 13 return 0 ; 14 abort (); 15 } main()16int main () 17 { 18 struct a b = {1, 1}; 19 Fnegate (b); 20 return 0; 21 } 22 23