aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-float.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/range-op-float.cc')
-rw-r--r--gcc/range-op-float.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/range-op-float.cc b/gcc/range-op-float.cc
index 44db81c..cc80643 100644
--- a/gcc/range-op-float.cc
+++ b/gcc/range-op-float.cc
@@ -1394,9 +1394,10 @@ foperator_abs::op1_range (frange &r, tree type,
return true;
// Then add the negative of each pair:
// ABS(op1) = [5,20] would yield op1 => [-20,-5][5,20].
- r.union_ (frange (type,
- real_value_negate (&positives.upper_bound ()),
- real_value_negate (&positives.lower_bound ())));
+ frange negatives (type, real_value_negate (&positives.upper_bound ()),
+ real_value_negate (&positives.lower_bound ()));
+ negatives.clear_nan ();
+ r.union_ (negatives);
return true;
}