1 /* { dg-do link } */
2 /* { dg-options "-O2 -ffast-math" } */
3 /* { dg-require-effective-target c99_runtime } */
4 
5 extern int ilogbf (float);
6 extern float logbf (float);
7 extern int ilogb (double);
8 extern double logb (double);
9 extern int ilogbl (long double);
10 extern long double logbl (long double);
11 
12 extern void link_error(void);
13 
testf(float x)14 void testf(float x)
15 {
16   if ((int) logbf (x) != ilogbf (x))
17     link_error ();
18 }
19 
test(double x)20 void test(double x)
21 {
22   if ((int) logb (x) != ilogb (x))
23     link_error ();
24 }
25 
testl(long double x)26 void testl(long double x)
27 {
28   if ((int) logbl (x) != ilogbl (x))
29     link_error ();
30 }
31 
main()32 int main()
33 {
34   testf (2.0f);
35   test (2.0);
36   testl (2.0l);
37 
38   return 0;
39 }
40 
41