[Bug c++/89852] [9 Regression] ICE: unexpected expression of kind implicit_conv_expr

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Mar 31 20:37:00 GMT 2019


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

--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Sun Mar 31 20:37:22 2019
New Revision: 270048

URL: https://gcc.gnu.org/viewcvs?rev=270048&root=gcc&view=rev
Log:
        PR c++/89852 - ICE with C++11 functional cast with { }.
        * constexpr.c (fold_non_dependent_expr_template): New static function
        broken out of...
        (fold_non_dependent_expr): ...here.
        (fold_non_dependent_init): New function.
        * cp-tree.h (fold_non_dependent_init): Declare.
        * typeck2.c (massage_init_elt): Call fold_non_dependent_init instead
        of fold_non_dependent_expr.  Don't call maybe_constant_init.

        * g++.dg/cpp0x/initlist115.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/initlist115.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list