aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a')
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c44
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c47
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c67
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c55
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c45
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c25
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c17
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c30
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c11
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c16
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c31
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c38
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c38
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c48
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c13
15 files changed, 0 insertions, 525 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c
deleted file mode 100644
index 276ac6caa..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.15.1.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-
-void
-work (int n)
-{
- printf ("[%d of %d], nested = %d, n = %d\n", omp_get_thread_num (), omp_get_num_threads(), omp_get_nested (), n);
-}
-
-void
-sub3 (int n)
-{
- work (n);
-#pragma omp barrier
- work (n);
-}
-
-void
-sub2 (int k)
-{
-#pragma omp parallel shared(k)
- sub3 (k);
-}
-
-void
-sub1 (int n)
-{
- int i;
-#pragma omp parallel private(i) shared(n)
- {
-#pragma omp for
- for (i = 0; i < n; i++)
- sub2 (i);
- }
-}
-int
-main ()
-{
- sub1 (2);
- sub2 (15);
- sub3 (20);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c
deleted file mode 100644
index 28a994a28..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.16.1.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-
-float
-work1 (int i)
-{
- return 1.0 * i;
-}
-
-float
-work2 (int i)
-{
- return 2.0 * i;
-}
-
-void
-a16 (float *x, float *y, int *index, int n)
-{
- int i;
-#pragma omp parallel for shared(x, y, index, n)
- for (i = 0; i < n; i++)
- {
-#pragma omp atomic
- x[index[i]] += work1 (i);
- y[i] += work2 (i);
- }
-}
-int
-main ()
-{
- float x[1000];
- float y[10000];
- int index[10000];
- int i;
- for (i = 0; i < 10000; i++)
- {
- index[i] = i % 1000;
- y[i] = 0.0;
- }
- for (i = 0; i < 1000; i++)
- x[i] = 0.0;
- a16 (x, y, index, 10000);
- for (i = 0; i < 10; i++)
- printf ("x[%d] = %f, y[%d] = %f\n", i, x[i], i, y[i]);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c
deleted file mode 100644
index 388763e59..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.18.1.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdio.h>
-
-extern void abort (void);
-
-#define NUMBER_OF_THREADS 4
-
-int synch[NUMBER_OF_THREADS];
-int work[NUMBER_OF_THREADS];
-int result[NUMBER_OF_THREADS];
-int
-fn1 (int i)
-{
- return i * 2;
-}
-
-int
-fn2 (int a, int b)
-{
- return a + b;
-}
-
-int
-main ()
-{
- int i, iam, neighbor;
- omp_set_num_threads (NUMBER_OF_THREADS);
-#pragma omp parallel private(iam,neighbor) shared(work,synch)
- {
- iam = omp_get_thread_num ();
- synch[iam] = 0;
-#pragma omp barrier
- /*Do computation into my portion of work array */
- work[iam] = fn1 (iam);
- /* Announce that I am done with my work. The first flush
- * ensures that my work is made visible before synch.
- * The second flush ensures that synch is made visible.
- */
-#pragma omp flush(work,synch)
- synch[iam] = 1;
-#pragma omp flush(synch)
- /* Wait for neighbor. The first flush ensures that synch is read
- * from memory, rather than from the temporary view of memory.
- * The second flush ensures that work is read from memory, and
- * is done so after the while loop exits.
- */
- neighbor = (iam > 0 ? iam : omp_get_num_threads ()) - 1;
- while (synch[neighbor] == 0)
- {
-#pragma omp flush(synch)
- }
-#pragma omp flush(work,synch)
- /* Read neighbor's values of work array */
- result[iam] = fn2 (work[neighbor], work[iam]);
- }
- /* output result here */
- for (i = 0; i < NUMBER_OF_THREADS; i++)
- {
- neighbor = (i > 0 ? i : NUMBER_OF_THREADS) - 1;
- if (result[i] != i * 2 + neighbor * 2)
- abort ();
- }
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c
deleted file mode 100644
index 65ffe624c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.19.1.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* { dg-do run } */
-
-int x, *p = &x;
-extern void abort (void);
-void
-f1 (int *q)
-{
- *q = 1;
-#pragma omp flush
- /* x, p, and *q are flushed */
- /* because they are shared and accessible */
- /* q is not flushed because it is not shared. */
-}
-
-void
-f2 (int *q)
-{
-#pragma omp barrier
- *q = 2;
-#pragma omp barrier
- /* a barrier implies a flush */
- /* x, p, and *q are flushed */
- /* because they are shared and accessible */
- /* q is not flushed because it is not shared. */
-}
-
-int
-g (int n)
-{
- int i = 1, j, sum = 0;
- *p = 1;
-#pragma omp parallel reduction(+: sum) num_threads(2)
- {
- f1 (&j);
- /* i, n and sum were not flushed */
- /* because they were not accessible in f1 */
- /* j was flushed because it was accessible */
- sum += j;
- f2 (&j);
- /* i, n, and sum were not flushed */
- /* because they were not accessible in f2 */
- /* j was flushed because it was accessible */
- sum += i + j + *p + n;
- }
- return sum;
-}
-
-int
-main ()
-{
- int result = g (10);
- if (result != 30)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c
deleted file mode 100644
index f6ae4c7c5..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.2.1.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-#include <omp.h>
-extern void abort (void);
-int
-main ()
-{
- int bad, x;
- x = 2;
- bad = 0;
-#pragma omp parallel num_threads(2) shared(x, bad)
- {
- if (omp_get_thread_num () == 0)
- {
- volatile int i;
- for (i = 0; i < 100000000; i++)
- x = 5;
- }
- else
- {
- /* Print 1: the following read of x has a race */
- if (x != 2 && x != 5)
- bad = 1;
- }
-#pragma omp barrier
- if (omp_get_thread_num () == 0)
- {
- /* x must be 5 now. */
- if (x != 5)
- bad = 1;
- }
- else
- {
- /* x must be 5 now. */
- if (x != 5)
- bad = 1;
- }
- }
-
- if (bad)
- abort ();
-
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c
deleted file mode 100644
index 0c1c39a12..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.21.1.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-void
-work (int k)
-{
-#pragma omp ordered
- printf (" %d\n", k);
-}
-
-void
-a21 (int lb, int ub, int stride)
-{
- int i;
-#pragma omp parallel for ordered schedule(dynamic)
- for (i = lb; i < ub; i += stride)
- work (i);
-}
-
-int
-main ()
-{
- a21 (0, 100, 5);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c
deleted file mode 100644
index e146fa204..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.26.1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-int
-main ()
-{
- int i, j;
- i = 1;
- j = 2;
-#pragma omp parallel private(i) firstprivate(j)
- {
- i = 3;
- j = j + 2;
- }
- printf ("%d %d\n", i, j); /* i and j are undefined */
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c
deleted file mode 100644
index 6f0f65fa0..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.29.1.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* { dg-do run } */
-
-#include <assert.h>
-int A[2][2] = { 1, 2, 3, 4 };
-void
-f (int n, int B[n][n], int C[])
-{
- int D[2][2] = { 1, 2, 3, 4 };
- int E[n][n];
- assert (n >= 2);
- E[1][1] = 4;
-#pragma omp parallel firstprivate(B, C, D, E)
- {
- assert (sizeof (B) == sizeof (int (*)[n]));
- assert (sizeof (C) == sizeof (int *));
- assert (sizeof (D) == 4 * sizeof (int));
- assert (sizeof (E) == n * n * sizeof (int));
- /* Private B and C have values of original B and C. */
- assert (&B[1][1] == &A[1][1]);
- assert (&C[3] == &A[1][1]);
- assert (D[1][1] == 4);
- assert (E[1][1] == 4);
- }
-}
-int
-main ()
-{
- f (2, A, A[0]);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c
deleted file mode 100644
index 9e7c24f75..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.3.1.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-int
-main ()
-{
-# ifdef _OPENMP
- printf ("Compiled by an OpenMP-compliant implementation.\n");
-# endif
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c
deleted file mode 100644
index 0b7f0197c..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.33.3.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* { dg-do compile } */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <omp.h>
-omp_lock_t *
-new_lock ()
-{
- omp_lock_t *lock_ptr;
-#pragma omp single copyprivate(lock_ptr)
- {
- lock_ptr = (omp_lock_t *) malloc (sizeof (omp_lock_t));
- omp_init_lock (lock_ptr);
- }
- return lock_ptr;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c
deleted file mode 100644
index b60534d11..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.36.1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-#include <stdlib.h>
-void
-do_by_16 (float *x, int iam, int ipoints)
-{
-}
-
-void
-a36 (float *x, int npoints)
-{
- int iam, ipoints;
- omp_set_dynamic (0);
- omp_set_num_threads (16);
-#pragma omp parallel shared(x, npoints) private(iam, ipoints)
- {
- if (omp_get_num_threads () != 16)
- abort ();
- iam = omp_get_thread_num ();
- ipoints = npoints / 16;
- do_by_16 (x, iam, ipoints);
- }
-}
-
-int main()
-{
- float a[10];
- a36 (a, 10);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c
deleted file mode 100644
index a129e87fc..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.39.1.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-#include <omp.h>
-void
-skip (int i)
-{
-}
-
-void
-work (int i)
-{
-}
-int
-main ()
-{
- omp_lock_t lck;
- int id;
- omp_init_lock (&lck);
-#pragma omp parallel shared(lck) private(id)
- {
- id = omp_get_thread_num ();
- omp_set_lock (&lck);
- /* only one thread at a time can execute this printf */
- printf ("My thread id is %d.\n", id);
- omp_unset_lock (&lck);
- while (!omp_test_lock (&lck))
- {
- skip (id); /* we do not yet have the lock,
- so we must do something else */
- }
- work (id); /* we now have the lock
- and can do the work */
- omp_unset_lock (&lck);
- }
- omp_destroy_lock (&lck);
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c
deleted file mode 100644
index c6be49090..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.4.1.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-extern void abort (void);
-void
-subdomain (float *x, int istart, int ipoints)
-{
- int i;
- for (i = 0; i < ipoints; i++)
- x[istart + i] = 123.456;
-}
-
-void
-sub (float *x, int npoints)
-{
- int iam, nt, ipoints, istart;
-#pragma omp parallel default(shared) private(iam,nt,ipoints,istart)
- {
- iam = omp_get_thread_num ();
- nt = omp_get_num_threads ();
- ipoints = npoints / nt; /* size of partition */
- istart = iam * ipoints; /* starting array index */
- if (iam == nt - 1) /* last thread may do more */
- ipoints = npoints - istart;
- subdomain (x, istart, ipoints);
- }
-}
-int
-main ()
-{
- int i;
- float array[10000];
- sub (array, 10000);
- for (i = 0; i < 10000; i++)
- if (array[i] < 123.45 || array[i] > 123.46)
- abort ();
- return 0;
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c
deleted file mode 100644
index aa7b88d70..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.40.1.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* { dg-do compile } */
-
-#include <omp.h>
-typedef struct
-{
- int a, b;
- omp_nest_lock_t lck;
-} pair;
-int work1 ();
-int work2 ();
-int work3 ();
-void
-incr_a (pair * p, int a)
-{
- /* Called only from incr_pair, no need to lock. */
- p->a += a;
-}
-
-void
-incr_b (pair * p, int b)
-{
- /* Called both from incr_pair and elsewhere, */
- /* so need a nestable lock. */
- omp_set_nest_lock (&p->lck);
- p->b += b;
- omp_unset_nest_lock (&p->lck);
-}
-
-void
-incr_pair (pair * p, int a, int b)
-{
- omp_set_nest_lock (&p->lck);
- incr_a (p, a);
- incr_b (p, b);
- omp_unset_nest_lock (&p->lck);
-}
-
-void
-a40 (pair * p)
-{
-#pragma omp parallel sections
- {
-#pragma omp section
- incr_pair (p, work1 (), work2 ());
-#pragma omp section
- incr_b (p, work3 ());
- }
-}
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c
deleted file mode 100644
index b909c4ddb..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/appendix-a/a.5.1.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* { dg-do run } */
-
-#include <omp.h>
-int
-main ()
-{
- omp_set_dynamic (1);
-#pragma omp parallel num_threads(10)
- {
- /* do work here */
- }
- return 0;
-}