]> git.ipfire.org Git - thirdparty/gcc.git/commit
fold: DECL_VALUE_EXPR isn't simple [PR120400]
authorJason Merrill <jason@redhat.com>
Fri, 23 May 2025 13:41:25 +0000 (09:41 -0400)
committerJason Merrill <jason@redhat.com>
Tue, 27 May 2025 20:40:40 +0000 (16:40 -0400)
commitee636671898c6bce63d9b2a698007b609aabbfe8
tree7bb12f2cf409d1f7e6721f08bae99f1dffa79f44
parent9d9ac1670af224bb9fa2411fe392f98d20fbf751
fold: DECL_VALUE_EXPR isn't simple [PR120400]

This PR noted that fold_truth_andor was wrongly changing && to & where the
RHS is a VAR_DECL with DECL_VALUE_EXPR; we can't assume that such can be
evaluated unconditionally.

To be more precise we could recurse into DECL_VALUE_EXPR, but that doesn't
seem worth bothering with since typical uses involve a COMPONENT_REF, which
is not simple.

PR c++/120400

gcc/ChangeLog:

* fold-const.cc (simple_operand_p): False for vars with
DECL_VALUE_EXPR.
gcc/fold-const.cc