modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr89663-2.c (about)

     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
    41  foo (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  }