Seen using r143537 on Ubuntu Hardy. reg...@john-home:~/volatile/tmp123$ current-gcc -O3 small.c small.c: In function baz: small.c:59: internal compiler error: in find_or_generate_expression, at tree-ssa-pre.c:2769 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. reg...@john-home:~/volatile/tmp123$ current-gcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../configure --prefix=/home/regehr/z/tmp/gcc-r143537-install --program-prefix=r143537- --enable-languages=c,c++ Thread model: posix gcc version 4.4.0 20090121 (experimental) (GCC) reg...@john-home:~/volatile/tmp123$ cat small.c unsigned foo (int _si1, unsigned _si2) { return _si1 > 0 && _si2 > 0 && _si1 > 2147483647 - _si2 && _si2; }
signed char bar (signed char _left, int _right) { return (unsigned int) _right >= 1 * 8 ? : _left >> _right; } unsigned g_2; unsigned g_67; unsigned g_111; volatile unsigned g_162; unsigned func_51 (unsigned p_53, unsigned p_55) { return g_2; } int func_62 (unsigned p_63) { p_63 = g_2 & g_67; if (g_2) { } else if (p_63) return 1; g_67 = bar (p_63, func_51 (g_67, 1)); return 0; } int func_57 (unsigned p_58) { return func_62 (1); } int func_48 (unsigned p_49, unsigned p_50) { return func_57 (1); } unsigned func_1 (void) { unsigned l_5 = 0; if (g_2) for (1; g_2 <= -16; g_2 = foo (g_2, 1)) { for (1; g_162; g_162) func_48 (func_48 (g_2, 1), l_5); if (g_111) return 1; } return 0; } void crc32 (int); void baz (void) { func_1 (); crc32 (g_2); } -- Summary: ice in find_or_generate_expression, at tree-ssa- pre.c:2769 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=38926