https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70937
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org Component|middle-end |fortran Target Milestone|--- |7.0 Summary|[7.0 Regression] ICE: tree |[7 Regression] ICE: tree |code ‘ssa_name’ is not |code ‘ssa_name’ is not |supported in LTO streams |supported in LTO streams --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- This is fallout of gimplify-into-SSA and another case where SAVE_EXPRs inside type sizes are corrupted. I fixed one testsuite occurance with 2016-05-02 Richard Biener <rguent...@suse.de> * trans-array.c (gfc_trans_create_temp_array): Properly create a DECL_EXPR for the anonymous VLA array type. but suspected more places need fixing. The affected type is constructed via #0 0x00000000009291a3 in gfc_get_character_type_len_for_eltype ( eltype=<integer_type 0x7ffff688b540 character(kind=1)>, len=<parm_decl 0x7ffff6a37280 _args>) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-types.c:1026 #1 0x0000000000929214 in gfc_get_character_type_len (kind=1, len=<parm_decl 0x7ffff6a37280 _args>) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-types.c:1036 #2 0x00000000009292d8 in gfc_get_character_type (kind=1, cl=0x26c9420) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-types.c:1051 #3 0x00000000009293d5 in gfc_typenode_for_spec (spec=0x26c8040) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-types.c:1095 #4 0x00000000008a78b6 in gfc_build_dummy_array_decl (sym=0x26c8020, dummy=<parm_decl 0x7ffff6a37300 args>) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-decl.c:1106 #5 0x00000000008a8dad in gfc_get_symbol_decl (sym=0x26c8020) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-decl.c:1471 #6 0x00000000008b6e4d in generate_local_decl (sym=0x26c8020) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-decl.c:5220 #7 0x000000000085fd94 in do_traverse_symtree (st=0x26c77b0, st_func=0x0, sym_func=0x8b6d89 <generate_local_decl(gfc_symbol*)>) at /space/rguenther/src/svn/trunk/gcc/fortran/symbol.c:3817 and it needs to be handled similarly. Possibly somewhere here: #4 0x00000000008a78b6 in gfc_build_dummy_array_decl (sym=0x26c8020, dummy=<parm_decl 0x7ffff6a37300 args>) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-decl.c:1106 1106 : gfc_typenode_for_spec (&sym->ts); (gdb) l 1101 } 1102 1103 /* For classarrays the element type is required, but 1104 gfc_typenode_for_spec () returns the array descriptor. */ 1105 type = is_classarray ? gfc_get_element_type (type) 1106 : gfc_typenode_for_spec (&sym->ts); 1107 type = gfc_get_nodesc_array_type (type, as, packed, 1108 !sym->attr.target); or here: #5 0x00000000008a8dad in gfc_get_symbol_decl (sym=0x26c8020) at /space/rguenther/src/svn/trunk/gcc/fortran/trans-decl.c:1471 1471 decl = gfc_build_dummy_array_decl (sym, sym->backend_decl); (gdb) l 1466 1467 /* Use a copy of the descriptor for dummy arrays. */ 1468 if ((sym->attr.dimension || sym->attr.codimension) 1469 && !TREE_USED (sym->backend_decl)) 1470 { 1471 decl = gfc_build_dummy_array_decl (sym, sym->backend_decl); 1472 /* Prevent the dummy from being detected as unused if it is copied. */ 1473 if (sym->backend_decl != NULL && decl != sym->backend_decl) 1474 DECL_ARTIFICIAL (sym->backend_decl) = 1; 1475 sym->backend_decl = decl;