Find a file
Dodji Seketeli d40a19da13 re PR debug/41266 (Emit DW_TAG_template_parameter_pack and DW_TAG_formal_parameter_pack)
Fix for PR debug/41266

ChangeLog:

	* include/dwarf2.h (enum dwarf_tag): Add
	DW_TAG_template_parameter_pack and DW_TAG_formal_parameter_pack.

gcc/ChangeLog:

	* dwarf2out.c (template_parameter_pack_die,
	gen_formal_parameter_pack_die ): New functions.
	(make_ith_pack_parameter_name): Remove this function.
	(dwarf_tag_name): Support printing DW_TAG_template_parameter_pack and
	DW_TAG_formal_parameter_pack.
	(gen_generic_params_dies): Represent each template parameter pack
	by a DW_TAG_template_parameter_pack DIE. Argument pack elements are
	represented by usual DW_TAG_template_*_parameter DIEs that are
	children of the DW_TAG_template_parameter_pack element DIE.
	(generic_parameter_die): This doesn't deal with parameter pack
	names anymore. Don't generate DW_AT_name for some DIEs, e.g. children of
	parameter pack DIEs.
	(gen_formal_parameter_die): Add a flag to not emit DW_AT_name
	in certain cases, e.g. for pack elements.
	(gen_formal_types_die, gen_decl_die): Adjust usage of
	gen_formal_parameter_die.
	(gen_subprogram_die): Represent each function parameter pack by a
	DW_TAG_formal_parameter_pack DIE. Arguments of of the pack are
	represented by usual DW_TAG_formal_parameter DIEs that are children
	of the DW_TAG_formal_parameter_pack DIE. Remove references to
	____builtin_va_alist decls as no part of the compiler uses those
	anymore.
	* langhooks.h (struct lang_hooks_for_decls): Add
	function_parm_expanded_from_pack_p, get_generic_function_decl
	and function_parameter_pack_p hooks.  Fix comment for
	get_innermost_generic_parms hook.
	* langhooks-def.h (LANG_HOOKS_FUNCTION_PARAMETER_PACK_P,
	LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P ): Declare new hook
	macros and use them to initialize lang_hook.

gcc/cp/ChangeLog:

	* cp-lang.c (LANG_HOOKS_FUNCTION_PARAMETER_PACK_P,
	LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P,
	LANG_HOOKS_GET_GENERIC_FUNCTION_DECL): Initialize these
	hooks for the c++ FE.
	* cp-tree.h (function_parameter_pack_p, get_function_template_decl,
	function_parameter_expanded_from_pack_p): Declare ...
	* pt.c (function_parameter_pack_p, get_function_template_decl,
	function_parameter_expanded_from_pack_p): ... new hooks.
	(get_template_info): Make this more robust.
	(template_args_variadic_p, make_ith_pack_parameter_name): Add a new
	line between comment and function.
	(get_template_argument_pack_elems): Fix comment.
	(tsubst_decl): Arguments of function parameter packs are not
	parameter packs themselves.

gcc/testsuite/ChangeLog:
	* g++.dg/debug/dwarf2/template-func-params-4.C: Adjust.
	* g++.dg/debug/dwarf2/template-func-params-7.C: Likewise.
	* g++.dg/debug/dwarf2/template-params-4.C: Likewise.

