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

            Bug ID: 78279
           Summary: ICE in identical_array_ref, at
                    fortran/dependency.c:104
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gerhard.steinmetz.fort...@t-online.de
  Target Milestone: ---

Using version 7 (--enable-checking=yes) on following invalid code
in combination with option -Ofast or -ffast-math :


$ cat z1.f90
program p
   integer :: i
   real :: z(2,4)
   z = 0.0
   do i = 1, 3
      if ( z(i) > z(1,i+1) ) print *, i
   end do
end


$ gfortran-7-20161106 -Ofast z1.f90
z1.f90:6:12:

       if ( z(i) > z(1,i+1) ) print *, i
            1
Error: Rank mismatch in array reference at (1) (1/2)
f951: internal compiler error: in identical_array_ref, at
fortran/dependency.c:104
0x71c8ae identical_array_ref
        ../../gcc/fortran/dependency.c:104
0x71c8ae are_identical_variables
        ../../gcc/fortran/dependency.c:164
0x71c8ae gfc_dep_compare_expr(gfc_expr*, gfc_expr*)
        ../../gcc/fortran/dependency.c:479
0x7c0a69 optimize_comparison
        ../../gcc/fortran/frontend-passes.c:1649
0x7c11b7 optimize_op
        ../../gcc/fortran/frontend-passes.c:1484
0x7c11b7 optimize_expr
        ../../gcc/fortran/frontend-passes.c:263
0x7c2265 gfc_expr_walker(gfc_expr**, int (*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:3313
0x7c3a78 gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int
(*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:3715
0x7c3a5c gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int
(*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:3717
0x7c49a4 optimize_namespace
        ../../gcc/fortran/frontend-passes.c:1022
0x7c4b60 gfc_run_passes(gfc_namespace*)
        ../../gcc/fortran/frontend-passes.c:132
0x6f76e7 gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:16035
0x6e1bba resolve_all_program_units
        ../../gcc/fortran/parse.c:5883
0x6e1bba gfc_parse_file()
        ../../gcc/fortran/parse.c:6130
0x725822 gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:198

Reply via email to