1669eaf959ae5e8072246787ac725328880ba79c
1 /* C99 6.5.2.2 Function calls.
2 Test passing varargs of the combination of decimal float types and
8 /* Supposing the list of varying number of arguments is:
9 unsigned int, _Decimal128, double, _Decimal32, _Decimal64. */
12 vararg_d32 (unsigned arg
, ...)
19 va_arg (ap
, unsigned int);
20 va_arg (ap
, _Decimal128
);
22 result
= va_arg (ap
, _Decimal32
);
29 vararg_d64 (unsigned arg
, ...)
36 va_arg (ap
, unsigned int);
37 va_arg (ap
, _Decimal128
);
39 va_arg (ap
, _Decimal32
);
40 result
= va_arg (ap
, _Decimal64
);
47 vararg_d128 (unsigned arg
, ...)
54 va_arg (ap
, unsigned int);
55 result
= va_arg (ap
, _Decimal128
);
62 vararg_int (unsigned arg
, ...)
69 result
= va_arg (ap
, unsigned int);
76 vararg_double (unsigned arg
, ...)
83 va_arg (ap
, unsigned int);
84 va_arg (ap
, _Decimal128
);
85 result
= va_arg (ap
, double);
95 if (vararg_d32 (3, 0, 1.0dl
, 2.0, 3.0df
, 4.0dd
) != 3.0df
) FAILURE
96 if (vararg_d64 (4, 0, 1.0dl
, 2.0, 3.0df
, 4.0dd
) != 4.0dd
) FAILURE
97 if (vararg_d128 (1, 0, 1.0dl
, 2.0, 3.0df
, 4.0dd
) != 1.0dl
) FAILURE
98 if (vararg_int (0, 0, 1.0dl
, 2.0, 3.0df
, 4.0dd
) != 0) FAILURE
99 if (vararg_double (2, 0, 1.0dl
, 2.0, 3.0df
, 4.0dd
) != 2.0) FAILURE