From cba9cc891222077a74ae04b60cd88c85f9e16f6a Mon Sep 17 00:00:00 2001 From: No Author Date: Mon, 17 Jun 2002 00:29:37 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create branch 'gcc-3_1-branch'. From-SVN: r54688 --- gcc/testsuite/g++.dg/opt/inline3.C | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 gcc/testsuite/g++.dg/opt/inline3.C diff --git a/gcc/testsuite/g++.dg/opt/inline3.C b/gcc/testsuite/g++.dg/opt/inline3.C new file mode 100644 index 000000000000..7199de09c0ab --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/inline3.C @@ -0,0 +1,40 @@ +// PR opt/6793 +// We failed to supress inlining of a varargs function when it's a template. +// { dg-do compile } +// { dg-options "-O3" } + +#include + +typedef __SIZE_TYPE__ size_t; + +template < class Type > class VectorNd +{ + size_t size; + Type *data; + public: + + VectorNd (size_t _size, size_t count, ...) + : size (_size) + { + data = new Type[size]; + + va_list ap; + + va_start (ap, count); + + for (size_t i = 0; i < count; i++) + data[i] = va_arg (ap, Type); + + va_end (ap); + } + + ~VectorNd () + { + delete [] data; + } +}; + +int main () +{ + VectorNd vector (3, 3, 1.0, 2.0, 3.0); +} -- 2.47.2