blob: b6ff84bcdab9d5f1f9e7161ce3a86f0fba505471 [file] [log] [blame]
#pragma omp requires reverse_offload /* { dg-message "sorry, unimplemented: 'reverse_offload' clause on 'requires' directive not supported yet" } */
void
foo ()
{
/* Good nesting - as reverse offload */
#pragma omp target
#pragma omp target device(ancestor:1) /* valid -> no warning */ /* { dg-bogus "'target' construct inside of 'target' region" } */
{ }
/* Bad nesting */
#pragma omp target
#pragma omp target /* { dg-warning "'target' construct inside of 'target' region" } */
#pragma omp target /* { dg-warning "'target' construct inside of 'target' region" } */
{ }
/* Good nesting - as reverse offload */
#pragma omp target
#pragma omp target /* { dg-warning "'target' construct inside of 'target' region" } */
#pragma omp target device(ancestor:1) /* valid -> no warning */ /* { dg-bogus "'target' construct inside of 'target' region" } */
{ }
#pragma omp target
#pragma omp target device(ancestor:1) /* valid -> no warning */ /* { dg-bogus "'target' construct inside of 'target' region" } */
#pragma omp target device(ancestor:1) /* { dg-error "OpenMP constructs are not allowed in target region with 'ancestor'" } */
{ }
}