PR c++/86205 - ICE with ?: of throw and template-id.
authorJason Merrill <jason@redhat.com>
Fri, 18 Jan 2019 03:58:22 +0000 (22:58 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 18 Jan 2019 03:58:22 +0000 (22:58 -0500)
commitb0f422220aa1a1a98cd89177269ece2f8b2029fd
tree7879322f9e077f358b2a0b82a24c86a203fc4d0f
parentaee6ed4a2cbed1ac8be35332ee2391206e2101a2
PR c++/86205 - ICE with ?: of throw and template-id.

My patch for 64372 removed a bogus lvalue-rvalue conversion for one arm of a
?: expression where the other arm is a throw.  But we still need to require
any overload to be resolved, even though we aren't getting that from
decay_conversion anymore.

* pt.c (resolve_nondeduced_context_or_error): Split out from...
* typeck.c (decay_conversion): ...here.
* call.c (build_conditional_expr_1): Use it.

From-SVN: r268058
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/pt.c
gcc/cp/typeck.c
gcc/testsuite/g++.dg/cpp0x/cond2.C [new file with mode: 0644]