(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
map-5.c
       1  /* { dg-do compile } */
       2  /* { dg-additional-options "-fdump-tree-gimple" } */
       3  
       4  void foo (void)
       5  {
       6    /* Basic test to ensure to,from,tofrom is ordered before alloc,release,delete clauses.  */
       7    int a, b, c;
       8    #pragma omp target enter data map(alloc:a) map(to:b) map(alloc:c)
       9    #pragma omp target exit data map(from:a) map(release:b) map(from:c)
      10  
      11    #pragma omp target map(alloc:a) map(tofrom:b) map(alloc:c)
      12    a = b = c = 1;
      13  
      14    #pragma omp target enter data map(to:a) map(alloc:b) map(to:c)
      15    #pragma omp target exit data map(from:a) map(delete:b) map(from:c)
      16  }
      17  
      18  /* { dg-final { scan-tree-dump "pragma omp target enter data map\\(to:.* map\\(alloc:.* map\\(alloc:.*" "gimple" } } */
      19  /* { dg-final { scan-tree-dump "pragma omp target exit data map\\(from:.* map\\(from:.* map\\(release:.*" "gimple" } } */
      20  
      21  /* { dg-final { scan-tree-dump "pragma omp target num_teams.* map\\(tofrom:.* map\\(alloc:.* map\\(alloc:.*" "gimple" } } */
      22  
      23  /* { dg-final { scan-tree-dump "pragma omp target enter data map\\(to:.* map\\(to:.* map\\(alloc:.*" "gimple" } } */
      24  /* { dg-final { scan-tree-dump "pragma omp target exit data map\\(from:.* map\\(from:.* map\\(delete:.*" "gimple" } } */