aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir/tree/rust-hir-pattern-abstract.h
diff options
context:
space:
mode:
authorAndrew Pinski <quic_apinski@quicinc.com>2025-07-05 08:40:45 -0700
committerAndrew Pinski <quic_apinski@quicinc.com>2025-07-06 07:58:48 -0700
commite17e3de4bbb1848ce1ce7d69d7786b92f1969b11 (patch)
treeeb7902fceef67f7df31b6845ffb5e4aeb6535dfb /gcc/rust/hir/tree/rust-hir-pattern-abstract.h
parent5c2dc85c1923af118a9ec9657dc969fd3d95498a (diff)
downloadgcc-e17e3de4bbb1848ce1ce7d69d7786b92f1969b11.zip
gcc-e17e3de4bbb1848ce1ce7d69d7786b92f1969b11.tar.gz
gcc-e17e3de4bbb1848ce1ce7d69d7786b92f1969b11.tar.bz2
cdce: Fix non-call exceptions with signaling nans [PR120951]
The cdce code introduces a test for a NaN using the EQ_EXPR code. The problem is EQ_EXPR can cause an exception with non-call exceptions and signaling nans turned on. This is now correctly rejected by the verfier since r16-241-g4c40e3d7b9152f. The fix is seperate out the comparison into its own statement from the GIMPLE_COND. Bootstrapped and tested on x86_64-linux-gnu with no regressions. PR tree-optimization/120951 gcc/ChangeLog: * tree-call-cdce.cc (use_internal_fn): For non-call exceptions with EQ_EXPR can throw for floating point types, then create the EQ_EXPR seperately. gcc/testsuite/ChangeLog: * gcc.dg/torture/pr120951-1.c: New test. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
Diffstat (limited to 'gcc/rust/hir/tree/rust-hir-pattern-abstract.h')
0 files changed, 0 insertions, 0 deletions