diff options
Diffstat (limited to 'gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.c++/ctor-2.C')
-rw-r--r-- | gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.c++/ctor-2.C | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.c++/ctor-2.C b/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.c++/ctor-2.C deleted file mode 100644 index 6611c592f..000000000 --- a/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.c++/ctor-2.C +++ /dev/null @@ -1,76 +0,0 @@ -// { dg-do run } - -#include <omp.h> -#include <assert.h> - -struct B -{ - static int ccount; - static int dcount; - static int xcount; - static B *expected; - - B(); - B(int); - B(const B &); - ~B(); - B& operator=(const B &); - void doit(); -}; - -int B::ccount; -int B::dcount; -int B::xcount; -B * B::expected; - -B::B(int) -{ - expected = this; -} - -B::B(const B &b) -{ - #pragma omp atomic - ccount++; - assert (&b == expected); -} - -B::~B() -{ - #pragma omp atomic - dcount++; -} - -void B::doit() -{ - #pragma omp atomic - xcount++; - assert (this != expected); -} - -static int nthreads; - -void foo() -{ - B b(0); - - #pragma omp parallel firstprivate(b) - { - #pragma omp master - nthreads = omp_get_num_threads (); - b.doit(); - } -} - -int main() -{ - omp_set_dynamic (0); - omp_set_num_threads (4); - foo(); - - assert (B::xcount == nthreads); - assert (B::ccount == nthreads); - assert (B::dcount == nthreads+1); - - return 0; -} |