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