aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.c++/ctor-2.C
diff options
context:
space:
mode:
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.C76
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;
-}