Skip to content
Snippets Groups Projects
Commit c5540945 authored by Patrick Palka's avatar Patrick Palka
Browse files

re PR c++/30044 (ICE in tsubst, at cp/pt.c:7359)

Fix PR c++/30044

gcc/cp/ChangeLog:

	PR c++/30044
	* pt.c (begin_template_parm_list): Add a dummy parameter level
	to current_template_parms.
	(end_template_parm_list): Remove the dummy parameter level
	before adding the real one.
	(tsubst): Don't attempt to substitute for template parameters
	corresponding to a dummy argument level.
	(template_parms_to_args): Remove obsolete hack for
	giving template template arguments the proper level.
	(splite_late_return_type): Remove obsolete hack for giving
	template template arguments the proper level.
	* error.c (dump_template_decl): Don't print dummy template
	levels.

gcc/testsuite/ChangeLog

	PR c++/30044
	* g++.dg/cpp0x/auto46.C: New test.
	* g++.dg/template/pr30044.C: New test.
	* g++.dg/template/shadow2.C: New test.
	* g++.dg/template/error55.C: New test.
	* g++.dg/template/crash83.C: Accept any error string.
	* g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template
	parameters.
	* g++.dg/cpp0x/variadic18.C: Likewise
	* g++.dg/template/canon-type-13.C: Likewise.
	* g++.old-deja/g++.pt/ttp42.C: Likewise.
	* g++.dg/torture/20070621-1.C: Likewise.

From-SVN: r225706
parent 0a73242e
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment