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