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

            Bug ID: 78298
           Summary: ICE in lookup_decl_in_outer_ctx, bei omp-low.c:4115
           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: ---

Gives an ICE down to at least 4.8, at -Og, -Os, -O1 or higher.
Effectively legal code, but program contains an (here unused)
internal subroutine/function with access to some variables.


$ cat z1.f90
program p
   integer :: i, j, n
   n = 2
   !$omp parallel
   !$omp do
   do i = 1, n
      !$omp parallel
      !$omp do
      do j = 1, n
         call sub(i)
      end do
      !$omp end parallel
   end do
   !$omp end parallel
   !call unused()
contains
   subroutine sub(x)
      integer :: x
   end
   subroutine unused()
      i = 0
      j = 0
   end
end


$ gfortran-7-20161106 -fopenmp -O2 z1.f90
z1.f90:7:0:

       !$omp parallel

internal compiler error: in lookup_decl_in_outer_ctx, at omp-low.c:4115
0xb1df28 lookup_decl_in_outer_ctx
        ../../gcc/omp-low.c:4115
0xb407a3 lower_send_shared_vars
        ../../gcc/omp-low.c:6259
0xb407a3 lower_omp_taskreg
        ../../gcc/omp-low.c:15681
0xb32306 lower_omp_1
        ../../gcc/omp-low.c:17033
0xb32306 lower_omp
        ../../gcc/omp-low.c:17177
0xb3200c lower_omp_1
        ../../gcc/omp-low.c:17025
0xb3200c lower_omp
        ../../gcc/omp-low.c:17177
0xb4246d lower_omp_for
        ../../gcc/omp-low.c:15133
0xb324d6 lower_omp_1
        ../../gcc/omp-low.c:17040
0xb324d6 lower_omp
        ../../gcc/omp-low.c:17177
0xb3200c lower_omp_1
        ../../gcc/omp-low.c:17025
0xb3200c lower_omp
        ../../gcc/omp-low.c:17177
0xb403aa lower_omp_taskreg
        ../../gcc/omp-low.c:15659
0xb32306 lower_omp_1
        ../../gcc/omp-low.c:17033
0xb32306 lower_omp
        ../../gcc/omp-low.c:17177
0xb3166c lower_omp_1
        ../../gcc/omp-low.c:17016
0xb3166c lower_omp
        ../../gcc/omp-low.c:17177
0xb3200c lower_omp_1
        ../../gcc/omp-low.c:17025
0xb3200c lower_omp
        ../../gcc/omp-low.c:17177
0xb391ef execute_lower_omp
        ../../gcc/omp-low.c:17912

Reply via email to