gfortran -fwhole-file gfortran.dg/select_type_4.f90

gfortran.dg/select_type_4.f90: In function 'MAIN__':
gfortran.dg/select_type_4.f90:96:0: internal compiler error: Segmentation fault

==24333== Invalid read of size 8
==24333==    at 0x55EA3C: gfc_conv_structure (trans-expr.c:4413)
==24333==    by 0x5652E6: gfc_conv_initializer (trans-expr.c:3970)
==24333==    by 0x554EDB: gfc_get_symbol_decl (trans-decl.c:1263)
==24333==    by 0x55592F: generate_local_decl (trans-decl.c:3786)
==24333==    by 0x52B436: traverse_ns (symbol.c:3273)
==24333==    by 0x52B425: traverse_ns (symbol.c:3270)
==24333==    by 0x52B425: traverse_ns (symbol.c:3270)
==24333==    by 0x559D03: gfc_generate_function_code (trans-decl.c:3899)
==24333==    by 0x506A27: gfc_parse_file (parse.c:4071)
==24333==    by 0x53C097: gfc_be_parse_file (f95-lang.c:239)
==24333==    by 0x8253EB: toplev_main (toplev.c:1053)
==24333==    by 0x5EB3BDC: (below main) (in /lib64/libc-2.11.1.so)


The segfault does thus occur for when accessing the argument of
gfc_conv_initializer:

      if (cm->ts.type == BT_CLASS)
        {
          gfc_component *data;
          data = gfc_find_component (cm->ts.u.derived, "$data", true, true);
          val = gfc_conv_initializer (c->expr, &cm->ts,
                                      TREE_TYPE (data->backend_decl),
                                      data->attr.dimension,
                                      data->attr.pointer);


-- 
           Summary: [-fwhole-file] ICE segfault for select_type_4.f90
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43043

Reply via email to