blob: d6f289e8193c536770e28157665fa18ba6bcd4bb [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-fopenmp -fdump-tree-ompexp" } */
/* LLVM LOCAL test not applicable */
/* { dg-require-fdump "" } */
extern void bar(int);
void foo (void)
{
#pragma omp critical
bar(0);
/* Note that "name" is in its own namespace, thus this foo is not
the same as the function. */
#pragma omp critical(foo)
{
bar(1);
bar(2);
}
#pragma omp critical
#pragma omp critical(foo)
bar(3);
}
/* { dg-final { scan-tree-dump-times "GOMP_critical_start" 2 "ompexp" } } */
/* { dg-final { scan-tree-dump-times "GOMP_critical_end" 2 "ompexp" } } */
/* { dg-final { scan-tree-dump-times "GOMP_critical_name_start" 2 "ompexp" } } */
/* { dg-final { scan-tree-dump-times "GOMP_critical_name_end" 2 "ompexp" } } */
/* { dg-final { cleanup-tree-dump "ompexp" } } */