diff options
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C')
-rw-r--r-- | gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C deleted file mode 100644 index d99a1d462..000000000 --- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/ctor-5.C +++ /dev/null @@ -1,52 +0,0 @@ -// { dg-do run } -// { dg-require-effective-target tls_runtime } - -#include <omp.h> -#include <assert.h> - -struct B -{ - static int count; - static B *expected; - - B& operator=(const B &); -}; - -int B::count; -B * B::expected; - -static B thr; -#pragma omp threadprivate(thr) - -B& B::operator= (const B &b) -{ - assert (&b == expected); - assert (this != expected); - #pragma omp atomic - count++; - return *this; -} - -static int nthreads; - -void foo() -{ - B::expected = &thr; - - #pragma omp parallel copyin(thr) - { - #pragma omp master - nthreads = omp_get_num_threads (); - } -} - -int main() -{ - omp_set_dynamic (0); - omp_set_num_threads (4); - foo(); - - assert (B::count == nthreads-1); - - return 0; -} |