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

            Bug ID: 103473
           Summary: [11/12 Regression] ICE in simplify_minmaxloc_nodim, at
                    fortran/simplify.c:5287
           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: ---

There seems to be a difference between minloc/maxloc and other intrinsics.
This started recently between 20211031 and 20211107 :
(gcc configured with --enable-checking=yes)


$ cat z1.f90
subroutine s
   integer, parameter :: a(+'1') = [1]
   print *, minloc(a)
   print *, maxloc(a)
end


$ gfortran-12-20211128 -c z1.f90
z1.f90:2:27:

    2 |    integer, parameter :: a(+'1') = [1]
      |                           1
Error: Operand of unary numeric operator '+' at (1) is UNKNOWN
z1.f90:2:32:

    2 |    integer, parameter :: a(+'1') = [1]
      |                                1
Error: Parameter array 'a' at (1) cannot be automatic or of deferred shape
f951: internal compiler error: Segmentation fault
0xf0942f crash_signal
        ../../gcc/toplev.c:322
0x8650d0 simplify_minmaxloc_nodim
        ../../gcc/fortran/simplify.c:5287
0x86ed27 gfc_simplify_minmaxloc
        ../../gcc/fortran/simplify.c:5584
0x7ee3d2 do_simplify
        ../../gcc/fortran/intrinsic.c:4669
0x7f94aa gfc_intrinsic_func_interface(gfc_expr*, int)
        ../../gcc/fortran/intrinsic.c:5034
0x84d41c resolve_unknown_f
        ../../gcc/fortran/resolve.c:2972
0x84d41c resolve_function
        ../../gcc/fortran/resolve.c:3329
0x84d41c gfc_resolve_expr(gfc_expr*)
        ../../gcc/fortran/resolve.c:7166
0x853944 gfc_resolve_expr(gfc_expr*)
        ../../gcc/fortran/resolve.c:7133
0x853944 gfc_resolve_code(gfc_code*, gfc_namespace*)
        ../../gcc/fortran/resolve.c:11928
0x85228f gfc_resolve_blocks(gfc_code*, gfc_namespace*)
        ../../gcc/fortran/resolve.c:10944
0x852658 gfc_resolve_code(gfc_code*, gfc_namespace*)
        ../../gcc/fortran/resolve.c:11918
0x854f97 resolve_codes
        ../../gcc/fortran/resolve.c:17536
0x85505e gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:17571
0x83d314 resolve_all_program_units
        ../../gcc/fortran/parse.c:6573
0x83d314 gfc_parse_file()
        ../../gcc/fortran/parse.c:6829
0x88b37f gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:216

Reply via email to