When compiling the attached C code with optimisation, I get an ICE: $ /home/eschnett/gcc-3.5-tree-ssa/bin/gcc -v Reading specs from /home/eschnett/gcc-3.5-tree-ssa/lib/gcc/i686-pc-linux-gnu/3.5-tree-ssa/specs Configured with: ../gcc/configure --prefix=/home/eschnett/gcc-3.5-tree-ssa --enable-languages=c,c++,f95 Thread model: posix gcc version 3.5-tree-ssa 20040304 (merged 20040227) $ /home/eschnett/gcc-3.5-tree-ssa/bin/gcc -DCARPET_INT -DCARPET_REAL -DCARPET_COMPLEX -march=pentium3 -malign-double -m128bit-long-double -g3 -gdwarf-2 -O3 -funroll-loops -Wall -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-declarations simpleexcision.i -c In file included from /home/eschnett/Calpha/Cactus/configs/einstein-gfortran/build/BAM_Elliptic/simpleexcision.c:8: /home/eschnett/Calpha/Cactus/arrangements/AEIThorns/BAM_Elliptic/src/bbmg.h:44: warning: function declaration isn't a prototype /home/eschnett/Calpha/Cactus/configs/einstein-gfortran/build/BAM_Elliptic/simpleexcision.c: In function `iniboundmask': /home/eschnett/Calpha/Cactus/configs/einstein-gfortran/build/BAM_Elliptic/simpleexcision.c:63: internal compiler error: Segmentation fault
Created attachment 5859 [details] failing source code
Reduced testcase that segfaults when compiled with "-O2 -march=i686" ========================= int i; void foo(int *p) { i=0; if (*p) i=1; } =========================
This is almost definitely a RTL problem.
The problem disappeared today.