Seen using r143243 on Ubuntu Hardy on x86. reg...@john-home:~/volatile/tmp121$ current-gcc -O2 small.c small.c: In function foo: small.c:16: internal compiler error: gimple check: expected gimple_assign(error_mark), have gimple_phi() in gimple_assign_rhs1, at gimple.h:1729 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
reg...@john-home:~/volatile/tmp121$ cat small.c int baz (short x) { return x; } int g_2; int g_10; int bar (int p_7) { if (baz (g_2 ^ p_7 ^ g_2)) return g_10; return 0; } int foo (void) { return bar (g_2 == 0 || 1 == 1 - g_2) ? 1 : bar (1 && g_2); } reg...@john-home:~/volatile/tmp121$ current-gcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../configure --program-prefix=current- --enable-languages=c,c++ --prefix=/home/regehr : (reconfigured) ../configure --program-prefix=current- --enable-languages=c,c++ --prefix=/home/regehr : (reconfigured) ../configure --program-prefix=current- --enable-languages=c,c++ --prefix=/home/regehr : (reconfigured) ../configure --program-prefix=current- --prefix=/home/regehr --enable-languages=c,c++ --no-create --no-recursion : (reconfigured) ../configure --program-prefix=current- --prefix=/home/regehr --enable-languages=c,c++ --no-create --no-recursion : (reconfigured) ../configure --program-prefix=current- --prefix=/home/regehr --enable-languages=c,c++ --no-create --no-recursion : (reconfigured) ../configure --program-prefix=current- --prefix=/home/regehr --enable-languages=c,c++ --no-create --no-recursion : (reconfigured) ../configure --program-prefix=current- --prefix=/home/regehr --enable-languages=c,c++ --no-create --no-recursion Thread model: posix gcc version 4.4.0 20090110 (experimental) (GCC) -- Summary: ice: gimple check: expected gimple_assign(error_mark), have gimple_phi() Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: regehr at cs dot utah dot edu GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38807