https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97489
Bug ID: 97489 Summary: [11 Regression] ICE: Segmentation fault (in ana::supergraph::get_node_for_function_entry(function* ) const) Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-11.0.0-alpha20201018 snapshot (g:1e70b1a358b6ce3b894f284d88fbb90518d45cc0) ICEs when compiling the following testcase, extracted from test/CodeGenCXX/pr34163.cpp from the clang 10.0.1 test suite, w/ -fanalyzer: struct X { virtual ~X() {} virtual void key_function(); }; void X::key_function() {} % g++-11.0.0 -fanalyzer -c dkuvlwww.cpp during IPA pass: analyzer dkuvlwww.cpp:6:25: internal compiler error: Segmentation fault 6 | void X::key_function() {} | ^ 0x1020adf crash_signal /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/toplev.c:330 0x13aeb92 ana::supergraph::get_node_for_function_entry(function*) const /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/supergraph.h:96 0x13aeb92 ana::function_point::from_function_entry(ana::supergraph const&, function*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/program-point.cc:215 0x139f36f ana::program_point::from_function_entry(ana::supergraph const&, function*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/program-point.h:253 0x139f36f ana::exploded_graph::add_function_entry(function*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/engine.cc:1949 0x139fa07 ana::exploded_graph::on_escaped_function(tree_node*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/engine.cc:3985 0x139fa7b add_any_callbacks /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/engine.cc:2290 0x12ff60a walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/tree.c:12001 0x12ff9f1 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*)) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/tree.c:12078 0x139f8fa ana::exploded_graph::build_initial_worklist() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/engine.cc:2330 0x13a37e0 ana::impl_run_checkers(ana::logger*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/engine.cc:4576 0x13a463c ana::run_checkers() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/engine.cc:4650 0x1397628 execute /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20201018/work/gcc-11-20201018/gcc/analyzer/analyzer-pass.cc:84