diff options
Diffstat (limited to 'gcc/testsuite/c-c++-common/dfp/pr36800.c')
-rw-r--r-- | gcc/testsuite/c-c++-common/dfp/pr36800.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/dfp/pr36800.c b/gcc/testsuite/c-c++-common/dfp/pr36800.c new file mode 100644 index 00000000000..76ff28c9815 --- /dev/null +++ b/gcc/testsuite/c-c++-common/dfp/pr36800.c @@ -0,0 +1,32 @@ +/* { dg-do run } */ + +#include <stdarg.h> +#include "dfp-dbg.h" + +void +f (int a, ...) +{ + va_list ap; + if (a != 0) + FAILURE + va_start (ap, a); + if (va_arg (ap, _Decimal128) != 1.2DL) + FAILURE + if (va_arg (ap, _Decimal128) != 2.34DL) + FAILURE + if (va_arg (ap, _Decimal128) != 3.456DL) + FAILURE + if (va_arg (ap, _Decimal128) != 4.567DL) + FAILURE + if (va_arg (ap, double) != 5.125) + FAILURE + va_end (ap); +} + +int +main (void) +{ + f (0, 1.2DL, 2.34DL, 3.456DL, 4.567DL, 5.125); + + FINISH +} |