[gcc r14-1634] Fix floating point bug in fold_range.
Andrew Macleod
amacleod@gcc.gnu.org
Thu Jun 8 18:57:22 GMT 2023
https://gcc.gnu.org/g:ce81740c44c07a82a0839fa8c08a0a51a72c5cfe
commit r14-1634-gce81740c44c07a82a0839fa8c08a0a51a72c5cfe
Author: Andrew MacLeod <amacleod@redhat.com>
Date: Wed Jun 7 14:03:35 2023 -0400
Fix floating point bug in fold_range.
We currently do not have any floating point operators where operand 1 is
a different type than the LHS. When we eventually do there is a bug
in fold_range. If either operand is a known NAN, it returns a NAN
of the type of operand 1 instead of the result type.
* range-op-float.cc (range_operator_float::fold_range): Return
NAN of the result type.
Diff:
---
gcc/range-op-float.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/range-op-float.cc b/gcc/range-op-float.cc
index a99a6b01ed8..af598b60a79 100644
--- a/gcc/range-op-float.cc
+++ b/gcc/range-op-float.cc
@@ -57,7 +57,7 @@ range_operator_float::fold_range (frange &r, tree type,
return true;
if (op1.known_isnan () || op2.known_isnan ())
{
- r.set_nan (op1.type ());
+ r.set_nan (type);
return true;
}
More information about the Gcc-cvs
mailing list