blob: d16590107d2fe461f2b220bcf522340e690ddafc [file] [log] [blame]
#ifdef __cplusplus
extern "C" {
#endif
int omp_get_num_teams (void);
int bar (void);
#ifdef __cplusplus
}
#endif
/* { dg-do compile } */
#pragma omp requires reverse_offload
void
foo (void)
{
/* Ensure that no calls to OpenMP API runtime routines are allowed inside the
corresponding target region. */
int a;
#pragma omp target device (ancestor: 1)
{
a = bar (); /* OK */
a = omp_get_num_teams (); /* { dg-error "OpenMP runtime API call '\[^\n\r]*omp_get_num_teams\[^\n\r]*' in a region with 'device\\(ancestor\\)' clause" } */
}
#pragma omp target device (device_num: 1)
{
a = omp_get_num_teams ();
}
#pragma omp target device (1)
{
a = omp_get_num_teams ();
}
}