2 /* { dg-options "-std=gnu99" } */
4 /* C99 6.5.2.2 Function calls.
5 Test scalar passing and return values involving decimal floating
8 extern void abort (void);
10 /* A handful of functions that return their Nth _Decimal32
14 arg0_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
15 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
21 arg1_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
22 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
28 arg2_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
29 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
35 arg3_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
36 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
42 arg4_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
43 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
49 arg5_32 (_Decimal32 arg0, _Decimal32 arg1, _Decimal32 arg2,
50 _Decimal32 arg3, _Decimal32 arg4, _Decimal32 arg5)
56 /* A handful of functions that return their Nth _Decimal64
60 arg0_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
61 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
67 arg1_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
68 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
74 arg2_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
75 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
81 arg3_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
82 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
88 arg4_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
89 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
95 arg5_64 (_Decimal64 arg0, _Decimal64 arg1, _Decimal64 arg2,
96 _Decimal64 arg3, _Decimal64 arg4, _Decimal64 arg5)
102 /* A handful of functions that return their Nth _Decimal128
106 arg0_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
107 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
113 arg1_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
114 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
120 arg2_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
121 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
127 arg3_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
128 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
134 arg4_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
135 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
141 arg5_128 (_Decimal128 arg0, _Decimal128 arg1, _Decimal128 arg2,
142 _Decimal128 arg3, _Decimal128 arg4, _Decimal128 arg5)
152 /* _Decimal32 variants. */
153 if (arg0_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 0.0df)
155 if (arg1_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 1.0df)
157 if (arg2_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 2.0df)
159 if (arg3_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 3.0df)
161 if (arg4_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 4.0df)
163 if (arg5_32 (0.0df, 1.0df, 2.0df, 3.0df, 4.0df, 5.0df) != 5.0df)
166 /* _Decimal64 variants. */
167 if (arg0_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 0.0dd)
169 if (arg1_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 1.0dd)
171 if (arg2_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 2.0dd)
173 if (arg3_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 3.0dd)
175 if (arg4_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 4.0dd)
177 if (arg5_64 (0.0dd, 1.0dd, 2.0dd, 3.0dd, 4.0dd, 5.0dd) != 5.0dd)
180 /* _Decimal128 variants. */
181 if (arg0_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 0.0dl)
183 if (arg1_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 1.0dl)
185 if (arg2_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 2.0dl)
187 if (arg3_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 3.0dl)
189 if (arg4_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 4.0dl)
191 if (arg5_128 (0.0dl, 1.0dl, 2.0dl, 3.0dl, 4.0dl, 5.0dl) != 5.0dl)