if (b().ne.2) call abort
contains
subroutine a
!$omp parallel
!$omp end parallel
end subroutine a
function b()
integer :: b
b = 1
!$ b = 2
end function b
end