https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93994
Bug ID: 93994 Summary: ICE in get_or_create_mem_ref, at analyzer/region-model.cc:6599 Product: gcc Version: 10.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++-10.0.1-alpha20200301 snapshot (g:151bf47e78f5d919f6cc591d11cc1f6aff61078f) ICEs when compiling libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc w/ -fanalyzer: % g++-10.0.1 -fanalyzer -c libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc during IPA pass: analyzer In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/10.0.1/include/g++-v10/tuple:41, from /usr/lib/gcc/x86_64-pc-linux-gnu/10.0.1/include/g++-v10/functional:54, from libstdc++-v3/testsuite/20_util/function_objects/mem_fn/adl.cc:20: /usr/lib/gcc/x86_64-pc-linux-gnu/10.0.1/include/g++-v10/bits/invoke.h: In function 'constexpr _Res std::__invoke_impl(std::__invoke_memobj_ref, _MemPtr&&, _Tp&&) [with _Res = int&&; _MemPtr = int n::X::*&; _Tp = n::X]': /usr/lib/gcc/x86_64-pc-linux-gnu/10.0.1/include/g++-v10/bits/invoke.h:79:34: internal compiler error: in get_or_create_mem_ref, at analyzer/region-model.cc:6599 79 | { return __invfwd<_Tp>(__t).*__f; } | ^~~ 0x7dd077 ana::region_model::get_or_create_mem_ref(tree_node*, ana::svalue_id, ana::svalue_id, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/region-model.cc:6599 0x136366c ana::region_model::get_or_create_pointer_plus_expr(tree_node*, ana::svalue_id, ana::svalue_id, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/region-model.cc:6682 0x136366c ana::region_model::on_assignment(gassign const*, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/region-model.cc:4005 0x133c998 ana::exploded_node::on_stmt(ana::exploded_graph&, ana::supernode const*, gimple const*, ana::program_state*, ana::state_change*) const /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/engine.cc:1006 0x133d3c1 ana::exploded_graph::process_node(ana::exploded_node*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/engine.cc:2517 0x133d8aa ana::exploded_graph::process_worklist() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/engine.cc:2335 0x133dfd9 ana::impl_run_checkers(ana::logger*) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/engine.cc:3793 0x133ea7c ana::run_checkers() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/engine.cc:3850 0x1333908 execute /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200301/work/gcc-10-20200301/gcc/analyzer/analyzer-pass.cc:84