39 lines
609 B
C
39 lines
609 B
C
/* { dg-add-options ieee } */
|
|
|
|
extern void abort (void);
|
|
|
|
static inline int __attribute__((always_inline)) testf (float b)
|
|
{
|
|
float c = 1.01f * b;
|
|
|
|
return __builtin_isinff (c);
|
|
}
|
|
|
|
static inline int __attribute__((always_inline)) test (double b)
|
|
{
|
|
double c = 1.01 * b;
|
|
|
|
return __builtin_isinf (c);
|
|
}
|
|
|
|
static inline int __attribute__((always_inline)) testl (long double b)
|
|
{
|
|
long double c = 1.01L * b;
|
|
|
|
return __builtin_isinfl (c);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
if (testf (__FLT_MAX__) < 1)
|
|
abort ();
|
|
|
|
if (test (__DBL_MAX__) < 1)
|
|
abort ();
|
|
|
|
if (testl (__LDBL_MAX__) < 1)
|
|
abort ();
|
|
|
|
return 0;
|
|
}
|