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 (2/3)


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

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

Several of the facilities in the C++ Library TR1 just can't be implemented well without variadic templates. Our current implementation uses some disgusting, barely-maintainable preprocessor metaprogramming to give a poor approximation of these libraries. Variadic templates will help us improve compile times, simplify the code, and provide a more flexible TR1 implementation than any other compiler can.

More information about variadic templates is available here:

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

This is part 2 of 3 of variadic templates support. It contains the command-line options processing logic and documentation.

Tested on mainline with powerpc-apple-darwin8.7.0; no new regressions.

	Doug Gregor
	Open Systems Lab @ Indiana University


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


	PR c++/20599
	* doc/cpp.texi: Document _VARIADIC_TEMPLATES macro.
	* doc/invoke.texi: Document -W(no-)variadic-templates.
	* c-cppbuiltin.c (c_cpp_builtins): Define __VARIADIC_TEMPLATES
	when we aren't complaining about them.
	* c.opt: Add -W(no-)variadic templates.
	* c-opts.c (c_common_handle_option): Handle
	-W(no-)variadic-templates.
	Warn about variadic-templates when in pedantic C++ mode.
	(c_common_post_options): By default, do not warn about variadic
	templates.
	* c-common.c (warn_variadic_templates): New.
	* c-common.h (warn_variadic_templates): Declare.

Attachment: vt-gcc-trunk.patch
Description: Binary data


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