trunk, revision 123843 gives for -ftree-loop-linear:
Program received signal SIGSEGV, Segmentation fault.
0x082dfc97 in remove_referenced_var (var=0xb7ca961c)
at ../../../src/gcc-4.3/gcc/tree-dfa.c:791
791 ggc_free (*loc);
(gdb) bt
#0 0x082dfc97 in remove_referenced_var (var=0xb7ca961c)
at ../../../src/gcc-4.3/gcc/tree-dfa.c:791
#1 0x0833535a in remove_unused_locals ()
at ../../../src/gcc-4.3/gcc/tree-ssa-live.c:518
#2 0x08222641 in execute_function_todo (data=0x21)
at ../../../src/gcc-4.3/gcc/passes.c:865
#3 0x08222387 in do_per_function (callback=0x8222554 <execute_function_todo>,
data=0x21) at ../../../src/gcc-4.3/gcc/passes.c:757
#4 0x08222818 in execute_todo (flags=33)
at ../../../src/gcc-4.3/gcc/passes.c:935
#5 0x08222bb3 in execute_one_pass (pass=0x871f840)
at ../../../src/gcc-4.3/gcc/passes.c:1080
#6 0x08222c35 in execute_pass_list (pass=0x871f840)
at ../../../src/gcc-4.3/gcc/passes.c:1110
#7 0x08222c51 in execute_pass_list (pass=0x871f4c0)
at ../../../src/gcc-4.3/gcc/passes.c:1111
#8 0x08222c51 in execute_pass_list (pass=0x871ed40)
at ../../../src/gcc-4.3/gcc/passes.c:1111
#9 0x082f9da4 in tree_rest_of_compilation (fndecl=0xb7c619f8)
at ../../../src/gcc-4.3/gcc/tree-optimize.c:412
#10 0x080bc124 in gfc_expand_function (fndecl=0xb7c619f8)
at ../../../src/gcc-4.3/gcc/fortran/f95-lang.c:237
#11 0x083eef01 in cgraph_expand_function (node=0xb7bf8700)
at ../../../src/gcc-4.3/gcc/cgraphunit.c:1016
#12 0x083ef0b1 in cgraph_expand_all_functions ()
at ../../../src/gcc-4.3/gcc/cgraphunit.c:1085
#13 0x083ef62e in cgraph_optimize ()
at ../../../src/gcc-4.3/gcc/cgraphunit.c:1288
#14 0x080bc2a3 in gfc_be_parse_file (set_yydebug=0)
at ../../../src/gcc-4.3/gcc/fortran/f95-lang.c:309
#15 0x082b8f9c in compile_file () at ../../../src/gcc-4.3/gcc/toplev.c:1050
#16 0x082ba762 in do_compile () at ../../../src/gcc-4.3/gcc/toplev.c:2124
#17 0x082ba7c4 in toplev_main (argc=17, argv=0xbfc79d94)
at ../../../src/gcc-4.3/gcc/toplev.c:2156
#18 0x080febc6 in main (argc=Cannot access memory at address 0x8
) at ../../../src/gcc-4.3/gcc/main.c:35
(gdb) p loc
$1 = (void **) 0x0
--
Summary: ICE in remove_referenced_var for loc == *0
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aldot at gcc dot gnu dot org
GCC build triplet: i686-linux-gnu
GCC host triplet: i686-linux-gnu
GCC target triplet: i686-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31611