1 /* The bit-field below would have a problem if __INT_MAX__ is too 2 small. */ 3 #if __INT_MAX__ < 2147483647 4 int main(void)5main (void) 6 { 7 exit (0); 8 } 9 #else 10 /* Failed on powerpc due to bad extzvsi pattern. */ 11 12 struct ieee 13 { 14 unsigned int negative:1; 15 unsigned int exponent:11; 16 unsigned int mantissa0:20; 17 unsigned int mantissa1:32; 18 } x; 19 20 unsigned int foo(void)21foo (void) 22 { 23 unsigned int exponent; 24 25 exponent = x.exponent; 26 if (exponent == 0) 27 return 1; 28 else if (exponent > 1) 29 return 2; 30 return 0; 31 } 32 33 int main(void)34main (void) 35 { 36 x.exponent = 1; 37 if (foo () != 0) 38 abort (); 39 return 0; 40 } 41 #endif 42