From-SVN: r152043
2009-09-22 22:20:03 +02:00
boehm-gc Override all per-target *_LINK variables correctly. 2009-09-11 05:02:20 +00:00
config stdint.m4 (GCC_HEADER_STDINT): Revert changes to this macro in the previous two patches. 2009-09-09 19:42:21 +00:00
contrib re PR bootstrap/41245 (Bootstrap broken on I386-apple-darwin9 at revision 151373) 2009-09-10 16:32:51 +02:00
fixincludes Remove obsolete entries from fixincludes. 2009-09-15 04:59:54 +00:00
gcc re PR debug/41266 (Emit DW_TAG_template_parameter_pack and DW_TAG_formal_parameter_pack) 2009-09-22 22:20:03 +02:00
gnattools Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
include re PR debug/41266 (Emit DW_TAG_template_parameter_pack and DW_TAG_formal_parameter_pack) 2009-09-22 22:20:03 +02:00
INSTALL
intl Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libada re PR ada/41122 (libada multilib string parsing error) 2009-08-30 14:26:37 +00:00
libcpp re PR preprocessor/38987 (Including a precompiled header from another header causes invalid assembly to be generated) 2009-09-22 08:37:31 +00:00
libdecnumber stdint.m4 (GCC_HEADER_STDINT): Revert changes to this macro in the previous two patches. 2009-09-09 19:42:21 +00:00
libffi PR testsuite/32843 (strikes again) 2009-09-17 20:54:56 +00:00
libgcc Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libgfortran configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm. 2009-09-22 12:23:06 +02:00
libgomp graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only for ARRAY_REFs. 2009-09-17 17:33:37 +04:00
libiberty choose-temp.c: Include unistd.h for mingw targets. 2009-09-22 18:34:12 +02:00
libjava cygming.h (TARGET_USE_JCR_SECTION): Enable. 2009-09-22 18:58:13 +00:00
libmudflap re PR libmudflap/41433 (security: mudflap accepts environment variables if setuid) 2009-09-22 16:17:50 +00:00
libobjc Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libssp Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
libstdc++-v3 appendix_contributing.xml: Adjust link to coreutils. 2009-09-21 20:15:07 +00:00
maintainer-scripts * update_web_docs_svn: Redirect output of texi2dvi to /dev/null. 2009-04-23 13:30:49 +00:00
zlib Update AC_PREREQ entries to 2.64 2009-08-24 19:08:51 +00:00
ABOUT-NLS
ChangeLog Error out if building separately but srcdir has build remnants. 2009-09-22 18:00:15 +00:00
ChangeLog.tree-ssa
compile Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
config-ml.in config-ml.in: don't handle --enable-shared and --enable-static. 2008-05-14 17:15:51 +00:00
config.guess * config.sub, config.guess: Update from upstream sources. 2009-08-17 14:09:01 +10:00
config.rpath * config.rpath: Add AIX 6 support. 2008-03-13 14:55:20 -04:00
config.sub * config.sub, config.guess: Update from upstream sources. 2009-08-17 14:09:01 +10:00
configure Error out if building separately but srcdir has build remnants. 2009-09-22 18:00:15 +00:00
configure.ac Error out if building separately but srcdir has build remnants. 2009-09-22 18:00:15 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
COPYING3
COPYING3.LIB
depcomp Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
install-sh Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
libtool-ldflags re PR bootstrap/31906 ("-Xcompiler" is inserted after "-Xlinker" when building libstdc++) 2007-09-20 10:20:05 +00:00
libtool.m4 libtool.m4 (output_verbose_link_cmd): Require leading blank, and blank before -L. 2009-09-08 17:43:37 +00:00
ltgcc.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltmain.sh ltmain.sh (removedotparts): Don't use comma as 's' separator. 2009-08-26 14:52:45 +00:00
ltoptions.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltsugar.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
ltversion.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
lt~obsolete.m4 libtool.m4: Update to libtool 2.2.6. 2008-09-26 16:21:02 +00:00
MAINTAINERS MAINTAINERS (OS Port Maintainers): Add myself as Solaris maintainer. 2009-09-22 16:48:01 +00:00
Makefile.def configure.ac: Detect awk and sed. 2009-08-30 14:33:13 +00:00
Makefile.in configure.ac (--with-build-config): New. 2009-09-03 05:55:57 +00:00
Makefile.tpl configure.ac (--with-build-config): New. 2009-09-03 05:55:57 +00:00
missing Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
mkdep
mkinstalldirs Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
move-if-change
README
symlink-tree
ylwrap Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.