[Bug c++/88196] [9 Regression] ICE on (invalid) C++ code when compiled with -std=c++2a: in convert_nontype_argument, at cp/pt.c:7137

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 21 03:34:00 GMT 2018


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

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Fri Dec 21 03:34:06 2018
New Revision: 267319

URL: https://gcc.gnu.org/viewcvs?rev=267319&root=gcc&view=rev
Log:
        PR c++/88196 - ICE with class non-type template parameter.
        * pt.c (convert_nontype_argument): If the expr is a PTRMEM_CST, also
        check if the type we're converting it to is TYPE_PTRMEM_P.

        * g++.dg/cpp0x/ptrmem-cst-arg1.C: Tweak dg-error.
        * g++.dg/cpp2a/nontype-class10.C: New test.
        * g++.dg/template/pr54858.C: Tweak dg-error.

Added:
    trunk/gcc/testsuite/g++.dg/cpp2a/nontype-class10.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/pt.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/ptrmem-cst-arg1.C
    trunk/gcc/testsuite/g++.dg/template/pr54858.C


More information about the Gcc-bugs mailing list