diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/vaarg2.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/vaarg2.C | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/vaarg2.C b/gcc/testsuite/g++.old-deja/g++.pt/vaarg2.C new file mode 100644 index 000000000..ebdc5d7ec --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/vaarg2.C @@ -0,0 +1,26 @@ +// { dg-do assemble } +// Copyright (C) 2000 Free Software Foundation +// Contributed by Nathan Sidwell 22 June 2000 <nathan@codesourcery.com> + +// Origin GNATS bug report 63 from Kurt Garloff <garloff@tue.nl> +// We attempted to expand va_arg prematurely in a template function. + +#include <stdarg.h> + +template <class Type> +void PrintArgs (Type somearg, ...) +{ +va_list argp; +va_start (argp, somearg); +Type value; +while ( ( value = va_arg (argp, Type) ) > 0.0) + continue; +va_end (argp); +} + +int main (void) +{ +double dummy = 0; +PrintArgs (dummy, 1.0, 2.0, 3.0, -1.0); +return 0; +} |