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

            Bug ID: 116899
           Summary: ICE: in quick_push, at vec.h:1041 with -O at _BitInt()
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 59227
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59227&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -O testcase.c
testcase.c: In function 'foo':
testcase.c:8:7: warning: division by zero [-Wdiv-by-zero]
    8 |     c %= (unsigned _BitInt(512))0;
      |       ^~
during GIMPLE pass: bitintlower
testcase.c:5:1: internal compiler error: in quick_push, at vec.h:1041
    5 | foo(char c)
      | ^~~
0x2c3b8fe internal_error(char const*, ...)
        /repo/gcc-trunk/gcc/diagnostic-global-context.cc:517
0xe7d74f fancy_abort(char const*, int, char const*)
        /repo/gcc-trunk/gcc/diagnostic.cc:1540
0xe391fa vec<basic_block_def*, va_heap, vl_embed>::quick_push(basic_block_def*
const&)
        /repo/gcc-trunk/gcc/vec.h:1041
0xe39892 vec<basic_block_def*, va_heap, vl_embed>::quick_push(basic_block_def*
const&)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1708
0xe39892 vec<basic_block_def*, va_heap, vl_ptr>::quick_push(basic_block_def*
const&)
        /repo/gcc-trunk/gcc/vec.h:2070
0xe39892 ranger_cache::range_from_dom(vrange&, tree_node*, basic_block_def*,
ranger_cache::rfd_mode)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1729
0x29ff7d1 ranger_cache::range_from_dom(vrange&, tree_node*, basic_block_def*,
ranger_cache::rfd_mode)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1692
0x29ff7d1 ranger_cache::entry_range(vrange&, tree_node*, basic_block_def*,
ranger_cache::rfd_mode)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1191
0x29ff7d1 ranger_cache::entry_range(vrange&, tree_node*, basic_block_def*,
ranger_cache::rfd_mode)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1179
0x29ff885 ranger_cache::edge_range(vrange&, edge_def*, tree_node*,
ranger_cache::rfd_mode)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1222
0x29fea76 ranger_cache::resolve_dom(vrange&, tree_node*, basic_block_def*)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1678
0x29ff220 ranger_cache::range_from_dom(vrange&, tree_node*, basic_block_def*,
ranger_cache::rfd_mode)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1789
0x2a00e91 ranger_cache::range_from_dom(vrange&, tree_node*, basic_block_def*,
ranger_cache::rfd_mode)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1692
0x2a00e91 ranger_cache::fill_block_cache(tree_node*, basic_block_def*,
basic_block_def*)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1475
0x2a027b7 ranger_cache::block_range(vrange&, basic_block_def*, tree_node*,
bool)
        /repo/gcc-trunk/gcc/gimple-range-cache.cc:1302
0x29f47a3 gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*)
        /repo/gcc-trunk/gcc/gimple-range.cc:174
0x29f786f gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*)
        /repo/gcc-trunk/gcc/gimple-range.cc:146
0x29f44e2 gimple_ranger::range_on_exit(vrange&, basic_block_def*, tree_node*)
        /repo/gcc-trunk/gcc/gimple-range.cc:206
0x29f7e6d gimple_ranger::range_on_edge(vrange&, edge_def*, tree_node*)
        /repo/gcc-trunk/gcc/gimple-range.cc:253
0x2a0a7cd fold_using_range::range_of_phi(vrange&, gphi*, fur_source&)
        /repo/gcc-trunk/gcc/gimple-range-fold.cc:940
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.

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r15-3941-20240928092031-g2531f014fb2-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/15.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --with-cloog --with-ppl --with-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --enable-libsanitizer
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r15-3941-20240928092031-g2531f014fb2-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.0.0 20240928 (experimental) (GCC)

Reply via email to