/* { dg-do compile } */ /* { dg-options "-mdejagnu-cpu=power8 -Os -w" } */ /* { dg-additional-options "-mbig" { target powerpc64le-*-* } } */ /* Verify that we don't ICE. */ int a; static _Atomic long double b, c, d, m; double n; extern int foo (void); extern void bar (int, int, int, int); void bug (void) { b = 1.79769313486231580793728971405301199e308L; for (int i = 0; i < 10000; i++) if (__builtin_isinf (n)) b; c = 1; int e, f, g, h; while (a) ; for (int i; i; i++) { double j = c /= foo (); if (__builtin_isinf (j)) { if (foo == 1 << 31) e++; f++; c = 0; } else { if (foo == 1 << 30) g++; h++; c = 1; } } bar (e, f, g, h); d = 1.79769313486231580793728971405301199e308L; m = 1; }