summaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.fortran/stack.f90
blob: b27673d01fdac54f64a945ad34cca1ba220407ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
! { 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