https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30044
--- Comment #8 from Patrick Palka <ppalka at gcc dot gnu.org> --- Author: ppalka Date: Fri Jul 10 23:21:39 2015 New Revision: 225706 URL: https://gcc.gnu.org/viewcvs?rev=225706&root=gcc&view=rev Log: 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. Added: trunk/gcc/testsuite/g++.dg/cpp0x/auto46.C trunk/gcc/testsuite/g++.dg/template/error55.C trunk/gcc/testsuite/g++.dg/template/pr30044.C trunk/gcc/testsuite/g++.dg/template/shadow2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/error.c trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/cpp0x/variadic18.C trunk/gcc/testsuite/g++.dg/cpp0x/variadic19.C trunk/gcc/testsuite/g++.dg/template/canon-type-13.C trunk/gcc/testsuite/g++.dg/template/crash83.C trunk/gcc/testsuite/g++.dg/torture/20070621-1.C trunk/gcc/testsuite/g++.old-deja/g++.pt/ttp42.C