1 /* PR middle-end/89663 */ 2 3 int irint (double); 4 long lrint (double); 5 long long llrint (double); 6 int iround (double); 7 long lround (double); 8 long long llround (double); 9 int iceil (double); 10 long lceil (double); 11 long long llceil (double); 12 int ifloor (double); 13 long lfloor (double); 14 long long llfloor (double); 15 int irintf (float); 16 long lrintf (float); 17 long long llrintf (float); 18 int iroundf (float); 19 long lroundf (float); 20 long long llroundf (float); 21 int iceilf (float); 22 long lceilf (float); 23 long long llceilf (float); 24 int ifloorf (float); 25 long lfloorf (float); 26 long long llfloorf (float); 27 int irintl (long double); 28 long lrintl (long double); 29 long long llrintl (long double); 30 int iroundl (long double); 31 long lroundl (long double); 32 long long llroundl (long double); 33 int iceill (long double); 34 long lceill (long double); 35 long long llceill (long double); 36 int ifloorl (long double); 37 long lfloorl (long double); 38 long long llfloorl (long double); 39 40 void foo(long long * p)41foo (long long *p) 42 { 43 int (*fn) (int); 44 int n = 0; 45 #define T(f) fn = (int (*) (int)) f; p[n++] = fn (1); 46 T (irint) 47 T (lrint) 48 T (llrint) 49 T (iround) 50 T (lround) 51 T (llround) 52 T (iceil) 53 T (lceil) 54 T (llceil) 55 T (ifloor) 56 T (lfloor) 57 T (llfloor) 58 T (irintf) 59 T (lrintf) 60 T (llrintf) 61 T (iroundf) 62 T (lroundf) 63 T (llroundf) 64 T (iceilf) 65 T (lceilf) 66 T (llceilf) 67 T (ifloorf) 68 T (lfloorf) 69 T (llfloorf) 70 T (irintl) 71 T (lrintl) 72 T (llrintl) 73 T (iroundl) 74 T (lroundl) 75 T (llroundl) 76 T (iceill) 77 T (lceill) 78 T (llceill) 79 T (ifloorl) 80 T (lfloorl) 81 T (llfloorl) 82 } 83