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

            Bug ID: 101875
           Summary: [12 Regression] ICE: Segmentation fault (in
                    c_tree_printer)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

gcc-12.0.0-alpha20210808 snapshot (g:5f564fd013327977a4d04aa520237d17f641f01a)
ICEs when compiling the following testcase w/ -fanalyzer:

char *
fopen (const char *restrict, const char *restrict);

void
err (void);

void
k2 (void)
{
  char *setfiles[1];
  int i;

  setfiles[i] = fopen("", "");
  if (!setfiles[i])
    err ();
}

% gcc-12.0.0 -fanalyzer -c bmx5okgd.c
during IPA pass: analyzer
bmx5okgd.c:14:6: internal compiler error: Segmentation fault
   14 |   if (!setfiles[i])
      |      ^
0xe510cf crash_signal
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/toplev.c:328
0x867960 c_tree_printer
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/c/c-objc-common.c:305
0x867960 c_tree_printer
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/c/c-objc-common.c:258
0x1adbf8d pp_format(pretty_printer*, text_info*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/pretty-print.c:1475
0x120e53b ana::evdesc::event_desc::formatted_print(char const*, ...) const
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/pending-diagnostic.cc:64
0x124b658 describe_state_change
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/sm-file.cc:128
0x124b658 describe_state_change
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/sm-file.cc:119
0x124b658 describe_state_change
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/sm-file.cc:213
0x1a689b6 ana::state_change_event::get_desc(bool) const
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/checker-path.cc:259
0x1a685c2 ana::checker_event::prepare_for_emission(ana::checker_path*,
ana::pending_diagnostic*, diagnostic_event_id_t)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/checker-path.cc:149
0x1a7b895 ana::checker_path::prepare_for_emission(ana::pending_diagnostic*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/checker-path.h:571
0x1a7b895 ana::diagnostic_manager::emit_saved_diagnostic(ana::exploded_graph
const&, ana::saved_diagnostic const&)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/diagnostic-manager.cc:1225
0x1a7f1b7 ana::dedupe_winners::emit_best(ana::diagnostic_manager*,
ana::exploded_graph const&)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/diagnostic-manager.cc:1128
0x1a7be31 ana::diagnostic_manager::emit_saved_diagnostics(ana::exploded_graph
const&)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/diagnostic-manager.cc:1179
0x120528d ana::impl_run_checkers(ana::logger*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/engine.cc:4988
0x120605c ana::run_checkers()
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/engine.cc:5045
0x11f7058 execute
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210808/work/gcc-12-20210808/gcc/analyzer/analyzer-pass.cc:87

Reply via email to