PR c++/89852 - ICE with C++11 functional cast with { }.
authorMarek Polacek <polacek@redhat.com>
Sun, 31 Mar 2019 20:37:22 +0000 (20:37 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Sun, 31 Mar 2019 20:37:22 +0000 (20:37 +0000)
commita81c8e8c9ac60b0ba255d4082d65eab546eec3ec
tree6cfa26135906dbf84e3ec4ff9711a02b7b261a66
parent93755deb5c26a82106aa63280c492f9bda0679c2
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.

From-SVN: r270048
gcc/cp/ChangeLog
gcc/cp/constexpr.c
gcc/cp/cp-tree.h
gcc/cp/typeck2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/initlist115.C [new file with mode: 0644]