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

Reply via email to