1/* { dg-add-options ieee } */ 2/* { dg-skip-if "No Inf/NaN support" { spu-*-* } "*" "" } */ 3 4extern void abort (void); 5 6static inline int __attribute__((always_inline)) testf (float b) 7{ 8 float c = 1.01f * b; 9 10 return __builtin_isinff (c); 11} 12 13static inline int __attribute__((always_inline)) test (double b) 14{ 15 double c = 1.01 * b; 16 17 return __builtin_isinf (c); 18} 19 20static inline int __attribute__((always_inline)) testl (long double b) 21{ 22 long double c = 1.01L * b; 23 24 return __builtin_isinfl (c); 25} 26 27int main() 28{ 29 if (testf (__FLT_MAX__) < 1) 30 abort (); 31 32 if (test (__DBL_MAX__) < 1) 33 abort (); 34 35 if (testl (__LDBL_MAX__) < 1) 36 abort (); 37 38 return 0; 39} 40