/* { 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" } } */