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

            Bug ID: 106444
           Summary: vrange_printer::visit ICEs
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

For the testcase in PR105651 I see with -fdump-tree-all:

t.C: In function ‘std::string f()’:
t.C:3:13: internal compiler error: tree check: expected integer_cst, have
addr_expr in to_wide, at tree.h:6205
    3 | bool test(std::array<int8_t, 8>& a, std::array<int8_t, 8>& b)
      |             ^
0x1cd3d8d tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        /space/rguenther/src/gcc/gcc/tree.cc:8817
0xbb7be1 tree_check(tree_node const*, char const*, int, char const*, tree_code)
        /space/rguenther/src/gcc/gcc/tree.h:3764
0xc5235a wi::to_wide(tree_node const*)
        /space/rguenther/src/gcc/gcc/tree.h:6205
0x1d0ab22 irange::legacy_upper_bound(unsigned int) const
        /space/rguenther/src/gcc/gcc/value-range.cc:875
0x112a26d irange::upper_bound(unsigned int) const
        /space/rguenther/src/gcc/gcc/value-range.h:935
0x1d1bd9d vrange_printer::visit(irange const&) const
        /space/rguenther/src/gcc/gcc/value-range-pretty-print.cc:69
0x1d08349 irange::accept(vrange_visitor const&) const
        /space/rguenther/src/gcc/gcc/value-range.cc:37
0x1d088d0 vrange::dump(_IO_FILE*) const
        /space/rguenther/src/gcc/gcc/value-range.cc:227
0x1d1b730 value_range_equiv::dump(_IO_FILE*) const
        /space/rguenther/src/gcc/gcc/value-range-equiv.cc:287
0x1d1b8b1 dump_value_range(_IO_FILE*, value_range_equiv const*)
        /space/rguenther/src/gcc/gcc/value-range-equiv.cc:317
0x1d7ec2a vr_values::dump(_IO_FILE*)
        /space/rguenther/src/gcc/gcc/vr-values.cc:1861
0x1cafed6 vrp_prop::finalize()
        /space/rguenther/src/gcc/gcc/tree-vrp.cc:4005
0x1cb0618 execute_vrp
        /space/rguenther/src/gcc/gcc/tree-vrp.cc:4218
0x1cb0aef execute
        /space/rguenther/src/gcc/gcc/tree-vrp.cc:4433
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.

that's because vrange_printer::visit doesn't handle symbolic ranges.

Reply via email to