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

            Bug ID: 98235
           Summary: ice in decompose with -O3 -fallow-store-data-races
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For this C source code:

char tcube[3][9];
int cur_move;
void perm_cube(void) {
  int i, j, k, tmp;
  for (; i < cur_move; i++)
    while (k-- >= 0)
      switch (j) {
      case 0:
        tmp = tcube[0][6];
        tcube[2][8] = tcube[0][8];
        tcube[0][8] = tmp;
        tmp = tcube[0][5];
        tcube[0][5] = tcube[1][8];
        tcube[1][8] = tcube[2][5];
        tcube[2][5] = tcube[1][2];
        tcube[1][2] = tcube[2][1];
        tcube[2][1] = tcube[1][0];
        tcube[0][6] = tmp;
        tmp = tcube[0][3];
        tcube[0][3] = tcube[1][0];
        tcube[1][0] = tcube[2][3];
        tcube[2][3] = tcube[1][6];
        tcube[1][6] = tmp;
        break;
      case 5:
        tmp = tcube[2][0];
        tcube[2][0] = tcube[2][2];
        tcube[2][2] = tcube[2][8];
        tcube[2][3] = tmp;
      }
}

compiled as follows:

$ /home/dcb/gcc/results/bin/gcc -c -w -O3 -fallow-store-data-races -w bug676.c

does this:

gcc: internal compiler error: Segmentation fault signal terminated program cc1
Please submit a full bug report

gdb on cc1 says

Program received signal SIGSEGV, Segmentation fault.
0x000000000109b2a2 in wide_int_ref_storage<true,
true>::wide_int_ref_storage<int> (this=<optimized out>, x=<optimized out>,
precision=<optimized out>)
    at ../../trunk.git/gcc/wide-int.h:1034
1034      : storage_ref (wi::int_traits <T>::decompose (scratch, precision, x))
(gdb) 

The bug appeared sometime before 20201111.

Reply via email to