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

            Bug ID: 77694
           Summary: ICE in optimize_binop_array_assignment, at
                    fortran/frontend-passes.c:1080
           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: ---

Invalid code with an unknown operator (here .nt. instead of .not.).
For versions down to at least 4.8, at -Og, -Os, -O1 or higher.
No ICE with option -fno-frontend-optimize.


$ cat z1.f90
program p
   logical :: x(2), y(2)
   x = .true.
   y = .nt. x
end


$ cat z2.f90
program p
   logical :: x, y(2)
   x = .true.
   y = .nt. x
end


$ gfortran-7-20160918 -O2 z1.f90
z1.f90:4:7:

    y = .nt. x
       1
Error: Unknown operator 'nt' at (1)
f951: internal compiler error: Segmentation fault
0xc21a5f crash_signal
        ../../gcc/toplev.c:336
0x7b3550 optimize_binop_array_assignment
        ../../gcc/fortran/frontend-passes.c:1080
0x7b44ae optimize_assignment
        ../../gcc/fortran/frontend-passes.c:1199
0x7b44ae optimize_code
        ../../gcc/fortran/frontend-passes.c:236
0x7b6ea9 gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int
(*)(gfc_expr**, int*, void*), void*)
        ../../gcc/fortran/frontend-passes.c:3412
0x7b7f04 optimize_namespace
        ../../gcc/fortran/frontend-passes.c:1020
0x7b80c0 gfc_run_passes(gfc_namespace*)
        ../../gcc/fortran/frontend-passes.c:132
0x6f2287 gfc_resolve(gfc_namespace*)
        ../../gcc/fortran/resolve.c:15760
0x6dd21a resolve_all_program_units
        ../../gcc/fortran/parse.c:5875
0x6dd21a gfc_parse_file()
        ../../gcc/fortran/parse.c:6127
0x71faa2 gfc_be_parse_file
        ../../gcc/fortran/f95-lang.c:198

Reply via email to