https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107170

            Bug ID: 107170
           Summary: ICE on valid code: in as_a, at value-range.h:381
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: k.even-mendoza at imperial dot ac.uk
  Target Milestone: ---

The following code crashed GCC-13 when compiling with -O2, -O3 or -Os in Ubuntu
18, x-86_64; GCC-12, from April, seems to work fine.

===
#include <stdlib.h>
int main() {
  double a;
  if (__builtin_signbit(a))
    abort();
}
===
The trace:

during GIMPLE pass: vrp
fuzzer-file-12773.c: In function 'main':
fuzzer-file-12773.c:2:5: internal compiler error: in as_a, at value-range.h:381
    2 | int main() {
      |     ^~~~
0x80bc97 irange& as_a<irange>(vrange&)
        .././../gcc-source/gcc/value-range.h:381
0x80bc97 irange& as_a<irange>(vrange&)
        .././../gcc-source/gcc/value-range.h:379
0x80bc97 vrange::operator=(vrange const&)
        .././../gcc-source/gcc/value-range.cc:202
0x80bc97 vrange::operator=(vrange const&)
        .././../gcc-source/gcc/value-range.cc:199
0x12c61f2 vr_values::range_of_expr(vrange&, tree_node*, gimple*)
        .././../gcc-source/gcc/vr-values.cc:188
0x1cf1f17 fold_using_range::range_of_range_op(vrange&,
gimple_range_op_handler&, fur_source&)
        .././../gcc-source/gcc/gimple-range-fold.cc:550
0x1cf3c10 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&,
tree_node*)
        .././../gcc-source/gcc/gimple-range-fold.cc:489
0x1cf402b fold_range(vrange&, gimple*, range_query*)
        .././../gcc-source/gcc/gimple-range-fold.cc:316
0x12c9e9f vr_values::extract_range_basic(value_range_equiv*, gimple*)
        .././../gcc-source/gcc/vr-values.cc:1245
0x12269fd vrp_prop::visit_stmt(gimple*, edge_def**, tree_node**)
        .././../gcc-source/gcc/tree-vrp.cc:3865
0x111c5a6 ssa_propagation_engine::simulate_stmt(gimple*)
        .././../gcc-source/gcc/tree-ssa-propagate.cc:230
0x111c892 ssa_propagation_engine::simulate_block(basic_block_def*)
        .././../gcc-source/gcc/tree-ssa-propagate.cc:337
0x111ccc3 ssa_propagation_engine::ssa_propagate()
        .././../gcc-source/gcc/tree-ssa-propagate.cc:504
0x12331f5 execute_vrp
        .././../gcc-source/gcc/tree-vrp.cc:4215

Reply via email to