https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100971

            Bug ID: 100971
           Summary: ICE: Bad IO basetype (7)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

This invalid code z1 affects versions down to at least r5.
For reference, the case z0 is already rejected.


$ cat z0.f90
program p
   type t
   end type
   class(t), allocatable :: a
   print *, a
end


$ cat z1.f90
program p
   type t
   end type
   class(t), allocatable :: a
   print *, [a]
end


$ gfortran-12-20210606 -c z0.f90
z0.f90:5:13:

    5 |    print *, a
      |             1
Error: Data transfer element at (1) cannot be polymorphic unless it is
processed by a defined input/output procedure


$ gfortran-12-20210606 -c z1.f90
f951: internal compiler error: Bad IO basetype (7)
0x6ea049 gfc_report_diagnostic
        ../../gcc/fortran/error.c:782
0x6eb76a gfc_internal_error(char const*, ...)
        ../../gcc/fortran/error.c:1402
0x7f9e09 transfer_expr
        ../../gcc/fortran/trans-io.c:2507
0x7fd430 gfc_trans_transfer(gfc_code*)
        ../../gcc/fortran/trans-io.c:2661
0x79e6c7 trans_code
        ../../gcc/fortran/trans.c:2138
0x7faefe build_dt
        ../../gcc/fortran/trans-io.c:2026
0x79e6a7 trans_code
        ../../gcc/fortran/trans.c:2110
0x7c4bc4 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.c:6893
0x74b3f6 translate_all_program_units
        ../../gcc/fortran/parse.c:6461
0x74b3f6 gfc_parse_file()
        ../../gcc/fortran/parse.c:6730
0x79772f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:212

Reply via email to