diff options
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C')
-rw-r--r-- | gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C deleted file mode 100644 index d48efd952..000000000 --- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr30703.C +++ /dev/null @@ -1,73 +0,0 @@ -// PR c++/30703 -// { dg-do run } - -#include <omp.h> - -extern "C" void abort (); - -int ctor, cctor, dtor; - -struct A -{ - A(); - A(const A &); - ~A(); - int i; -}; - -A::A() -{ -#pragma omp atomic - ctor++; -} - -A::A(const A &r) -{ - i = r.i; -#pragma omp atomic - cctor++; -} - -A::~A() -{ -#pragma omp atomic - dtor++; -} - -void -foo (A a, A b) -{ - int i, j = 0; -#pragma omp parallel for firstprivate (a) lastprivate (a) private (b) schedule (static, 1) num_threads (5) - for (i = 0; i < 5; i++) - { - b.i = 5; - if (a.i != 6) - #pragma omp atomic - j += 1; - a.i = b.i + i + 6; - } - - if (j || a.i != 15) - abort (); -} - -void -bar () -{ - A a, b; - a.i = 6; - b.i = 7; - foo (a, b); -} - -int -main () -{ - omp_set_dynamic (false); - if (ctor || cctor || dtor) - abort (); - bar (); - if (ctor + cctor != dtor) - abort (); -} |