diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/va-arg-17.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/va-arg-17.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c new file mode 100644 index 000000000..17850db14 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-17.c @@ -0,0 +1,37 @@ +#include <stdarg.h> + +typedef double TYPE; + +void vafunction (char *dummy, ...) +{ + va_list ap; + + va_start(ap, dummy); + if (va_arg (ap, TYPE) != 1.) + abort(); + if (va_arg (ap, TYPE) != 2.) + abort(); + if (va_arg (ap, TYPE) != 3.) + abort(); + if (va_arg (ap, TYPE) != 4.) + abort(); + if (va_arg (ap, TYPE) != 5.) + abort(); + if (va_arg (ap, TYPE) != 6.) + abort(); + if (va_arg (ap, TYPE) != 7.) + abort(); + if (va_arg (ap, TYPE) != 8.) + abort(); + if (va_arg (ap, TYPE) != 9.) + abort(); + va_end(ap); +} + + +int main (void) +{ + vafunction( "", 1., 2., 3., 4., 5., 6., 7., 8., 9. ); + exit(0); + return 0; +} |