diff options
Diffstat (limited to 'libgomp/testsuite/libgomp.c++/nested-1.C')
-rw-r--r-- | libgomp/testsuite/libgomp.c++/nested-1.C | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.c++/nested-1.C b/libgomp/testsuite/libgomp.c++/nested-1.C new file mode 100644 index 000000000..8d0e397bd --- /dev/null +++ b/libgomp/testsuite/libgomp.c++/nested-1.C @@ -0,0 +1,28 @@ +// { dg-do run } + +extern "C" void abort(void); +#define N 1000 + +int foo() +{ + int i = 0, j; + + #pragma omp parallel for num_threads(2) shared (i) + for (j = 0; j < N; ++j) + { + #pragma omp parallel num_threads(1) shared (i) + { + #pragma omp atomic + i++; + } + } + + return i; +} + +int main() +{ + if (foo() != N) + abort (); + return 0; +} |