aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C')
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C87
1 files changed, 0 insertions, 87 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C b/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C
deleted file mode 100644
index 6db2465ec..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c++/pr27337.C
+++ /dev/null
@@ -1,87 +0,0 @@
-// PR middle-end/27337
-// { dg-do run }
-
-#include <omp.h>
-
-extern "C" void abort (void);
-
-struct S
-{
- S ();
- ~S ();
- S (const S &);
- int i;
-};
-
-int n[3];
-
-S::S () : i(18)
-{
- if (omp_get_thread_num () != 0)
-#pragma omp atomic
- n[0]++;
-}
-
-S::~S ()
-{
- if (omp_get_thread_num () != 0)
-#pragma omp atomic
- n[1]++;
-}
-
-S::S (const S &x)
-{
- if (x.i != 18)
- abort ();
- i = 118;
- if (omp_get_thread_num () != 0)
-#pragma omp atomic
- n[2]++;
-}
-
-S
-foo ()
-{
- int i;
- S ret;
-
-#pragma omp parallel for firstprivate (ret) lastprivate (ret) \
- schedule (static, 1) num_threads (4)
- for (i = 0; i < 4; i++)
- ret.i += omp_get_thread_num ();
-
- return ret;
-}
-
-S
-bar ()
-{
- int i;
- S ret;
-
-#pragma omp parallel for num_threads (4)
- for (i = 0; i < 4; i++)
-#pragma omp atomic
- ret.i += omp_get_thread_num () + 1;
-
- return ret;
-}
-
-S x;
-
-int
-main (void)
-{
- omp_set_dynamic (false);
- x = foo ();
- if (n[0] != 0 || n[1] != 3 || n[2] != 3)
- abort ();
- if (x.i != 118 + 3)
- abort ();
- x = bar ();
- if (n[0] != 0 || n[1] != 3 || n[2] != 3)
- abort ();
- if (x.i != 18 + 0 + 1 + 2 + 3 + 4)
- abort ();
- return 0;
-}