https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96650
Bug ID: 96650 Summary: [11 Regression] ICE in on_fact, at analyzer/constraint-manager.cc:1785 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/ -O2 -fanalyzer: int *wf; void yd (void); int cy (void); int * ee (int hp) { if (hp != 0) yd (); return 0; } void z0 (int co) { int l4 = sizeof (int); aq: wf = ee (l4); if (l4 < co) l4 = cy () + sizeof (int); goto aq; } % gcc-11.0.0 -O2 -fanalyzer -c apa68zkr.c during IPA pass: analyzer apa68zkr.c: In function 'z0': apa68zkr.c:12:6: internal compiler error: in on_fact, at analyzer/constraint-manager.cc:1785 12 | if (hp != 0) | ^ 0x7a3d5f ana::merger_fact_visitor::on_fact(ana::svalue const*, tree_code, ana::svalue const*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/tree.h:3409 0x7a3d5f ana::constraint_manager::for_each_fact(ana::fact_visitor*) const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/constraint-manager.cc:1833 0x1849ed2 ana::constraint_manager::merge(ana::constraint_manager const&, ana::constraint_manager const&, ana::constraint_manager*, ana::model_merger const&) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/constraint-manager.cc:1812 0x110d5fb ana::region_model::can_merge_with_p(ana::region_model const&, ana::program_point const&, ana::region_model*) const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:2501 0x110382f ana::program_state::can_merge_with_p(ana::program_state const&, ana::program_point const&, ana::program_state*) const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/program-state.cc:916 0x10f2788 ana::exploded_graph::get_or_create_node(ana::program_point const&, ana::program_state const&, ana::exploded_node const*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:1949 0x10f4157 ana::exploded_graph::process_node(ana::exploded_node*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2650 0x10f4d5a ana::exploded_graph::process_worklist() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2341 0x10f6e8f ana::impl_run_checkers(ana::logger*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4107 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