FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / g++.dg / opt / inline3.C
blob7199de09c0ab96a30bfac469765918501166d773
1 // PR opt/6793
2 // We failed to supress inlining of a varargs function when it's a template.
3 // { dg-do compile }
4 // { dg-options "-O3" }
6 #include <stdarg.h>
8 typedef __SIZE_TYPE__ size_t;
10 template < class Type > class VectorNd
12   size_t size;
13   Type *data;
14  public:
16   VectorNd (size_t _size, size_t count, ...)
17         : size (_size)
18   {
19     data = new Type[size];
21     va_list ap;
23     va_start (ap, count);
25     for (size_t i = 0; i < count; i++)
26       data[i] = va_arg (ap, Type);
28     va_end (ap);
29   }
31   ~VectorNd ()
32   {
33     delete [] data;
34   }
37 int main ()
39   VectorNd <double> vector (3, 3, 1.0, 2.0, 3.0);