| /* The bit-field below would have a problem if __INT_MAX__ is too |
| small. */ |
| #if __INT_MAX__ < 2147483647 |
| int |
| main (void) |
| { |
| exit (0); |
| } |
| #else |
| /* Failed on powerpc due to bad extzvsi pattern. */ |
| |
| struct ieee |
| { |
| unsigned int negative:1; |
| unsigned int exponent:11; |
| unsigned int mantissa0:20; |
| unsigned int mantissa1:32; |
| } x; |
| |
| unsigned int |
| foo (void) |
| { |
| unsigned int exponent; |
| |
| exponent = x.exponent; |
| if (exponent == 0) |
| return 1; |
| else if (exponent > 1) |
| return 2; |
| return 0; |
| } |
| |
| int |
| main (void) |
| { |
| x.exponent = 1; |
| if (foo () != 0) |
| abort (); |
| return 0; |
| } |
| #endif |