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