[Bug fortran/55824] New: [OOP] ICE with ALLOCATE and SOURCE= TRANSPOSE/RESHAPE

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 28 16:50:00 GMT 2012


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

             Bug #: 55824
           Summary: [OOP] ICE with ALLOCATE and SOURCE= TRANSPOSE/RESHAPE
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org
                CC: janus@gcc.gnu.org, pault@gcc.gnu.org


Created attachment 29057
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29057
Failing test case

The following example by Reinhold Bader gives an ICE.

It uses CLASS(*) but allegedly the issue also occurs with nonunlimited
polymorphics.

The ICE occurs for:

  class(*), allocatable :: x(:,:), y(:,:), z(:)
...
  allocate(y(3,3), source=transpose(x)) ! <<< ICE
...
  allocate(z(9), source=reshape(x, (/ 9 /))) ! <<< ICE


Backtraces:


0x5fd05b gfc_conv_scalarized_array_ref
        ../../gcc/fortran/trans-array.c:3042
0x5fda71 gfc_conv_array_ref(gfc_se*, gfc_array_ref*, gfc_symbol*, locus*)
        ../../gcc/fortran/trans-array.c:3168
0x62ba7f gfc_conv_variable
        ../../gcc/fortran/trans-expr.c:1795

and


0x62794d gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*,
gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
        ../../gcc/fortran/trans-expr.c:4955
0x63f7b5 conv_generic_with_optional_char_arg
        ../../gcc/fortran/trans-intrinsic.c:4526
0x63f7b5 gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-intrinsic.c:6306
0x628488 gfc_conv_function_expr
        ../../gcc/fortran/trans-expr.c:5524
0x628488 gfc_conv_expr(gfc_se*, gfc_expr*)



More information about the Gcc-bugs mailing list