Compiler flags: -O2 -ftree-loop-distribution Tested revisions: trunk r154706 (20091127) - crash trunk r153685 (20091028) - crash 4.4 r153668, r154724 - OK
==== file.c ==== extern int A[]; extern int B[]; void f(int i) { while (i-- > 0) { A[i] = 0; B[i] = 0; } } ============= $ /mnt/svn/gcc-trunk/binary-154706-lto/bin/gcc -O2 -ftree-loop-distribution -c file.c -o tmp.o -v Using built-in specs. COLLECT_GCC=/mnt/svn/gcc-trunk/binary-154706-lto/bin/gcc COLLECT_LTO_WRAPPER=/mnt/svn/gcc-trunk/binary-154706-lto/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --enable-languages=c,c++,lto --prefix=/mnt/svn/gcc-trunk/binary-154706-lto Thread model: posix gcc version 4.5.0 20091127 (experimental) (GCC) COLLECT_GCC_OPTIONS='-O2' '-ftree-loop-distribution' '-c' '-o' 'tmp.o' '-v' '-mtune=generic' /mnt/svn/gcc-trunk/binary-154706-lto/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1 -quiet -v file.c -quiet -dumpbase file.c -mtune=generic -auxbase-strip tmp.o -O2 -version -ftree-loop-distribution -o /tmp/ccGTZYvH.s GNU C (GCC) version 4.5.0 20091127 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20091127 (experimental), GMP version 4.3.1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/mnt/svn/gcc-trunk/binary-154706-lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /mnt/svn/gcc-trunk/binary-154706-lto/include /mnt/svn/gcc-trunk/binary-154706-lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/include /mnt/svn/gcc-trunk/binary-154706-lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/include-fixed /usr/include End of search list. GNU C (GCC) version 4.5.0 20091127 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20091127 (experimental), GMP version 4.3.1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 6ceb3c4a53027ce4dbc9ea8fb31afa70 file.c: In function ‘f’: file.c:4:6: error: type mismatch in binary expression long unsigned int <unnamed-signed:64> long unsigned int D.2734_16 = D.2733_15 - D.2730_10; file.c:4:6: error: type mismatch in binary expression long unsigned int <unnamed-signed:64> long unsigned int D.2742_24 = D.2741_23 - D.2738_20; file.c:4:6: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- Summary: [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz GCC host triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42215