This error happens while building xscreensaver 5.11 at gentoo, using gentoo's gcc 4.5.1: x86_64-pc-linux-gnu-gcc -c -I. -I. -I./../../utils -I./.. -I../.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/libxml2 -I/usr/include/libglade-2.0 -pthread -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DSTANDALONE -DUSE_GL -DHAVE_CONFIG_H -march=native -O2 -pipe -fgraphite-identity -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -I/usr/include glcells.c glcells.c: In function ‘create_list.clone.0’: glcells.c:846:12: internal compiler error: in sese_loop_depth, at sese.h:172 Gentoo applies those patches: http://distfiles.gentoo.org/distfiles/gcc-4.5.1-patches-1.0.tar.bz2 (But they seem unrelated) Following the bug guidelines I made a minimal test case: (x64) red tmp # x86_64-pc-linux-gnu-gcc -O2 -fgraphite-identity -ftree-loop-distribution glcells.i -v Using built-in specs. COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.1/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-4.5.1/work/gcc-4.5.1/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.1 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --with-ppl --with-cloog --enable-lto --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --enable-cld --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/python --enable-checking=release --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.5.1 p1.0, pie-0.4.5' Thread model: posix gcc version 4.5.1 (Gentoo 4.5.1 p1.0, pie-0.4.5) COLLECT_GCC_OPTIONS='-O2' '-fgraphite-identity' '-ftree-loop-distribution' '-v' '-mtune=generic' '-march=x86-64' /usr/libexec/gcc/x86_64-pc-linux-gnu/4.5.1/cc1 -fpreprocessed glcells.i -quiet -dumpbase glcells.i -mtune=generic -march=x86-64 -auxbase glcells -O2 -version -fgraphite-identity -ftree-loop-distribution -o /tmp/ccby2wxc.s GNU C (Gentoo 4.5.1 p1.0, pie-0.4.5) version 4.5.1 (x86_64-pc-linux-gnu) compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C (Gentoo 4.5.1 p1.0, pie-0.4.5) version 4.5.1 (x86_64-pc-linux-gnu) compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: c718f41cef5edae99a78fff10723b0bf glcells.c: In function ‘create_list.clone.0’: glcells.c:846:12: internal compiler error: in sese_loop_depth, at sese.h:172 Please submit a full bug report, with preprocessed source if appropriate. See <http://bugs.gentoo.org/> for instructions.
Created attachment 21708 [details] preprocessed file
Mine. I can see this ICE on the 4.5 branch. On trunk this has been fixed.
I can see a different error than what reported: glcells.c:846:12: internal compiler error: in chrec_component_in_loop_num, at tree-chrec.c:758 I'm reducing the testcase using delta.
Reduced testcase: typedef struct { double z; } Vector; typedef struct { float *vertex; float *normal; } VertexArray; typedef struct { Vector *vertex; int num_vertex; } ObjectSmooth; typedef struct { int num_cells; } State; static void *array_from_ObjectSmooth( ObjectSmooth *obj ) { int i, j; VertexArray *array = (VertexArray *) malloc( sizeof( VertexArray ) ); array->vertex = (float *) malloc( 3*sizeof(float)*obj->num_vertex ); array->normal = (float *) malloc( 3*sizeof(float)*obj->num_vertex ); for (i=0, j=0; i<obj->num_vertex; ++i) { array->normal[j++] = 9; array->vertex[j] = obj->vertex[i].z; array->normal[j++] = 1; } } static void draw_cell( void ) { glCallList( array_from_ObjectSmooth( (ObjectSmooth *) malloc(10) )); } static int render( State *st) { int b; for (b=0; b<st->num_cells; ++b) { draw_cell(); draw_cell(); } } reshape_glcells( int width, int height ) { render( 0 ); }
This is a duplicate of PR45758 that has been fixed on trunk. I backported this change to the 4.5 branch and that fixes the testcase. I will commit the fix after regstrap. *** This bug has been marked as a duplicate of bug 45758 ***
Author: spop Date: Thu Dec 23 18:52:04 2010 New Revision: 168213 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168213 Log: Fix PR45552: backport fix for PR45758 to 4.5 branch. 2010-12-23 Sebastian Pop <sebastian.pop@amd.com> Backport from mainline Fix PR45758: reset scevs before Graphite. 2010-09-24 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/45552 * graphite.c (graphite_initialize): Call scev_reset. * gcc.dg/graphite/pr45552.c Added: branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/graphite/pr45552.c Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/graphite.c branches/gcc-4_5-branch/gcc/testsuite/ChangeLog