Seen on Ubuntu Hardy. reg...@john-home:~/volatile/tmp179$ current-gcc -O3 -c small.c small.c: In function box: small.c:29:3: warning: overflow in implicit constant conversion small.c:31:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:4981 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
reg...@john-home:~/volatile/tmp179$ current-gcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../configure --prefix=/home/regehr/z/tmp/gcc-r150096-install --program-prefix=r150096- --enable-languages=c,c++ Thread model: posix gcc version 4.5.0 20090726 (experimental) (GCC) reg...@john-home:~/volatile/tmp179$ cat small.c int foo (int _left, int _right) { return 1 >= 1 * 8 || 9223372036854775807LL >> _right ? : 0; } signed char bar (signed char _ui1, signed char _ui2) { return _ui1; } signed char baz (int _ui1, signed char _ui2) { return _ui1 * _ui2; } volatile signed char g_35; int func_16 (int p_17, signed char p_19) { if (foo (1, bar (p_17, 1))) if (g_35) { } return 0; } void box (signed char p_13, signed char p_14) { signed char l_133 = 0xF5C80580; func_16 (baz (l_133, g_35), 1); } -- Summary: ICE in simplify_subreg, at simplify-rtx.c:4981 Product: gcc Version: 4.5.0 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=40861