I received the following ICE with current GCC CVS:
$ /usr/lib/gcc/i586-suse-linux/4.0.0/cc1 -fpreprocessed splinesave.i -quiet
-dumpbase splinesave.c -march=i686 -mtune=i686 -auxbase-strip splinesave.o -O2
-Wall-Wmissing-prototypes -Wunused -Wimplicit -Wreturn-type -Wparentheses
-Wformat -Wchar-subscripts -version -fmessage-length=0 -fno-strict-aliasing -o
splinesave.s
GNU C version 4.0.0 20041231 (experimental) (SUSE Linux) (i586-suse-linux)
compiled by GNU C version 4.0.0 20041231 (experimental) (SUSE Linux).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
splinesave.c: In function ?NumberHints?:
splinesave.c:92: warning: ?i? may be used uninitialized in this function
splinesave.c: In function ?_CvtPsSplineSet?:
splinesave.c:862: error: address taken, but ADDRESSABLE bit not set
temp3D.13981
splinesave.c:862: internal compiler error: verify_stmts failed.
Please submit a full bug report,
with preprocessed source if appropriate.
I reduced the testcase a little bit and get on Linux/x86-64 with -m32 the
following additional information:
(gdb) r -m32 -fpreprocessed splinesave.i -quiet -dumpbase splinesave.c
-march=i686 -mtune=i686 -auxbase-strip splinesave.o -O2 -Wall
-Wmissing-prototypes -Wunused -Wimplicit -Wreturn-type -Wparentheses -Wformat
-Wchar-subscripts -version -fmessage-length=0 -fno-strict-aliasing -o
splinesave.s
GNU C version 4.0.0 20041231 (experimental) (x86_64-suse-linux-gnu)
compiled by GNU C version 4.0.0 20041231 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
splinesave.i: In function ?_CvtPsSplineSet?:
splinesave.i:6402: error: address taken, but ADDRESSABLE bit not set
temp3D.12084
Breakpoint 2, internal_error (msgid=0x850fdd "verify_stmts failed.")
at /cvs/gcc/gcc/diagnostic.c:496
496 {
(gdb) bt
#0 internal_error (msgid=0x850fdd "verify_stmts failed.")
at /cvs/gcc/gcc/diagnostic.c:496
#1 0x000000000046b1ae in verify_stmts () at /cvs/gcc/gcc/tree-cfg.c:3547
#2 0x00000000004f242b in tree_ssa_iv_optimize (loops=0xb7e1d0)
at /cvs/gcc/gcc/tree-ssa-loop-ivopts.c:5155
#3 0x000000000047bc46 in execute_pass_list (pass=0xa72d80)
at /cvs/gcc/gcc/tree-optimize.c:525
#4 0x000000000047bcdb in execute_pass_list (pass=0xa730e0)
at /cvs/gcc/gcc/tree-optimize.c:563
#5 0x000000000047bcdb in execute_pass_list (pass=0xa6e0c0)
at /cvs/gcc/gcc/tree-optimize.c:563
#6 0x000000000047bf39 in tree_rest_of_compilation (fndecl=0x2a95a76b60)
at /cvs/gcc/gcc/tree-optimize.c:661
#7 0x0000000000419c73 in c_expand_body (fndecl=0x2a95a76b60)
at /cvs/gcc/gcc/c-decl.c:6383
#8 0x000000000078af50 in cgraph_expand_function (node=0x2a95a7b000)
at /cvs/gcc/gcc/cgraphunit.c:822
#9 0x000000000078c5b1 in cgraph_optimize () at /cvs/gcc/gcc/cgraphunit.c:1689
#10 0x00000000007381b1 in toplev_main (argc=Variable "argc" is not available.
) at /cvs/gcc/gcc/toplev.c:1005
#11 0x0000002a9568900d in __libc_start_main () from /lib64/tls/libc.so.6
#12 0x00000000004025ea in _start () at start.S:113
--
Summary: ICE: verify_stmts failed: address taken, but ADDRESSABLE
bit not set
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aj at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,rakdver at gcc dot gnu
dot org
GCC build triplet: i586-pc-linux-gnu
GCC host triplet: i586-pc-linux-gnu
GCC target triplet: i586-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19217