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

            Bug ID: 107821
           Summary: ICE in gfc_conv_scalarized_array_ref, at
                    fortran/trans-array.cc:3723
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Affects versions down to at least r5 :


$ cat z1.f90
program p
   associate (a => 1)
      print *, [character((a(1))) :: '1']
   end associate
end

$ cat z2.f90
program p
   associate (a => 1)
      print *, [character((a((1)))) :: '1']
   end associate
end

$ cat z3.f90
program p
   associate (a => 1)
      print *, [character(((a(1)))) :: '1']
   end associate
end

$ cat z0.f90
program p
   associate (a => 1)
      print *, [character(a(1)) :: '1']
   end associate
end


$ gfortran-13-20221120 -c z0.f90
z0.f90:3:26:

    3 |       print *, [character(a(1)) :: '1']
      |                          1
Error: Scalar INTEGER expression expected at (1)


$ gfortran-13-20221120 -c z1.f90
z1.f90:3:41:

    3 |       print *, [character((a(1))) :: '1']
      |                                         1
internal compiler error: Segmentation fault
0xda0f4f crash_signal
        ../../gcc/toplev.cc:314
0x87e95a gfc_conv_scalarized_array_ref
        ../../gcc/fortran/trans-array.cc:3723
0x87f45e gfc_conv_array_ref(gfc_se*, gfc_array_ref*, gfc_expr*, locus*)
        ../../gcc/fortran/trans-array.cc:3879
0x8ae66e gfc_conv_variable
        ../../gcc/fortran/trans-expr.cc:3104
0x8aa9ea gfc_conv_expr(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9469
0x8aaaf6 gfc_conv_expr_op
        ../../gcc/fortran/trans-expr.cc:3782
0x8aaaf6 gfc_conv_expr(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9457
0x8ad813 gfc_conv_expr_val(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9514
0x8ad960 gfc_conv_expr_type(gfc_se*, gfc_expr*, tree_node*)
        ../../gcc/fortran/trans-expr.cc:9528
0x887e0f trans_array_constructor
        ../../gcc/fortran/trans-array.cc:2783
0x887e0f gfc_add_loop_ss_code
        ../../gcc/fortran/trans-array.cc:3181
0x8880f5 gfc_conv_loop_setup(gfc_loopinfo*, locus*)
        ../../gcc/fortran/trans-array.cc:5478
0x8ddd45 gfc_trans_transfer(gfc_code*)
        ../../gcc/fortran/trans-io.cc:2671
0x879a37 trans_code
        ../../gcc/fortran/trans.cc:2170
0x8db6ce build_dt
        ../../gcc/fortran/trans-io.cc:2051
0x879a17 trans_code
        ../../gcc/fortran/trans.cc:2142
0x8f71af gfc_trans_block_construct(gfc_code*)
        ../../gcc/fortran/trans-stmt.cc:2314
0x879917 trans_code
        ../../gcc/fortran/trans.cc:2046
0x8a2e1e gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.cc:7674
0x824fae translate_all_program_units
        ../../gcc/fortran/parse.cc:6696

Reply via email to