http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48146
Summary: ICE tree check: expected ssa_name, have var_decl in has_zero_uses, at tree-flow-inline.h:342 Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: reg...@cs.utah.edu CC: cheny...@cs.utah.edu Host: i686-pc-linux-gnu Target: i686-pc-linux-gnu Build: i686-pc-linux-gnu regehr@home:~/volatile/bugs/tmp004$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/mnt/z/z/compiler-install/gcc-r171019-install/libexec/gcc/i686-pc-linux-gnu/4.7.0/lto-wrapper Target: i686-pc-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/mnt/z/z/compiler-install/gcc-r171019-install --program-prefix=r171019- --enable-languages=c,c++ Thread model: posix gcc version 4.7.0 20110315 (experimental) (GCC) regehr@home:~/volatile/bugs/tmp004$ current-gcc -c small.c -O2 small.c: In function ‘func_67’: small.c:14:1: internal compiler error: tree check: expected ssa_name, have var_decl in has_zero_uses, at tree-flow-inline.h:342 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. regehr@home:~/volatile/bugs/tmp004$ cat small.c static unsigned char safe_sub_func_int_s_s (int si1, unsigned char si2) { return si1 ^ si2 & -si2 ^ si2 ? : si1 - si2; } int g_2[10] = { 0x90AC204EL }; volatile unsigned char g_39; unsigned char func_67 (unsigned short p_68) { unsigned char l_92; unsigned char l_74; int *l = &g_2[6]; lbl_90:*l ^= 1; if (p_68) goto lbl_93; for (l_74 = 0;; l_74 = safe_sub_func_int_s_s (l_74, 1)) { if (l_74) goto lbl_90; lbl_93:l_92 ^= 0 != &g_39; if (0) { } else *l = 1; } }