[Bug c++/98116] [11 Regression] ICE in strip_typedefs, at cp/tree.c:1744 since r11-5663-g329ae1d7751346ba

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 4 16:39:47 GMT 2020


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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathan Sidwell <nathan@gcc.gnu.org>:

https://gcc.gnu.org/g:5a26d4a204c8a462a7e0a1a86bb2f25ecd470aad

commit r11-5745-g5a26d4a204c8a462a7e0a1a86bb2f25ecd470aad
Author: Nathan Sidwell <nathan@acm.org>
Date:   Fri Dec 4 08:34:41 2020 -0800

    c++: Revert dependent-array changes [PR 98116]

    The changes reverted here are exposing an existing problem with alias
    template comparisons.  The typename_type changes are also incomplete,
    possibly for similar reasons.  It seems safer to revert them, fix the
    underlying issue and then move forwards.

    The testcases is adjusted to more robustly check the specialization
    table, and ICEs with and without the c++ changes.

    Revert:
    62fb1b9e0da c++: Fix array type dependency [PR 98107]
    07589ca2b2c c++: typename_type structural comparison
    29ae1d7751 c++: Extend build_array_type API

            PR c++/98116
            gcc/cp/
            * cp-tree.h (comparing_typenames): Delete.
            (cplus_build_array_type): Remove default parm.
            * pt.c (comparing_typenames): Delete.
            (spec_hasher::equal): Don't increment it.
            * tree.c (set_array_type_canon): Remove dep parm.
            (build_cplus_array_type): Remove dep parm changes.
            (cp_build_qualified_type_real): Remove dependent array type
            changes.
            (strip_typedefs): Likewise.
            * typeck.c (structural_comptypes): Revert comparing_typename
            changes.
            gcc/testsuite/
            * g++.dg/template/pr98116.C: Enable robust checking.


More information about the Gcc-bugs mailing list