mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-01 11:52:47 +00:00
38 lines
485 B
C
38 lines
485 B
C
|
/* { 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;
|
||
|
}
|