1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- extern void abort (void);
- void
- foo (int n)
- {
- int a[n], i, err;
- for (i = 0; i < n; i++)
- a[i] = 5 * i;
- #pragma omp target map(to:a) map(from:err) private(i)
- {
- err = 0;
- for (i = 0; i < n; i++)
- if (a[i] != 5 * i)
- err = 1;
- }
- if (err)
- abort ();
- for (i = 0; i < n; i++)
- a[i] += i;
- #pragma omp target map(from:err) private(i)
- {
- err = 0;
- for (i = 0; i < n; i++)
- if (a[i] != 6 * i)
- err = 1;
- }
- if (err)
- abort ();
- for (i = 0; i < n; i++)
- a[i] += i;
- #pragma omp target firstprivate (a) map(from:err) private(i)
- {
- err = 0;
- for (i = 0; i < n; i++)
- if (a[i] != 7 * i)
- err = 1;
- }
- if (err)
- abort ();
- }
- int
- main ()
- {
- foo (9);
- return 0;
- }
|