https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108003
Bug ID: 108003 Summary: [13 Regression] ICE in bitmap_check_index, at sbitmap.h:105 Product: gcc Version: 13.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: --- gcc 13.0.0 20221204 snapshot (g:24b9337d1f1b5197b6498dceb9074319be003449) ICEs when compiling the following testcase, reduced from libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc, w/ -O1 -fanalyzer --param analyzer-max-svalue-depth=5: struct locale { class _Impl; _Impl *_M_impl; template <typename _Facet> locale (const locale &, _Facet *); static locale classic (); }; struct locale::_Impl { _Impl (_Impl, int); }; template <typename _Facet> locale::locale (const locale &, _Facet *) { new _Impl (*_M_impl, 1); } struct codecvt { virtual void do_max_lengththrow (); }; void test01 () { locale (locale::classic (), new codecvt); } % g++-13 -O1 -fanalyzer --param analyzer-max-svalue-depth=5 -c nsbergsz.cc during IPA pass: analyzer nsbergsz.cc: In constructor 'locale::locale(const locale&, _Facet*) [with _Facet = codecvt]': nsbergsz.cc:19:3: internal compiler error: in bitmap_check_index, at sbitmap.h:105 19 | new _Impl (*_M_impl, 1); | ^~~~~~~~~~~~~~~~~~~~~~~ 0x8a6707 bitmap_check_index /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/sbitmap.h:105 0x8a6707 bitmap_set_bit /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/sbitmap.h:133 0x8a6707 ana::region_model::get_referenced_base_regions(auto_sbitmap&) const /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/region-model.cc:4908 0x15b0692 ana::region_model::get_or_create_region_for_heap_alloc(ana::svalue const*, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/region-model.cc:4879 0x15c1a49 ana::kf_operator_new::impl_call_pre(ana::call_details const&) const /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/region-model-impl-calls.cc:996 0x15ac579 ana::region_model::on_call_pre(gcall const*, ana::region_model_context*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/region-model.cc:1477 0x157b634 ana::feasibility_state::maybe_update_for_edge(ana::logger*, ana::exploded_edge const*, ana::rejected_constraint**) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/engine.cc:4832 0x21e7ef1 ana::epath_finder::process_worklist_item(ana::feasible_worklist*, ana::trimmed_graph const&, ana::feasible_graph*, ana::exploded_node const*, unsigned int, std::unique_ptr<ana::exploded_path, std::default_delete<ana::exploded_path> >*) const /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/diagnostic-manager.cc:498 0x21e8848 ana::epath_finder::explore_feasible_paths(ana::exploded_node const*, char const*, unsigned int) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/diagnostic-manager.cc:418 0x21e8f31 ana::epath_finder::get_best_epath(ana::exploded_node const*, char const*, unsigned int, std::unique_ptr<ana::feasibility_problem, std::default_delete<ana::feasibility_problem> >*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/diagnostic-manager.cc:164 0x21e905c ana::saved_diagnostic::calc_best_epath(ana::epath_finder*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/diagnostic-manager.cc:811 0x21ed7cf ana::dedupe_winners::add(ana::logger*, ana::epath_finder*, ana::saved_diagnostic*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/diagnostic-manager.cc:1178 0x21ea5a3 ana::diagnostic_manager::emit_saved_diagnostics(ana::exploded_graph const&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/diagnostic-manager.cc:1328 0x15878ec ana::impl_run_checkers(ana::logger*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/engine.cc:6112 0x15888c6 ana::run_checkers() /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/engine.cc:6186 0x15771e8 execute /var/tmp/portage/sys-devel/gcc-13.0.0_p20221204/work/gcc-13-20221204/gcc/analyzer/analyzer-pass.cc:87