1 /* PR target/91472 */ 2 /* Reported by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> */ 3 4 typedef unsigned int gmp_uint_least32_t; 5 6 union ieee_double_extract 7 { 8 struct 9 { 10 gmp_uint_least32_t sig:1; 11 gmp_uint_least32_t exp:11; 12 gmp_uint_least32_t manh:20; 13 gmp_uint_least32_t manl:32; 14 } s; 15 double d; 16 }; 17 18 double __attribute__((noipa)) tests_infinity_d(void)19tests_infinity_d (void) 20 { 21 union ieee_double_extract x; 22 x.s.exp = 2047; 23 x.s.manl = 0; 24 x.s.manh = 0; 25 x.s.sig = 0; 26 return x.d; 27 } 28 29 int main(void)30main (void) 31 { 32 double x = tests_infinity_d (); 33 if (x == 0.0) 34 __builtin_abort (); 35 return 0; 36 } 37