/* PR middle-end/89663 */

int irint (double);
long lrint (double);
long long llrint (double);
int iround (double);
long lround (double);
long long llround (double);
int iceil (double);
long lceil (double);
long long llceil (double);
int ifloor (double);
long lfloor (double);
long long llfloor (double);
int irintf (float);
long lrintf (float);
long long llrintf (float);
int iroundf (float);
long lroundf (float);
long long llroundf (float);
int iceilf (float);
long lceilf (float);
long long llceilf (float);
int ifloorf (float);
long lfloorf (float);
long long llfloorf (float);
int irintl (long double);
long lrintl (long double);
long long llrintl (long double);
int iroundl (long double);
long lroundl (long double);
long long llroundl (long double);
int iceill (long double);
long lceill (long double);
long long llceill (long double);
int ifloorl (long double);
long lfloorl (long double);
long long llfloorl (long double);

void
foo (long long *p)
{
  int (*fn) (int);
  int n = 0;
#define T(f) fn = (int (*) (int)) f; p[n++] = fn (1);
  T (irint)
  T (lrint)
  T (llrint)
  T (iround)
  T (lround)
  T (llround)
  T (iceil)
  T (lceil)
  T (llceil)
  T (ifloor)
  T (lfloor)
  T (llfloor)
  T (irintf)
  T (lrintf)
  T (llrintf)
  T (iroundf)
  T (lroundf)
  T (llroundf)
  T (iceilf)
  T (lceilf)
  T (llceilf)
  T (ifloorf)
  T (lfloorf)
  T (llfloorf)
  T (irintl)
  T (lrintl)
  T (llrintl)
  T (iroundl)
  T (lroundl)
  T (llroundl)
  T (iceill)
  T (lceill)
  T (llceill)
  T (ifloorl)
  T (lfloorl)
  T (llfloorl)
}
