https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96644
Bug ID: 96644 Summary: [11 Regression] ICE in get_region_for_unexpected_tree_code, at analyzer/region-model-manager.cc:930 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-11.0.0-alpha20200816 snapshot (g:c99116aeeb9644ebddec653ee8b19de4d38b65bd) ICEs when compiling the following testcase w/ -O1 -fanalyzer: int oh[1]; int *x3; int * cm (char *m0) { return oh; } void ek (void) { for (;;) { char *b2 = 0; if (*b2 != 0) ++b2; x3 = cm (b2); } } % gcc-11.0.0 -O1 -fanalyzer -c kwnoqaib.c during IPA pass: analyzer kwnoqaib.c: In function 'cm': kwnoqaib.c:7:10: internal compiler error: in get_region_for_unexpected_tree_code, at analyzer/region-model-manager.cc:930 7 | return oh; | ^~ 0x7221bf ana::region_model_manager::get_region_for_unexpected_tree_code(ana::region_model_context*, tree_node*, dump_location_t const&) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model-manager.cc:930 0x110e6bb ana::region_model::get_lvalue_1(ana::path_var, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:960 0x110eaa8 ana::region_model::get_lvalue(ana::path_var, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:1055 0x110eaa8 ana::region_model::get_lvalue(tree_node*, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:1066 0x110eb5a ana::region_model::on_return(greturn const*, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:831 0x10ef3de ana::exploded_path::feasible_p(ana::logger*, ana::feasibility_problem**, ana::engine*, ana::exploded_graph const*) const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2940 0x185077c ana::dedupe_winners::add(ana::logger*, shortest_paths<ana::eg_traits, ana::exploded_path> const&, ana::exploded_graph const*, ana::saved_diagnostic*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/diagnostic-manager.cc:381 0x184e70f ana::diagnostic_manager::emit_saved_diagnostics(ana::exploded_graph const&) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/diagnostic-manager.cc:518 0x10f6eb4 ana::impl_run_checkers(ana::logger*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4121 0x10f7aac ana::run_checkers() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4175 0x10ec468 execute /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/analyzer-pass.cc:84