https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100244

            Bug ID: 100244
           Summary: [11/12 Regression] ICE: Segmentation fault (in
                    describe_state_change)
           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: ---

g++-11.0.1-alpha20210418 snapshot (g:b412ce8e961052e6becea3bc783a53e1d5feaa0f)
ICEs when compiling the following testcase, reduced from
libstdc++-v3/testsuite/23_containers/unordered_map/allocator/default_init.cc,
w/ -O1 -fanalyzer:

inline void *operator new (unsigned long int, void *__p) { return __p; }

struct __aligned_buffer {
  int _M_storage;
  int *_M_addr() { return &_M_storage; }
};

struct _Hashtable_alloc {
  int _M_single_bucket;
  int *_M_buckets = &_M_single_bucket;
  ~_Hashtable_alloc () { delete _M_buckets; }
};

void
test01 (__aligned_buffer buf)
{
  _Hashtable_alloc *tmp = new (buf._M_addr ()) _Hashtable_alloc;
  tmp->~_Hashtable_alloc ();
}

% g++-11.0.1 -O1 -fanalyzer -c tao11weu.cc
during IPA pass: analyzer
cc1plus: internal compiler error: Segmentation fault
0x10d6d5f crash_signal
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/toplev.c:327
0x14b7b54 describe_state_change
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/sm-malloc.cc:1306
0x1c73666 ana::state_change_event::get_desc(bool) const
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/checker-path.cc:259
0x1c73272 ana::checker_event::prepare_for_emission(ana::checker_path*,
ana::pending_diagnostic*, diagnostic_event_id_t)
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/checker-path.cc:149
0x1c85fda ana::checker_path::prepare_for_emission(ana::pending_diagnostic*)
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/checker-path.h:559
0x1c85fda ana::diagnostic_manager::emit_saved_diagnostic(ana::exploded_graph
const&, ana::saved_diagnostic const&)
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/diagnostic-manager.cc:1146
0x1c89188 ana::dedupe_winners::emit_best(ana::diagnostic_manager*,
ana::exploded_graph const&)
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/diagnostic-manager.cc:1051
0x1c863e6 ana::diagnostic_manager::emit_saved_diagnostics(ana::exploded_graph
const&)
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/diagnostic-manager.cc:1100
0x1478c8d ana::impl_run_checkers(ana::logger*)
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/engine.cc:4887
0x1479b20 ana::run_checkers()
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/engine.cc:4944
0x146aab8 execute
       
/var/tmp/portage/sys-devel/gcc-11.0.1_alpha20210418/work/gcc-11-20210418/gcc/analyzer/analyzer-pass.cc:87

Reply via email to