https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120753

Benjamin Schulz <schulz.benjamin at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #15 from Benjamin Schulz <schulz.benjamin at googlemail dot com> ---
As the OpenMP standard really seems to forbid struct members in clauses

https://www.openmp.org/spec-html/5.2/openmpsu19.html

I declare this bug indeed as invalid.

It is with OpenAcc, where there is no such restriction.

Here I can create a small OpenAcc snipped with a deviceptr in a struct that
Nvidia's nvc++ compiles without warnings to generate valid cuda code, whereas
gcc refuses compilation, despite the code strictly adhering to the OpenACC
standard. 

So I opened another bug for this problem, as it seems to be an actual bug for
OpenACC.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121170


(Nevertheless, the refusal to have struct members in OpenMP shared constructs
or is_device_ptr constructs is embarassing. It e.g. creates a choice between
unnecessary copies between threads or that one makes the code unreadable by
unpacking the struct into separate variables....)

Reply via email to