https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100043
Bug ID: 100043 Summary: analyzer: ICE (segfault) in ana::region_model::on_assignment Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: acoplan at gcc dot gnu.org Target Milestone: --- The following fails: $ cat test.c void f() { char a[] = ""; __builtin_mempcpy(0, a, 2); } $ aarch64-linux-gnu-gcc -c test.c -O -fanalyzer during IPA pass: analyzer test.c: In function âfâ: test.c:2:8: internal compiler error: Segmentation fault 2 | char a[] = ""; | ^ 0xdf7a11 crash_signal /home/alecop01/toolchain/src/gcc/gcc/toplev.c:327 0x127f7fa ana::region_model::on_assignment(gassign const*, ana::region_model_context*) /home/alecop01/toolchain/src/gcc/gcc/analyzer/region-model.cc:729 0x1258cfd ana::feasibility_state::maybe_update_for_edge(ana::logger*, ana::exploded_edge const*, ana::rejected_constraint**) /home/alecop01/toolchain/src/gcc/gcc/analyzer/engine.cc:3635 0x1bff0be ana::epath_finder::process_worklist_item(ana::feasible_worklist*, ana::trimmed_graph const&, ana::feasible_graph*, ana::exploded_node const*, unsigned int, ana::exploded_path**) const /home/alecop01/toolchain/src/gcc/gcc/analyzer/diagnostic-manager.cc:457 0x1c00ef2 ana::epath_finder::explore_feasible_paths(ana::exploded_node const*, char const*, unsigned int) /home/alecop01/toolchain/src/gcc/gcc/analyzer/diagnostic-manager.cc:379 0x1c0180b ana::epath_finder::get_best_epath(ana::exploded_node const*, char const*, unsigned int, ana::feasibility_problem**) /home/alecop01/toolchain/src/gcc/gcc/analyzer/diagnostic-manager.cc:160 0x1c019ae ana::saved_diagnostic::calc_best_epath(ana::epath_finder*) /home/alecop01/toolchain/src/gcc/gcc/analyzer/diagnostic-manager.cc:685 0x1c020cf ana::dedupe_winners::add(ana::logger*, ana::epath_finder*, ana::saved_diagnostic*) /home/alecop01/toolchain/src/gcc/gcc/analyzer/diagnostic-manager.cc:979 0x1c020cf ana::diagnostic_manager::emit_saved_diagnostics(ana::exploded_graph const&) /home/alecop01/toolchain/src/gcc/gcc/analyzer/diagnostic-manager.cc:1096 0x1262d3e ana::impl_run_checkers(ana::logger*) /home/alecop01/toolchain/src/gcc/gcc/analyzer/engine.cc:4887 0x1263c6e ana::run_checkers() /home/alecop01/toolchain/src/gcc/gcc/analyzer/engine.cc:4944 0x1255e4a execute /home/alecop01/toolchain/src/gcc/gcc/analyzer/analyzer-pass.cc:87 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. The testcase was reduced from gcc.dg/analyzer/pr93355-localealias.c.