mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-11 19:49:32 +00:00
22 lines
479 B
Fortran
22 lines
479 B
Fortran
|
! { dg-do run }
|
||
|
program stack
|
||
|
implicit none
|
||
|
integer id
|
||
|
integer ilocs(2)
|
||
|
integer omp_get_thread_num, foo
|
||
|
call omp_set_num_threads (2)
|
||
|
!$omp parallel private (id)
|
||
|
id = omp_get_thread_num() + 1
|
||
|
ilocs(id) = foo()
|
||
|
!$omp end parallel
|
||
|
! Check that the two threads are not sharing a location for
|
||
|
! the array x in foo()
|
||
|
if (ilocs(1) .eq. ilocs(2)) call abort
|
||
|
end program stack
|
||
|
|
||
|
integer function foo ()
|
||
|
implicit none
|
||
|
real x(100,100)
|
||
|
foo = loc(x)
|
||
|
end function foo
|