aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90')
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f9021
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90
new file mode 100644
index 000000000..b27673d01
--- /dev/null
+++ b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/stack.f90
@@ -0,0 +1,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