[Bug c++/79056] [7/8 Regression] [C++17] ICE with broken deduction guide / broken template parameter

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jun 23 23:30:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79056

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Fri Jun 23 23:29:51 2017
New Revision: 249614

URL: https://gcc.gnu.org/viewcvs?rev=249614&root=gcc&view=rev
Log:
        PR c++/79056 - C++17 ICE with invalid template syntax.

        * parser.c (cp_parser_simple_type_specifier): Don't assume that type
        is a TYPE_DECL.
        (cp_parser_check_for_invalid_template_id): Handle TYPE_DECL.
        * pt.c (template_placeholder_p): New.
        * cp-tree.h: Declare it.

Added:
    trunk/gcc/testsuite/g++.dg/parse/template28.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/pt.c

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Fri Jun 23 23:30:01 2017
New Revision: 249615

URL: https://gcc.gnu.org/viewcvs?rev=249615&root=gcc&view=rev
Log:
        PR c++/79056 - C++17 ICE with invalid template syntax.

        * parser.c (cp_parser_simple_type_specifier): Don't assume that type
        is a TYPE_DECL.
        (cp_parser_check_for_invalid_template_id): Handle TYPE_DECL.
        * pt.c (template_placeholder_p): New.
        * cp-tree.h: Declare it.

Added:
    branches/gcc-7-branch/gcc/testsuite/g++.dg/parse/template28.C
Modified:
    branches/gcc-7-branch/gcc/cp/ChangeLog
    branches/gcc-7-branch/gcc/cp/cp-tree.h
    branches/gcc-7-branch/gcc/cp/parser.c
    branches/gcc-7-branch/gcc/cp/pt.c


More information about the Gcc-bugs mailing list