1 /* { dg-do compile } */
2 /* { dg-additional-options "-fdump-tree-gimple" } */
18 a
.ptr
= (int *) malloc (sizeof (int) * N
);
20 for (int i
= 0; i
< N
; i
++)
23 #pragma omp target enter data map(to: a.ptr, a.ptr[:N])
26 for (int i
= 0; i
< N
; i
++)
29 #pragma omp target update from(a.ptr[:N])
31 for (int i
= 0; i
< N
; i
++)
35 #pragma omp target map(a.ptr[:N])
36 for (int i
= 0; i
< N
; i
++)
39 #pragma omp target update from(a.ptr[:N])
41 for (int i
= 0; i
< N
; i
++)
45 #pragma omp target exit data map(from:a.ptr, a.ptr[:N])
50 /* { dg-final { scan-tree-dump {#pragma omp target num_teams.* map\(tofrom:a \[len: [0-9]+\]\[implicit\]\)} "gimple" } } */
52 /* { dg-final { scan-tree-dump {#pragma omp target num_teams.* map\(struct:a \[len: 1\]\) map\(alloc:a\.ptr \[len: [0-9]+\]\) map\(tofrom:\*_[0-9]+ \[len: [0-9]+\]\) map\(attach:a\.ptr \[bias: 0\]\)} "gimple" } } */
53 /* { dg-final { scan-tree-dump-not {map\(struct:a \[len: 1\]\) map\(alloc:a\.ptr \[len: 0\]\)} "gimple" } } */