C++ PATCH: PR 20599 (variadic templates, take two) (3/4)

Douglas Gregor doug.gregor@gmail.com
Tue Sep 19 14:56:00 GMT 2006


This patch addresses PR c++/20599 by introducing support for variadic
templates:

        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20599

This is a revised version of the patch posted previously. It  
addresses several bugs in the original patch and includes changes to  
libstdc++ that use variadic templates for the implementation of  
Library TR1 tuples and function objects. In particular, the changes  
from the first patch are:
	- Warn about variadic templates by default; -Wno-variadic-templates  
turns off this warning.
	- Support printing parameter packs in function types (for error  
messages)
	- Support for nested expansion of parameter packs.
	- Tighter error checking.

More information about variadic templates is available here:

        http://www.generic-programming.org/~dgregor/cpp/variadic- 
templates.html

This is part 3 of 4. It contains all of the new compiler test cases.

Tested on mainline with powerpc-apply-darwin8.7.0 and i686-pc-linux- 
gnu; no new regressions. All new tests pass.

	Doug Gregor
	Open Systems Lab @ Indiana University

2006-09-19	Douglas Gregor <doug.gregor@gmail.com>

	PR c++/20599
	* g++.dg/template/variadic-bind.C: New.
	* g++.dg/template/variadic-function.C: New.
	* g++.dg/template/variadic-mem_fn.C: New.
	* g++.dg/template/variadic-tuple.C: New.
	* g++.dg/template/variadic1.C: New.
	* g++.dg/template/variadic2.C: New.
	* g++.dg/template/variadic3.C: New.
	* g++.dg/template/variadic4.C: New.
	* g++.dg/template/variadic5.C: New.
	* g++.dg/template/variadic6.C: New.
	* g++.dg/template/variadic7.C: New.
	* g++.dg/template/variadic8.C: New.
	* g++.dg/template/variadic9.C: New.
	* g++.dg/template/variadic10.C: New.
	* g++.dg/template/variadic11.C: New.
	* g++.dg/template/variadic12.C: New.
	* g++.dg/template/variadic13.C: New.
	* g++.dg/template/variadic14.C: New.
	* g++.dg/template/variadic15.C: New.
	* g++.dg/template/variadic16.C: New.
	* g++.dg/template/variadic17.C: New.
	* g++.dg/template/variadic18.C: New.
	* g++.dg/template/variadic19.C: New.
	* g++.dg/template/variadic20.C: New.
	* g++.dg/template/variadic21.C: New.
	* g++.dg/template/variadic22.C: New.
	* g++.dg/template/variadic23.C: New.
	* g++.dg/template/variadic24.C: New.
	* g++.dg/template/variadic25.C: New.
	* g++.dg/template/variadic26.C: New.
	* g++.dg/template/variadic27.C: New.
	* g++.dg/template/variadic28.C: New.
	* g++.dg/template/variadic29.C: New.
	* g++.dg/template/variadic30.C: New.
	* g++.dg/template/variadic31.C: New.
	* g++.dg/template/variadic32.C: New.
	* g++.dg/template/variadic33.C: New.
	* g++.dg/template/variadic34.C: New.
	* g++.dg/template/variadic35.C: New.
	* g++.dg/template/variadic36.C: New.
	* g++.dg/template/variadic37.C: New.
	* g++.dg/template/variadic38.C: New.
	* g++.dg/template/variadic39.C: New.
	* g++.dg/template/variadic40.C: New.
	* g++.dg/template/variadic41.C: New.
	* g++.dg/template/variadic42.C: New.
	* g++.dg/template/variadic43.C: New.
	* g++.dg/template/variadic44.C: New.
	* g++.dg/template/variadic45.C: New.
	* g++.dg/template/variadic46.C: New.
	* g++.dg/template/variadic47.C: New.
	* g++.dg/template/variadic48.C: New.
	* g++.dg/template/variadic49.C: New.
	* g++.dg/template/variadic50.C: New.
	* g++.dg/template/variadic51.C: New.
	* g++.dg/template/variadic52.C: New.
	* g++.dg/template/variadic53.C: New.
	* g++.dg/template/variadic54.C: New.
	* g++.dg/template/variadic55.C: New.
	* g++.dg/template/variadic56.C: New.
	* g++.dg/template/variadic57.C: New.
	* g++.dg/template/variadic58.C: New.
	* g++.dg/template/variadic59.C: New.
         * g++.dg/template/variadic60.C : New.
         * g++.dg/template/variadic61.C : New.
         * g++.dg/template/variadic62.C : New.
         * g++.dg/template/variadic63.C : New.
         * g++.dg/template/variadic64.C : New.
         * g++.dg/template/variadic65.C : New.
         * g++.dg/template/variadic66.C : New.
         * g++.dg/template/variadic67.C : New.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: vt-testsuite-trunk-v2.patch
Type: application/octet-stream
Size: 67180 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060919/328bdd7a/attachment.obj>


More information about the Gcc-patches mailing list