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

            Bug ID: 108010
           Summary: ICE in reduce_unary, at fortran/arith.cc:1345
           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
   print *, -[real :: [real ::], 2]
end


$ cat z2.f90
program p
   print *, +[integer :: [real ::], 2]
   print *, -[integer :: [real ::], 2]
   print *, 1 + [integer :: [real ::], 2]
   print *, 1 - [integer :: [real ::], 2]
   print *, 2 * [integer :: [real ::], 2]
   print *, +[integer :: [real ::]]
   print *, -[integer :: [real ::]]
   print *, 1 + [integer :: [real ::]]
   print *, 1 - [integer :: [real ::]]
   print *, 2 * [integer :: [real ::]]
end


$ cat z3.f90
program p
   print *, [integer :: [real ::]] + [integer :: [real ::]]
   print *, [integer :: [real ::]] - [integer :: [real ::]]
   print *, [integer :: [real ::]] * [integer :: [real ::]]
   print *, [integer :: [real ::], 2] + [real :: [real ::], 3]
   print *, [integer :: [real ::], 2] - [real :: [real ::], 3]
   print *, [integer :: [real ::], 2] * [real :: [real ::], 3]
end


$ cat z0.f90
program p
   print *, [integer :: [integer ::], 2]
   print *, [real :: [real ::], 2]
end


$ gfortran-13-20221204 z0.f90 && ./a.out
           2
   2.00000000


$ gfortran-13-20221204 -c z1.f90
f951: internal compiler error: Segmentation fault
0xf488bf crash_signal
        ../../gcc/toplev.cc:314
0x7d7ebd reduce_unary
        ../../gcc/fortran/arith.cc:1345
0x7d7e91 reduce_unary
        ../../gcc/fortran/arith.cc:1332
0x7d8638 eval_intrinsic
        ../../gcc/fortran/arith.cc:1706
0x84baa4 match_level_2
        ../../gcc/fortran/matchexp.cc:490
0x84bac2 match_level_3
        ../../gcc/fortran/matchexp.cc:551
0x84bbb4 match_level_4
        ../../gcc/fortran/matchexp.cc:599
0x84bbb4 match_and_operand
        ../../gcc/fortran/matchexp.cc:693
0x84bda2 match_or_operand
        ../../gcc/fortran/matchexp.cc:722
0x84be72 match_equiv_operand
        ../../gcc/fortran/matchexp.cc:765
0x84bf44 match_level_5
        ../../gcc/fortran/matchexp.cc:811
0x84b311 gfc_match_expr(gfc_expr**)
        ../../gcc/fortran/matchexp.cc:870
0x832a09 match_io_element
        ../../gcc/fortran/io.cc:3668
0x83533a match_io_list
        ../../gcc/fortran/io.cc:3716
0x83573e match_io
        ../../gcc/fortran/io.cc:4394
0x83923a gfc_match_print()
        ../../gcc/fortran/io.cc:4450
0x86b501 match_word
        ../../gcc/fortran/parse.cc:67
0x871163 decode_statement
        ../../gcc/fortran/parse.cc:539
0x87159a next_free
        ../../gcc/fortran/parse.cc:1403
0x87159a next_statement
        ../../gcc/fortran/parse.cc:1635

Reply via email to