Hi Aldy!

On Thu, 2022-09-08 12:56:24 +0200, Aldy Hernandez via Gcc-patches 
<gcc-patches@gcc.gnu.org> wrote:

> From 795baa0b044953e9f198f49e379374d633f43b47 Mon Sep 17 00:00:00 2001
> From: Aldy Hernandez <al...@redhat.com>
> Date: Thu, 8 Sep 2022 08:11:43 +0200
> Subject: [PATCH] Implement known/maybe fpclassify like API for frange.
> 
> gcc/ChangeLog:
> 
>       * gimple-range-fold.cc
>       (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
>       * range-op-float.cc (finite_operand_p): Same.
>       (finite_operands_p): Same.
>       (foperator_lt::fold_range): Same.
>       (foperator_le::fold_range): Same.
>       (foperator_gt::fold_range): Same.
>       (foperator_ge::fold_range): Same.
>       (foperator_unordered::fold_range): Same.
>       (foperator_unordered::op1_range): Same.
>       (foperator_ordered::fold_range): Same.
>       * value-range.cc (frange::set_nan): Same.
>       (frange::set_signbit): Same.
>       (frange::union_): Same.
>       (frange::intersect): Same.
>       (frange::operator==): Same.
>       (frange::singleton_p): Same.
>       (frange::verify_range): Same.
>       (range_tests_nan): Same.
>       (range_tests_floats): Same.
>       * value-range.h(frange::known_finite): New.
>       (frange::maybe_inf): New.
>       (frange::known_inf): New.
>       (frange::maybe_nan): New.
>       (frange::known_nan): New.
>       (frange::known_signbit): New.
> ---
>  gcc/gimple-range-fold.cc |  19 +++---
>  gcc/range-op-float.cc    |  26 ++++----
>  gcc/value-range.cc       | 126 +++++++++++++++++++++++----------------
>  gcc/value-range.h        |  78 +++++++++++++++++++++++-
>  4 files changed, 170 insertions(+), 79 deletions(-)

This triggers a selftest failure for pdp11:

.../gcc/configure --prefix=... --enable-werror-always --enable-languages=all 
--disable-gcov --disable-shared --disable-threads --target=pdp11-aout 
--without-headers
[...]
make V=1 all-gcc
[...]
/var/lib/laminar/run/gcc-pdp11-aout/13/toolchain-build/./gcc/xgcc 
-B/var/lib/laminar/run/gcc-pdp11-aout/13/toolchain-build/./gcc/  -xc -nostdinc 
/dev/null -S -o /dev/null -fself-test=../../gcc/gcc/testsuite/selftests
../../gcc/gcc/value-range.cc:3801: range_tests_signbit: FAIL: ASSERT_TRUE 
((r0.undefined_p ()))
In function 'test_fn':
cc1: internal compiler error: in fail, at selftest.cc:47
0x1757e97 selftest::fail(selftest::location const&, char const*)
      ../../gcc/gcc/selftest.cc:47
0x109ab62 range_tests_signbit
      ../../gcc/gcc/value-range.cc:3801
0x109ab62 range_tests_floats
      ../../gcc/gcc/value-range.cc:3810
0x10a9cf1 selftest::range_tests()
      ../../gcc/gcc/value-range.cc:3914
0x156e6d7 test_ranges
      ../../gcc/gcc/function-tests.cc:584
0x156e6d7 selftest::function_tests_cc_tests()
      ../../gcc/gcc/function-tests.cc:680
0x168d60b selftest::run_tests()
      ../../gcc/gcc/selftest-run-tests.cc:107
0xd968c9 toplev::run_self_tests()
      ../../gcc/gcc/toplev.cc:2184
Please submit a full bug report, with preprocessed source (by using 
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
make[1]: *** [../../gcc/gcc/c/Make-lang.in:128: s-selftest-c] Error 1

Thanks,
  Jan-Benedict

-- 

Attachment: signature.asc
Description: PGP signature

Reply via email to