aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-11-12 11:27:49 +0100
committerAldy Hernandez <aldyh@redhat.com>2022-11-12 11:28:14 +0100
commitf232715d15618e91c90eb210e23de10909590944 (patch)
tree7666feb139c86ea66c1da5474f930e765e36fe1d /gcc
parent4c57e57b370333ae30feba624ab9caa69a33e15c (diff)
downloadgcc-f232715d15618e91c90eb210e23de10909590944.zip
gcc-f232715d15618e91c90eb210e23de10909590944.tar.gz
gcc-f232715d15618e91c90eb210e23de10909590944.tar.bz2
[frange] Avoid testing signed zero test for -fno-signed-zeros.
This patch moves a test that is meant to only work for signed zeros into range_tests_signed_zeros. I am not aware of any architectures where this is failing, but it is annoying to see selftests failing when -fno-signed-zeros is used. gcc/ChangeLog: * value-range.cc (range_tests_signbit): Move to set from here... (range_tests_signed_zeros): ...to here.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/value-range.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index d55d858..34fac63 100644
--- a/gcc/value-range.cc
+++ b/gcc/value-range.cc
@@ -3928,6 +3928,11 @@ range_tests_signed_zeros ()
r0.set_nonnegative (float_type_node);
if (HONOR_NANS (float_type_node))
ASSERT_TRUE (r0.maybe_isnan ());
+
+ // Numbers containing zero should have an unknown SIGNBIT.
+ r0 = frange_float ("0", "10");
+ r0.clear_nan ();
+ ASSERT_TRUE (r0.signbit_p (signbit) && !signbit);
}
static void
@@ -3944,10 +3949,6 @@ range_tests_signbit ()
r0 = frange_float ("1", "10");
r0.clear_nan ();
ASSERT_TRUE (r0.signbit_p (signbit) && !signbit);
- // Numbers containing zero should have an unknown SIGNBIT.
- r0 = frange_float ("0", "10");
- r0.clear_nan ();
- ASSERT_TRUE (r0.signbit_p (signbit) && !signbit);
// Numbers spanning both positive and negative should have an
// unknown SIGNBIT.
r0 = frange_float ("-10", "10");