Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/c-c++-common/gomp/declare-target-3.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/c-c++-common/gomp/declare-target-3.c Thu Oct 25 07:37:49 2018 +0900 @@ -0,0 +1,53 @@ +/* { dg-do compile } */ +/* { dg-options "-fopenmp" } */ + +#pragma omp declare target +int a[] = { 1, 2, 3 }; +extern int b[]; /* { dg-error "'b' in declare target directive does not have mappable type" } */ +extern int c[]; /* { dg-error "'c' in declare target directive does not have mappable type" } */ +extern int d[]; /* { dg-error "'d' in declare target directive does not have mappable type" } */ +int d[3]; +#pragma omp end declare target +int c[3]; +int e[] = { 1, 2, 3 }; +#pragma omp declare target to (e) +extern int f[]; +#pragma omp declare target to (f) /* { dg-error "'f' does not have a mappable type in 'to' clause" } */ +extern int g[]; +#pragma omp declare target to (g) /* { dg-error "'g' does not have a mappable type in 'to' clause" } */ +int g[3]; +extern int h[]; +int h[3]; +#pragma omp declare target to (h) + +int i[] = { 1, 2, 3 }; +int j[] = { 1, 2, 3 }; +extern int k[]; +extern int l[]; +extern int m[]; +extern int n[]; +extern int o[]; +extern int p[]; +int k[3]; +int l[3]; +int q; + +void +foo (void) +{ + #pragma omp target update to (q) to (i) + #pragma omp target map (tofrom: j) + ; + #pragma omp target update from (q) from (k) + #pragma omp target map (to: l) + ; + #pragma omp target update from (q) from (m) /* { dg-error "'m' does not have a mappable type in 'from' clause" } */ + #pragma omp target map (from: n) /* { dg-error "'n' does not have a mappable type in 'map' clause" } */ + ; + #pragma omp target update to (q) to (o) /* { dg-error "'o' does not have a mappable type in 'to' clause" } */ + #pragma omp target map (from: p) /* { dg-error "'p' does not have a mappable type in 'map' clause" } */ + ; +} + +int o[3]; +int p[3];