Re: Enhance 'libgomp.c-c++-common/requires-4.c', 'libgomp.c-c++-common/requires-5.c' testing (was: [Patch][v4] OpenMP: Move omp requires checks to libgomp)

2022-07-07 Thread Thomas Schwinge
Hi Tobias! On 2022-07-07T11:36:34+0200, Tobias Burnus wrote: > On 07.07.22 10:42, Thomas Schwinge wrote: >> In preparation for other changes: > ... >> On 2022-06-29T16:33:02+0200, Tobias Burnus wrote: >>> +/* { dg-output "devices present but 'omp requires unified_address, >>> unified_shared_mem

Re: Enhance 'libgomp.c-c++-common/requires-4.c', 'libgomp.c-c++-common/requires-5.c' testing (was: [Patch][v4] OpenMP: Move omp requires checks to libgomp)

2022-07-07 Thread Tobias Burnus
On 07.07.22 10:42, Thomas Schwinge wrote: In preparation for other changes: ... On 2022-06-29T16:33:02+0200, Tobias Burnus wrote: +/* { dg-output "devices present but 'omp requires unified_address, unified_shared_memory, reverse_offload' cannot be fulfilled" } */ (The latter diagnostic late

Re: Adjust 'libgomp.c-c++-common/requires-3.c' (was: [Patch][v4] OpenMP: Move omp requires checks to libgomp)

2022-07-07 Thread Tobias Burnus
Hi Thomas, hello all, On 07.07.22 10:37, Thomas Schwinge wrote: In preparation for other changes: On 2022-06-29T16:33:02+0200, Tobias Burnus wrote: +++ b/libgomp/testsuite/libgomp.c-c++-common/requires-3.c @@ -0,0 +1,24 @@ +/* { dg-do link { target offloading_enabled } } */ Not expected to s

Enhance 'libgomp.c-c++-common/requires-4.c', 'libgomp.c-c++-common/requires-5.c' testing (was: [Patch][v4] OpenMP: Move omp requires checks to libgomp)

2022-07-07 Thread Thomas Schwinge
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 doe

Adjust 'libgomp.c-c++-common/requires-3.c' (was: [Patch][v4] OpenMP: Move omp requires checks to libgomp)

2022-07-07 Thread Thomas Schwinge
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-3-aux.c > @@ -0,0 +1,11 @@ > +/* { dg-skip-if "" { *-*-* } } */ > + > +#pragma omp requires unified_address > + > +int x; > + > +void fo

Re: [Patch][v4] OpenMP: Move omp requires checks to libgomp

2022-06-29 Thread Jakub Jelinek via Gcc-patches
On Wed, Jun 29, 2022 at 08:10:10PM +0200, Tobias Burnus wrote: > > > + if (output_requires) > > > +{ > > > + HOST_WIDE_INT val = ((HOST_WIDE_INT) omp_requires_mask > > > + & (OMP_REQUIRES_UNIFIED_ADDRESS > > > + | OMP_REQUIRES_UNIFIED_SHARED_

Re: [Patch][v4] OpenMP: Move omp requires checks to libgomp

2022-06-29 Thread Tobias Burnus
Hi Jakub, On 29.06.22 19:02, Jakub Jelinek wrote: On Wed, Jun 29, 2022 at 04:33:02PM +0200, Tobias Burnus wrote: + if (flag_openmp + && lookup_attribute ("omp declare target", + DECL_ATTRIBUTES (current_function_decl))) +omp_requires_mask + = (enum o

Re: [Patch][v4] OpenMP: Move omp requires checks to libgomp

2022-06-29 Thread Jakub Jelinek via Gcc-patches
On Wed, Jun 29, 2022 at 04:33:02PM +0200, Tobias Burnus wrote: > --- a/gcc/c/c-parser.cc > +++ b/gcc/c/c-parser.cc > @@ -2488,6 +2488,12 @@ c_parser_declaration_or_fndef (c_parser *parser, bool > fndef_ok, > break; > } > > + if (flag_openmp > + && lookup_attribute ("omp

Re: [Patch][v4] OpenMP: Move omp requires checks to libgomp

2022-06-29 Thread Tobias Burnus
Hi Jakub, hi all, new version attached. It now checks during lto1 whether the values are consistent – and fails with a hard error. The actually used value (by libgomp) is stored as a scalar weak symbol – while for checking, each translation unit stores the integer value for lto (alongside the of