[Bug c++/80864] [7/8/9 Regression] Brace-initialization of a constexpr variable of an array in a POD triggers ICE from templates

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jan 31 20:23:00 GMT 2019


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

--- Comment #9 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Thu Jan 31 20:21:11 2019
New Revision: 268428

URL: https://gcc.gnu.org/viewcvs?rev=268428&root=gcc&view=rev
Log:
        PR c++/89083, c++/80864 - ICE with list initialization in template.
        * constexpr.c (adjust_temp_type): Use copy_node and change the type
        instead of using build_constructor.
        * decl.c (reshape_init_r): Don't reshape a digested initializer.
        Return the initializer for COMPOUND_LITERAL_P.

        * g++.dg/cpp0x/initlist107.C: New test.
        * g++.dg/cpp0x/initlist108.C: New test.
        * g++.dg/cpp0x/initlist109.C: New test.
        * g++.dg/cpp0x/initlist110.C: New test.
        * g++.dg/cpp0x/initlist111.C: New test.
        * g++.dg/cpp0x/initlist112.C: New test.
        * g++.dg/init/ptrfn4.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist107.C
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist108.C
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist109.C
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist110.C
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist111.C
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist112.C
    trunk/gcc/testsuite/g++.dg/init/ptrfn4.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/decl.c
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list