mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 09:41:09 +08:00
constexpr.c (cxx_eval_call_expression): Remove convert_to_void workaround.
* constexpr.c (cxx_eval_call_expression): Remove convert_to_void workaround. From-SVN: r232168
This commit is contained in:
parent
451773378f
commit
550c5f8a7e
@ -1,5 +1,8 @@
|
||||
2016-01-08 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* constexpr.c (cxx_eval_call_expression): Remove convert_to_void
|
||||
workaround.
|
||||
|
||||
PR c++/68983
|
||||
PR c++/67557
|
||||
* cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
|
||||
|
@ -1285,16 +1285,6 @@ cxx_eval_call_expression (const constexpr_ctx *ctx, tree t,
|
||||
ctx->values->put (new_ctx.object, ctor);
|
||||
ctx = &new_ctx;
|
||||
}
|
||||
else if (DECL_BY_REFERENCE (DECL_RESULT (fun))
|
||||
&& TREE_CODE (t) != AGGR_INIT_EXPR)
|
||||
{
|
||||
/* convert_to_void stripped our AGGR_INIT_EXPR, in which case we don't
|
||||
care about a constant value. ??? we could still optimize away the
|
||||
call. */
|
||||
gcc_assert (ctx->quiet && !ctx->object);
|
||||
*non_constant_p = true;
|
||||
return t;
|
||||
}
|
||||
|
||||
bool non_constant_args = false;
|
||||
cxx_bind_parameters_in_call (ctx, t, &new_call,
|
||||
|
Loading…
x
Reference in New Issue
Block a user