http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50762

John Regehr <regehr at cs dot utah.edu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |regehr at cs dot utah.edu

--- Comment #1 from John Regehr <regehr at cs dot utah.edu> 2011-11-08 04:30:50 
UTC ---
Same crash, but with vanilla compiler flags and only vanilla C code in the test
case:

[regehr@gamow tmp048]$ current-gcc -O small.c

small.c: In function 'func_59':
small.c:48:1: error: unrecognizable insn:
(insn 29 28 30 3 (set (reg:DI 0 ax [78])
        (zero_extend:DI (const_int 1 [0x1]))) small.c:35 -1
     (expr_list:REG_DEAD (reg/v:SI 59 [ p_60 ])
        (nil)))
small.c:48:1: internal compiler error: in extract_insn, at recog.c:2137
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


[regehr@gamow tmp048]$ current-gcc -v

Using built-in specs.
COLLECT_GCC=current-gcc
COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r181147-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --with-libelf=/usr/local --enable-lto
--prefix=/home/regehr/z/compiler-install/gcc-r181147-install
--program-prefix=r181147- --enable-languages=c,c++
Thread model: posix
gcc version 4.7.0 20111108 (experimental) (GCC) 


[regehr@gamow tmp048]$ cat small.c


int
func_2 (int si1, int si2)
{
  return 0;
}

short
func_9 (int si1, int si2)
{
  return 0;
}

int g_92;
int g_97;
int g_159;
int g_210;
int g_242;
int g_281;
int
func_59 (unsigned p_60)
{
  int l_61[][1][1] = {
  };
lbl_348:for (p_60 = 0; p_60 <= 1; p_60 += 1)
    {
      int l_65[][1] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0x87D1
      };
      int l_243;
      for (;;)
    {
      l_243 = func_9 (0, 0) == l_65[4][5];
      if (l_243)
        break;
      return l_61[p_60 + 1][0][0];
    }
    }
  for (;;)
    {
      if (p_60)
    continue;
      for (;; g_281 = 0)
    if (l_61[0][0][0] = g_92)
      if (func_2 (l_61[0][g_159][0] | g_210, g_97))
        if (g_242)
          goto lbl_348;
    }
}

int
main ()
{
  return 0;
}

Reply via email to