12345678910111213141516171819202122232425262728293031323334353637 |
- /* { dg-do run } */
- /* { dg-options "-O1 -ftree-parallelize-loops=0" } */
- /* { dg-additional-options "-flto" { target lto } } */
- #include <stdlib.h>
- #define N 123456
- #pragma omp declare target
- int X, Y;
- #pragma omp end declare target
- void
- foo ()
- {
- #pragma omp target map(alloc: X)
- X = N;
- }
- int
- main ()
- {
- int res;
- foo ();
- #pragma omp target map(alloc: X, Y) map(from: res)
- {
- Y = N;
- res = X + Y;
- }
- if (res != N + N)
- abort ();
- return 0;
- }
|