aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/gomp/dispatch-2.c
blob: 24ab9545b73e3e01078ead31f210cb85bb2d4747 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* { dg-do compile } */
/* { dg-additional-options "-fdump-tree-gimple" } */

int f0 (void);
int f1 (void);
#pragma omp declare variant (f0) match (construct={dispatch})
#pragma omp declare variant (f1) match (implementation={vendor(gnu)})
int f2 (void);

int test (void)
{
  int a;
#pragma omp dispatch
  a = f2 ();
#pragma omp dispatch novariants(1)
  a = f2 ();
#pragma omp dispatch novariants(0)
  a = f2 ();
#pragma omp dispatch nocontext(1)
  a = f2 ();
#pragma omp dispatch nocontext(0)
  a = f2 ();
  return a;
}

/* { dg-final { scan-tree-dump-times "a = f0 \\\(\\\);" 3 "gimple" } } */
/* { dg-final { scan-tree-dump-times "a = f1 \\\(\\\);" 1 "gimple" } } */
/* { dg-final { scan-tree-dump-times "a = f2 \\\(\\\);" 1 "gimple" } } */