aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C')
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C60
1 files changed, 0 insertions, 60 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C
deleted file mode 100644
index 215a901f8..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-9.C
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-do run }
-// { dg-require-effective-target tls_runtime }
-
-#include <omp.h>
-#include <assert.h>
-
-#define N 10
-#define THR 4
-
-struct B
-{
- B& operator=(const B &);
-};
-
-static B *base;
-static B *threadbase;
-static int singlethread;
-#pragma omp threadprivate(threadbase)
-
-static unsigned cmask[THR];
-
-B& B::operator= (const B &b)
-{
- unsigned sindex = &b - base;
- unsigned tindex = this - threadbase;
- assert(sindex < N);
- assert(sindex == tindex);
- cmask[omp_get_thread_num ()] |= 1u << tindex;
- return *this;
-}
-
-void foo()
-{
- #pragma omp parallel
- {
- B b[N];
- threadbase = b;
- #pragma omp single copyprivate(b)
- {
- assert(omp_get_num_threads () == THR);
- singlethread = omp_get_thread_num ();
- base = b;
- }
- }
-}
-
-int main()
-{
- omp_set_dynamic (0);
- omp_set_num_threads (THR);
- foo();
-
- for (int i = 0; i < THR; ++i)
- if (i == singlethread)
- assert(cmask[singlethread] == 0);
- else
- assert(cmask[i] == (1u << N) - 1);
-
- return 0;
-}