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