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)19 tests_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)30 main (void)
31 {
32   double x = tests_infinity_d ();
33   if (x == 0.0)
34     __builtin_abort ();
35   return 0;
36 }
37