PR c++/86219 - ICE with erroneous initializer in template.
authorJason Merrill <jason@redhat.com>
Fri, 22 Jun 2018 21:57:07 +0000 (17:57 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 22 Jun 2018 21:57:07 +0000 (17:57 -0400)
commite56f662950ce31be414d64699b369ad9a5aca556
tree3c353035edc43d26c7a4f038fcd1cd043b06b82e
parente4511ca2e9ecdb51d41b64452398f8e2df575668
PR c++/86219 - ICE with erroneous initializer in template.

* constexpr.c (fold_non_dependent_expr): Add complain parm.
* call.c, expr.c, init.c, pt.c, semantics.c, typeck.c, typeck2.c:
Pass it.
* call.c (build_cxx_call): Don't mess with builtins in a template.
* typeck2.c (store_init_value): If fold_non_dependent_expr didn't
produce a constant value, go back to the uninstantiated form.

From-SVN: r261972
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/constexpr.c
gcc/cp/cp-tree.h
gcc/cp/expr.c
gcc/cp/init.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/cp/typeck.c
gcc/cp/typeck2.c
gcc/testsuite/g++.dg/template/conv15.C [new file with mode: 0644]