1284184Sdim/* { dg-do link } */ 2284184Sdim/* { dg-options "-ffinite-math-only" } */ 3284184Sdim 4284184Sdimextern void link_error(void); 5284184Sdim 6284184Sdimfloat f; 7284184Sdimdouble d; 8284184Sdimlong double ld; 9284184Sdim 10284184Sdimint main() 11284184Sdim{ 12284184Sdim if (__builtin_isunordered (f, f) != 0) 13284184Sdim link_error (); 14284184Sdim if (__builtin_isunordered (d, d) != 0) 15284184Sdim link_error (); 16284184Sdim if (__builtin_isunordered (ld, ld) != 0) 17284184Sdim link_error (); 18284184Sdim 19284184Sdim if (__builtin_isnan (f) != 0) 20284184Sdim link_error (); 21284184Sdim if (__builtin_isnan (d) != 0) 22284184Sdim link_error (); 23284184Sdim if (__builtin_isnan (ld) != 0) 24284184Sdim link_error (); 25284184Sdim if (__builtin_isnanf (f) != 0) 26284184Sdim link_error (); 27284184Sdim if (__builtin_isnanl (ld) != 0) 28284184Sdim link_error (); 29284184Sdim 30284184Sdim if (__builtin_finite (f) != 1) 31284184Sdim link_error (); 32284184Sdim if (__builtin_finite (d) != 1) 33284184Sdim link_error (); 34284184Sdim if (__builtin_finite (ld) != 1) 35284184Sdim link_error (); 36284184Sdim if (__builtin_finitef (f) != 1) 37284184Sdim link_error (); 38284184Sdim if (__builtin_finitel (ld) != 1) 39284184Sdim link_error (); 40284184Sdim 41284184Sdim if (__builtin_isinf (f) != 0) 42284184Sdim link_error (); 43284184Sdim if (__builtin_isinf (d) != 0) 44284184Sdim link_error (); 45284184Sdim if (__builtin_isinf (ld) != 0) 46284184Sdim link_error (); 47284184Sdim 48284184Sdim if (__builtin_isfinite (f) != 1) 49284184Sdim link_error (); 50284184Sdim if (__builtin_isfinite (d) != 1) 51284184Sdim link_error (); 52284184Sdim if (__builtin_isfinite (ld) != 1) 53284734Sdim link_error (); 54284734Sdim 55284734Sdim if (f != f) 56284734Sdim link_error (); 57284734Sdim if (d != d) 58284184Sdim link_error (); 59284184Sdim if (ld != ld) 60284184Sdim link_error (); 61284184Sdim return 0; 62284184Sdim} 63284184Sdim