/* PR c/89520 */
/* { dg-do compile } */
/* { dg-options "-Ofast -w" } */

#define A(name) __typeof (__builtin_##name (0)) name (); \
  float name##1 () { return name (); } \
  double name##2 () { return name (); }
#define B(name) A(name) A(name##l)
B (cosh)
B (exp)
B (exp10)
B (exp2)
B (expm1)
B (gamma)
B (j0)
B (j1)
B (lgamma)
B (pow10)
B (sinh)
B (tgamma)
B (y0)
B (y1)
B (acos)
B (acosh)
B (asin)
B (asinh)
B (atan)
B (atanh)
B (cbrt)
B (cos)
B (erf)
B (erfc)
B (log)
B (log10)
B (log2)
B (log1p)
B (sin)
B (tan)
B (tanh)
B (sqrt)
B (fabs)
B (logb)
