aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/gomp/map-3.c
blob: 8a14b9c888e8c76603af39cb1bfcc02c2acf9e07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct S { int i : 1; int j : 4; long long k : 25; };
void bar (struct S, int);
#pragma omp declare target to (bar)

void
foo (struct S a, struct S b, struct S c, struct S d)
{
  #pragma omp target map (a)
  bar (a, 0);
  #pragma omp target map (a) map (b.i)		/* { dg-error "bit-field .b.\(S::\|\)i. in .map. clause" } */
  bar (a, b.i);
  #pragma omp target map (a) map (b.j)		/* { dg-error "bit-field .b.\(S::\|\)j. in .map. clause" } */
  bar (a, b.j);
  #pragma omp target map (a) map (b.k)		/* { dg-error "bit-field .b.\(S::\|\)k. in .map. clause" } */
  bar (a, b.k);
  #pragma omp target data map (a) map (b.i)	/* { dg-error "bit-field .b.\(S::\|\)i. in .map. clause" } */
  {
    #pragma omp target enter data map (alloc: a) map (to: c.j)		/* { dg-error "bit-field .c.\(S::\|\)j. in .map. clause" } */
    #pragma omp target exit data map (release: a) map (from: d.k)	/* { dg-error "bit-field .d.\(S::\|\)k. in .map. clause" } */
  }
}