PR c++/86219 - ICE with erroneous initializer in template.
commit006b503ae065240995ad4f9ee0d211b38dede19b
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Jun 2018 21:57:07 +0000 (22 21:57 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Jun 2018 21:57:07 +0000 (22 21:57 +0000)
tree3c353035edc43d26c7a4f038fcd1cd043b06b82e
parent6b53d6860eb26be70ac32b4a7b93a97ba7370dcc
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261972 138bc75d-0d04-0410-961f-82ee72b054a4
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]