1#include <omp.h>
2
3/* Orphaned work sharing.  */
4
5extern "C" void abort (void);
6
7#define N 10
8
9void parloop (int *a)
10{
11  int i;
12
13#pragma omp for
14  for (i = 0; i < N; i++)
15    a[i] = i + 3;
16}
17
18main()
19{
20  int i, a[N];
21
22#pragma omp parallel shared(a)
23  {
24    parloop (a);
25  }
26
27  for (i = 0; i < N; i++)
28    if (a[i] != i + 3)
29      abort ();
30
31  return 0;
32}
33