aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.old-deja/g++.pt/vaarg2.C
blob: ebdc5d7ec3f774c5f770e44e605530c0012b1c57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
}