https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105366
Bug ID: 105366 Summary: [11/12 Regression] ICE: in cmp_cst, at analyzer/svalue.cc:309 with -O -fanalyzer Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Created attachment 52859 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52859&action=edit reduced testcase The testcase got quite ugly while reducing (taking address of functions), but it ICEs the same way as the original testcase; this might be different than PR105365 , since this also fails in gcc-11 Compiler output: $ x86_64-pc-linux-gnu-gcc -O -fanalyzer testcase.c during IPA pass: analyzer testcase.c: In function 'foo': testcase.c:13:7: internal compiler error: in cmp_cst, at analyzer/svalue.cc:309 13 | u32 r = u + c; | ^ 0x8341f0 cmp_cst /repo/gcc-trunk/gcc/analyzer/svalue.cc:309 0x17bd00d cmp_cst /repo/gcc-trunk/gcc/analyzer/svalue.cc:326 0x17bd3fa ana::svalue::cmp_ptr(ana::svalue const*, ana::svalue const*) /repo/gcc-trunk/gcc/analyzer/svalue.cc:435 0x256c220 cmp1<sort_ctx> /repo/gcc-trunk/gcc/sort.cc:153 0x256c274 netsort<sort_ctx> /repo/gcc-trunk/gcc/sort.cc:170 0x256c274 mergesort<sort_ctx> /repo/gcc-trunk/gcc/sort.cc:207 0x256c7ff gcc_qsort(void*, unsigned long, unsigned long, int (*)(void const*, void const*)) /repo/gcc-trunk/gcc/sort.cc:266 0x175632f vec<ana::svalue const*, va_heap, vl_embed>::qsort(int (*)(void const*, void const*)) /repo/gcc-trunk/gcc/vec.h:1147 0x175632f vec<ana::svalue const*, va_heap, vl_ptr>::qsort(int (*)(void const*, void const*)) /repo/gcc-trunk/gcc/vec.h:2121 0x175632f ana::program_state::detect_leaks(ana::program_state const&, ana::program_state const&, ana::svalue const*, ana::extrinsic_state const&, ana::region_model_context*) /repo/gcc-trunk/gcc/analyzer/program-state.cc:1420 0x17566c9 ana::program_state::prune_for_point(ana::exploded_graph&, ana::program_point const&, ana::exploded_node*, ana::uncertainty_t*) const /repo/gcc-trunk/gcc/analyzer/program-state.cc:1214 0x1744361 ana::exploded_graph::process_node(ana::exploded_node*) /repo/gcc-trunk/gcc/analyzer/engine.cc:3780 0x174520a ana::exploded_graph::process_worklist() /repo/gcc-trunk/gcc/analyzer/engine.cc:3198 0x174754b ana::impl_run_checkers(ana::logger*) /repo/gcc-trunk/gcc/analyzer/engine.cc:5777 0x1748443 ana::run_checkers() /repo/gcc-trunk/gcc/analyzer/engine.cc:5851 0x1738138 execute /repo/gcc-trunk/gcc/analyzer/analyzer-pass.cc:87 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-r12-8236-20220424133922-g6b7441a46c7-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/12.0.1/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 --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r12-8236-20220424133922-g6b7441a46c7-checking-yes-rtl-df-extra-nobootstrap-amd64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.0.1 20220424 (experimental) (GCC)