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