This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/44570] New: [OOP] ICE on allocated statement with polymorphic derived type array


This one might be related to bug 44568 since it is also related to polymorphic
derived type arrays.

module ice8

  type::a_type
  end type a_type

  contains

  subroutine do_something()
    class(a_type),dimension(:),allocatable::values
    if(allocated(values))deallocate(values)
  end subroutine do_something

end module ice8

The compiler output:

gimplification failed:
&values.$data <addr_expr 0x7fc2f671e600
    type <pointer_type 0x7fc2f6816000
        type <record_type 0x7fc2f6811a80 array1_a_type type_1 BLK
            size <integer_cst 0x7fc2f680c4b0 constant 384>
            unit size <integer_cst 0x7fc2f6807708 constant 48>
            align 64 symtab 0 alias set -1 canonical type 0x7fc2f6811b28 fields
<field_decl 0x7fc2f680d8e8 data>
            pointer_to_this <pointer_type 0x7fc2f6816000> chain <type_decl
0x7fc2f68132e0 D.1557>>
        public unsigned DI
        size <integer_cst 0x7fc2f671b7a8 constant 64>
        unit size <integer_cst 0x7fc2f671b7d0 constant 8>
        align 64 symtab 0 alias set -1 canonical type 0x7fc2f68160a8>

    arg 0 <component_ref 0x7fc2f672a1c0 type <record_type 0x7fc2f6811a80
array1_a_type>

        arg 0 <var_decl 0x7fc2f68120a0 values type <record_type 0x7fc2f6811690
class$a_type_1_a>
            addressable used BLK file /scratch/tmp/gfortran_int_err/ice8.f03
line 30 col 0
            size <integer_cst 0x7fc2f68079d8 constant 448>
            unit size <integer_cst 0x7fc2f6807a28 constant 56>
            align 64 context <function_decl 0x7fc2f680fd00 do_something>>
        arg 1 <field_decl 0x7fc2f6817000 $data type <record_type 0x7fc2f6811a80
array1_a_type>
            BLK file /scratch/tmp/gfortran_int_err/ice8.f03 line 30 col 0 size
<integer_cst 0x7fc2f680c4b0 384> unit size <integer_cst 0x7fc2f6807708 48>
            align 64 offset_align 128
            offset <integer_cst 0x7fc2f671b410 constant 0>
            bit offset <integer_cst 0x7fc2f671bb18 constant 0> context
<record_type 0x7fc2f6811690 class$a_type_1_a> chain <field_decl 0x7fc2f6817098
$vptr>>>>
/scratch/tmp/gfortran_int_err/ice8.f03: In Funktion »do_something«:
/scratch/tmp/gfortran_int_err/ice8.f03:29:0: interner Compiler-Fehler:
Gimplifikation gescheitert


-- 
           Summary: [OOP] ICE on allocated statement with polymorphic
                    derived type array
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: boschmann at tp1 dot physik dot uni-siegen dot de


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]