This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Attachment: vt-testsuite-trunk-v2.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]