Hi! In preparation for other changes: On 2022-06-29T16:33:02+0200, Tobias Burnus wrote: > --- /dev/null > +++ b/libgomp/testsuite/libgomp.c-c++-common/requires-4-aux.c > @@ -0,0 +1,13 @@ > +/* { dg-skip-if "" { *-*-* } } */ > + > +#pragma omp requires reverse_offload > + > +/* Note: The file does not have neither of: > + declare target directives, device constructs or device routines. */ > + > +int x; > + > +void foo (void) > +{ > + x = 1; > +} > --- /dev/null > +++ b/libgomp/testsuite/libgomp.c-c++-common/requires-4.c > @@ -0,0 +1,23 @@ > +/* { dg-do link { target offloading_enabled } } */ > +/* { dg-additional-options "-flto" } */ > +/* { dg-additional-sources requires-4-aux.c } */ > + > +/* Check diagnostic by device-compiler's or host compiler's lto1. > + Other file uses: 'requires reverse_offload', but that's inactive as > + there are no declare target directives, device constructs nor device routines */ > + > +#pragma omp requires unified_address,unified_shared_memory > + > +int a[10]; > +extern void foo (void); > + > +int > +main (void) > +{ > + #pragma omp target > + for (int i = 0; i < 10; i++) > + a[i] = 0; > + > + foo (); > + return 0; > +} > --- /dev/null > +++ b/libgomp/testsuite/libgomp.c-c++-common/requires-5-aux.c > @@ -0,0 +1,11 @@ > +/* { dg-skip-if "" { *-*-* } } */ > + > +#pragma omp requires unified_shared_memory, unified_address, reverse_offload > + > +int x; > + > +void foo (void) > +{ > + #pragma omp target > + x = 1; > +} > --- /dev/null > +++ b/libgomp/testsuite/libgomp.c-c++-common/requires-5.c > @@ -0,0 +1,20 @@ > +/* { dg-do run { target { offload_target_nvptx || offload_target_amdgcn } } } */ > +/* { dg-additional-sources requires-5-aux.c } */ > + > +#pragma omp requires unified_shared_memory, unified_address, reverse_offload > + > +int a[10]; > +extern void foo (void); > + > +int > +main (void) > +{ > + #pragma omp target > + for (int i = 0; i < 10; i++) > + a[i] = 0; > + > + foo (); > + return 0; > +} > + > +/* { dg-output "devices present but 'omp requires unified_address, unified_shared_memory, reverse_offload' cannot be fulfilled" } */ (The latter diagnostic later got conditionalized by 'GOMP_DEBUG=1'.) OK to push the attached "Enhance 'libgomp.c-c++-common/requires-4.c', 'libgomp.c-c++-common/requires-5.c' testing"? Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955