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

            Bug ID: 125861
           Summary: [17 regression] ICE when building cdrtools
                    (propagate_updated_value, at
                    gimple-range-cache.cc:1459)
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
  Target Milestone: ---

```
$ gcc auinfo.i -std=gnu89 -c -O3 -march=znver3
during RTL pass: expand
auinfo.i: In function ‘auinfo’:
auinfo.i:5:7: internal compiler error: in propagate_updated_value, at
gimple-range-cache.cc:1459
    5 | char* auinfo() {
      |       ^~~~~~
0x55ea2ab1b299 internal_error(char const*, ...)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/diagnostic-global-context.cc:787
0x55ea2ab1b43c fancy_abort(char const*, int, char const*)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/diagnostics/context.cc:1813
0x55ea294c6714 ranger_cache::propagate_updated_value(tree_node*,
basic_block_def*)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-range-cache.cc:1459
0x55ea2b132fc8 ranger_cache::set_global_range(tree_node*, vrange const&, bool)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-range-cache.cc:1165
0x55ea2b132fc8 ranger_cache::set_global_range(tree_node*, vrange const&, bool)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-range-cache.cc:1143
0x55ea2b121874 gimple_ranger::prefill_stmt_dependencies(tree_node*)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-range.cc:428
0x55ea2b11677a gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*)
[clone .constprop.1]
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-range.cc:339
0x55ea2b0cd6b7 gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*)
[clone .constprop.2]
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-range.cc:112
0x55ea2b08f4b4 ssa_name_has_boolean_range(tree_node*, gimple*) [clone
.constprop.0]
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/tree-ssanames.cc:645
0x55ea2afedc7d gimple_simplify_MINUS_EXPR(gimple_match_op*, gimple**,
tree_node* (*)(tree_node*), code_helper, tree_node*, tree_node*, tree_node*)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/build/gcc/gimple-match-7.cc:13343
0x55ea2ae31583 gimple_resimplify2
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-match-exports.cc:1029
0x55ea2b97d0e9 gimple_simplify_66(gimple_match_op*, gimple**, tree_node*
(*)(tree_node*), tree_node*, tree_node**)
        /usr/src/debug/sys-devel/gcc-17.0.9999/build/gcc/gimple-match-8.cc:2584
0x55ea2af58e96 gimple_simplify_PLUS_EXPR(gimple_match_op*, gimple**, tree_node*
(*)(tree_node*), code_helper, tree_node*, tree_node*, tree_node*)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/build/gcc/gimple-match-3.cc:17593
0x55ea2ae31583 gimple_resimplify2
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-match-exports.cc:1029
0x55ea2af3dbab gimple_match_op::resimplify(gimple**, tree_node*
(*)(tree_node*))
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-match-exports.cc:113
0x55ea2af3dbab gimple_simplify_POINTER_PLUS_EXPR(gimple_match_op*, gimple**,
tree_node* (*)(tree_node*), code_helper, tree_node*, tree_node*, tree_node*)
       
/usr/src/debug/sys-devel/gcc-17.0.9999/build/gcc/gimple-match-1.cc:11946
0x55ea2ae31583 gimple_resimplify2
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-match-exports.cc:1029
0x55ea2afb281a gimple_simplify(gimple*, gimple_match_op*, gimple**, tree_node*
(*)(tree_node*), tree_node* (*)(tree_node*))
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-match-exports.cc:896
0x55ea2afb281a gimple_fold_stmt_to_constant_1(gimple*, tree_node*
(*)(tree_node*), tree_node* (*)(tree_node*)) [clone .constprop.2]
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-fold.cc:9562
0x55ea2b129822 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&,
tree_node*) [clone .constprop.2]
       
/usr/src/debug/sys-devel/gcc-17.0.9999/gcc-17.0.9999/gcc/gimple-range-fold.cc:764
/usr/libexec/gcc/x86_64-pc-linux-gnu/17/cc1 -fpreprocessed auinfo.i -quiet
-dumpbase auinfo.i -dumpbase-ext .i -march=znver3 -mtls-dialect=gnu2 -O3
-std=gnu90 -foffload-options=-fno-stack-protector -fcf-protection
-foffload-options=-fcf-protection=none -o /tmp/cc2zZjNC.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.
```


```
char *auinfo_p;

char* readtag();

char* auinfo() {
  char *p2;
  auinfo_p = readtag();
  p2 = ++auinfo_p;
  while (*p2)
    p2++;
  while (p2 > auinfo_p && *p2 != '\'')
    p2--;
  *p2 = '\0';

  return auinfo_p;
}
```

Reply via email to