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

Reply via email to