diff options
author | Jason Merrill <jason@redhat.com> | 2025-05-23 09:41:25 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2025-05-27 16:40:40 -0400 |
commit | ee636671898c6bce63d9b2a698007b609aabbfe8 (patch) | |
tree | 7bb12f2cf409d1f7e6721f08bae99f1dffa79f44 /libgcc | |
parent | 9d9ac1670af224bb9fa2411fe392f98d20fbf751 (diff) | |
download | gcc-ee636671898c6bce63d9b2a698007b609aabbfe8.zip gcc-ee636671898c6bce63d9b2a698007b609aabbfe8.tar.gz gcc-ee636671898c6bce63d9b2a698007b609aabbfe8.tar.bz2 |
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.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions