blob: 6dd8b5c48e1ec1c0109dbdc5493520df92d2cb1a [file] [log] [blame]
/* { dg-do run } */
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#define N 16
struct Z {
int *ptr;
int arr[N];
int c;
};
int main (int argc, char *argv[])
{
struct Z *myz;
myz = (struct Z *) calloc (1, sizeof *myz);
#pragma omp target map(tofrom:myz->arr[0:N], myz->c)
{
for (int i = 0; i < N; i++)
myz->arr[i]++;
myz->c++;
}
for (int i = 0; i < N; i++)
assert (myz->arr[i] == 1);
assert (myz->c == 1);
free (myz);
return 0;
}