The code from the attachment causes arm-rtems-gcc/arm-elf-gcc to ICE at -O3: # arm-rtems4.7-gcc -msoft-float -O3 -c clnt_tcp.i ../../../../../../../rtems.orig/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c: In function `clnttcp_call': ../../../../../../../rtems.orig/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c:291: warning: assignment from incompatible pointer type ../../../../../../../rtems.orig/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c:328: internal compiler error: in verify_local_live_at_start, at flow.c:546 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. It does not ice with optimization levels < 3. # arm-rtems4.7-gcc --version arm-rtems4.7-gcc (GCC) 3.4.3 20041103 (prerelease) This is a regression against gcc-3.2.3 which compiles the code without error.
This looks close to PR 15342, I am going to assume it works at -O2.
Created attachment 7470 [details] *.i of a real world source files triggering the ICE
Thanks, yes, 15342 looks very similar. And yes, it does not ice at -O2 (This is what I had meant by writing "it does not ice at optimization levels < 3").
Appears to be fixed in gcc 4.0.0 (20050122).
*** This bug has been marked as a duplicate of 15342 ***