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

            Bug ID: 93124
           Summary: ICE in df_install_refs at df-scan.c:2376
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: ktkachov at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-linux-gnu
            Target: aarch64-linux-gnu

The following test-case ICEs:

$ cat ice.i
int a;

void fn2();
void fn3();
void fn4();
void fn5();
void fn6();

void
fn1() {
  int n = 0;
  for (;; ++n) {
    {
      struct {
        char a[n];
      } s;
      fn2(s);
    }
    struct {
      unsigned a[a];
    } s;
    int i = 0, b;
    for (; i < n; ++i)
      ;
    fn2(s);
    {
      struct {
        char a[n];
      } s;
      int i;
      for (i = 0; i < n; ++i)
        s.a[i] = i;
      fn3(s, s);
    }
    fn4();
    {
      struct {
        unsigned a[n];
      } s;
      fn5(s);
    }
    {
      struct {
        char a[b];
      } s;
      for (; i < n;)
        s.a[i] = i;
      fn6(s);
    }
  }
}

$ aarch64-linux-gnu-gcc ice.i  -O2 -fno-rerun-cse-after-loop
-fno-guess-branch-probability -fno-tree-fre -c 
during RTL pass: reload
ice.i: In function ‘fn1’:
ice.i:51:1: internal compiler error: Segmentation fault
   51 | }
      | ^
0xb118bf crash_signal
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/toplev.c:328
0x7f4f7b6bb14f ???
       
/usr/src/debug/glibc-2.30-2.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x788e04 df_install_refs
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/df-scan.c:2376
0x788ed8 df_install_refs
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/df-scan.c:2422
0x788ed8 df_refs_add_to_chains
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/df-scan.c:2422
0x78f275 df_bb_refs_record(int, bool)
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/df-scan.c:3339
0x78f48c df_scan_blocks()
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/df-scan.c:588
0x969776 do_reload
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/ira.c:5590
0x969776 execute
       
/home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/ira.c:5712
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to