Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flang compile issue with THREADPRIVATE and use only #1213

Open
dsGoose opened this issue Jan 24, 2022 · 0 comments
Open

Flang compile issue with THREADPRIVATE and use only #1213

dsGoose opened this issue Jan 24, 2022 · 0 comments

Comments

@dsGoose
Copy link

dsGoose commented Jan 24, 2022

Hi,

A variable labeled threadprivate in a fortran module lose his state after a use instruction follow by : only, in user module. A simple test case attached to this email

This test case do not compile with flang and openmp(fland -fopenmp -…… -march=…. Main.f90)
F90-S-0155-tab is not THREADPRIVATE (main.f90: 7)
If we remove : only in mod1_m then the issue disappear.

here is a test case to reproduce :

module mod_m
        implicit none
        integer, pointer, dimension(:) :: tab=>null()
!$omp threadprivate(tab)
        integer, parameter :: info=4
        integer:: autre=6

        contains

        subroutine create(n)
                implicit none
                integer, intent(in) ::n
                integer::i
                allocate (tab(n))
                do i=1,n
                   tab(i)=i
                end do
                print*,"alloue"
        end subroutine create
end module mod_m

module mod1_m
  use mod_m, only : tab, create

  implicit none

end module mod1_m



program main
        use mod1_m
        implicit none


        call create(4)
!$omp parallel default(private) copyin(tab)
        if (associated(tab)) then
 		print*,"associe"
        else
           	print*,"pas associe"
        endif
!$omp end parallel

end program main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant