aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c')
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c
new file mode 100644
index 000000000..687855973
--- /dev/null
+++ b/gcc-4.4.3/libgomp/testsuite/libgomp.c/omp-single-2.c
@@ -0,0 +1,38 @@
+#include <omp.h>
+
+extern void abort (void);
+
+struct X
+{
+ int a;
+ char b;
+ int c;
+};
+
+main()
+{
+ int i = 0;
+ struct X x;
+ int bad = 0;
+
+ #pragma omp parallel private (i, x) shared (bad)
+ {
+ i = 5;
+
+ #pragma omp single copyprivate (i, x)
+ {
+ i++;
+ x.a = 23;
+ x.b = 42;
+ x.c = 26;
+ }
+
+ if (i != 6 || x.a != 23 || x.b != 42 || x.c != 26)
+ bad = 1;
+ }
+
+ if (bad)
+ abort ();
+
+ return 0;
+}