/* { dg-do compile } */ /* { dg-additional-options "-fdump-tree-original -fdump-tree-gimple" } */ /* Check that the right call to f is wrapped in a GOMP_DISPATCH internal function before translation and that it is stripped during gimplification. */ int f(int); void g(int *x) { #pragma omp dispatch x[f(1)] = f(f(2)); // ^ only this call to f is a dispatch call } /* { dg-final { scan-tree-dump "\.GOMP_DISPATCH \\(f \\(f \\(2\\)\\)\\)" "original" } } */ /* { dg-final { scan-tree-dump-times "\.GOMP_DISPATCH" 1 "original" } } */ /* { dg-final { scan-tree-dump-not "\.GOMP_DISPATCH" "gimple" } } */