summaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c-c++-common/depend-iterator-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgomp/testsuite/libgomp.c-c++-common/depend-iterator-2.c')
-rw-r--r--libgomp/testsuite/libgomp.c-c++-common/depend-iterator-2.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.c-c++-common/depend-iterator-2.c b/libgomp/testsuite/libgomp.c-c++-common/depend-iterator-2.c
new file mode 100644
index 00000000000..d9cbfdcbe79
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c-c++-common/depend-iterator-2.c
@@ -0,0 +1,63 @@
+volatile int v;
+
+__attribute__((noipa)) void
+foo (int *p, int i)
+{
+ #pragma omp task depend (out: p[0])
+ v++;
+ #pragma omp task depend (in: p[0])
+ v++;
+ #pragma omp task depend (inout: p[0])
+ v++;
+ #pragma omp task depend (mutexinoutset: p[0])
+ v++;
+ #pragma omp task depend (out: p[0]) depend (in: p[1])
+ v++;
+ #pragma omp task depend (in: p[0]) depend (inout: p[1])
+ v++;
+ #pragma omp task depend (inout: p[0]) depend (mutexinoutset: p[1])
+ v++;
+ #pragma omp task depend (mutexinoutset: p[0]) depend (out: p[1])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , out : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , in : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , inout : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , mutexinoutset : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , out : p[j]) depend (iterator (j=0:2) , in : p[j + 2])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , in : p[j]) depend (iterator (j=0:2) , inout : p[j + 2])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , inout : p[j]) depend (iterator (j=0:2) , mutexinoutset : p[j + 2])
+ v++;
+ #pragma omp task depend (iterator (j=0:2) , mutexinoutset : p[j]) depend (iterator (j=0:2) , out : p[j + 2])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , out : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , in : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , inout : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , mutexinoutset : p[j])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , out : p[j]) depend (iterator (j=0:i) , in : p[j + 2])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , in : p[j]) depend (iterator (j=0:i) , inout : p[j + 2])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , inout : p[j]) depend (iterator (j=0:i) , mutexinoutset : p[j + 2])
+ v++;
+ #pragma omp task depend (iterator (j=0:i) , mutexinoutset : p[j]) depend (iterator (j=0:i) , out : p[j + 2])
+ v++;
+}
+
+int
+main ()
+{
+ int p[4];
+ foo (p, 2);
+ foo (p, -1);
+ return 0;
+}