public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/95474] New: class member array cannot be mapped
@ 2020-06-02  7:06 xw111luoye at gmail dot com
  2020-06-02  9:12 ` [Bug c++/95474] " jakub at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: xw111luoye at gmail dot com @ 2020-06-02  7:06 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 95474
           Summary: class member array cannot be mapped
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xw111luoye at gmail dot com
  Target Milestone: ---

https://github.com/ye-luo/openmp-target/blob/master/hands-on/tests/map/map_class_member.cpp

$ g++ -fopenmp map_class_member.cpp
map_class_member.cpp: In instantiation of ‘maptest<T>::maptest() [with T =
float]’:
map_class_member.cpp:26:18:   required from here
map_class_member.cpp:12:45: error: ‘maptest<float>::data’ is not a variable in
‘map’ clause
   12 |     #pragma omp target enter data map(alloc:data[:6])
      |                                             ^~~~
map_class_member.cpp: In instantiation of ‘maptest<T>::~maptest() [with T =
float]’:
map_class_member.cpp:26:18:   required from here
map_class_member.cpp:19:45: error: ‘maptest<float>::data’ is not a variable in
‘map’ clause
   19 |     #pragma omp target exit data map(delete:data[:6])
      |                                             ^~~~

Syntax parsing seems broken.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/95474] class member array cannot be mapped
  2020-06-02  7:06 [Bug c++/95474] New: class member array cannot be mapped xw111luoye at gmail dot com
@ 2020-06-02  9:12 ` jakub at gcc dot gnu.org
  2020-06-02 14:24 ` xw111luoye at gmail dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-06-02  9:12 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It is not broken, IMHO what you are trying to do is not valid in OpenMP 4.5.

It is valid in OpenMP 5.0, but GCC doesn't implement that part yet.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/95474] class member array cannot be mapped
  2020-06-02  7:06 [Bug c++/95474] New: class member array cannot be mapped xw111luoye at gmail dot com
  2020-06-02  9:12 ` [Bug c++/95474] " jakub at gcc dot gnu.org
@ 2020-06-02 14:24 ` xw111luoye at gmail dot com
  2020-06-02 14:35 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: xw111luoye at gmail dot com @ 2020-06-02 14:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Ye Luo <xw111luoye at gmail dot com> ---
@jakub could you mention which page and line in 4.5 spec this code violates?
https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/95474] class member array cannot be mapped
  2020-06-02  7:06 [Bug c++/95474] New: class member array cannot be mapped xw111luoye at gmail dot com
  2020-06-02  9:12 ` [Bug c++/95474] " jakub at gcc dot gnu.org
  2020-06-02 14:24 ` xw111luoye at gmail dot com
@ 2020-06-02 14:35 ` jakub at gcc dot gnu.org
  2020-06-02 14:55 ` xw111luoye at gmail dot com
  2020-06-02 14:57 ` jakub at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-06-02 14:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
4.0 had a clear
"A variable that is part of another variable (such as a field of a structure)
but is not an array element or an array section cannot appear in a map clause."
restriction, this has been lifted in 4.5 to allow the var.xyz style mapping,
but it still didn't allow general expressions as the bases of array sections.
Only 5.0 allows arbitrary expressions there.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/95474] class member array cannot be mapped
  2020-06-02  7:06 [Bug c++/95474] New: class member array cannot be mapped xw111luoye at gmail dot com
                   ` (2 preceding siblings ...)
  2020-06-02 14:35 ` jakub at gcc dot gnu.org
@ 2020-06-02 14:55 ` xw111luoye at gmail dot com
  2020-06-02 14:57 ` jakub at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: xw111luoye at gmail dot com @ 2020-06-02 14:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Ye Luo <xw111luoye at gmail dot com> ---
Thanks. Hopefully this part of 5.0 feature will be implemented in the near
future.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/95474] class member array cannot be mapped
  2020-06-02  7:06 [Bug c++/95474] New: class member array cannot be mapped xw111luoye at gmail dot com
                   ` (3 preceding siblings ...)
  2020-06-02 14:55 ` xw111luoye at gmail dot com
@ 2020-06-02 14:57 ` jakub at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-06-02 14:57 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Hopefully this year.  What you can do in the meantime is
auto *mydata = data;
and use mydata instead of data.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-06-02 14:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-02  7:06 [Bug c++/95474] New: class member array cannot be mapped xw111luoye at gmail dot com
2020-06-02  9:12 ` [Bug c++/95474] " jakub at gcc dot gnu.org
2020-06-02 14:24 ` xw111luoye at gmail dot com
2020-06-02 14:35 ` jakub at gcc dot gnu.org
2020-06-02 14:55 ` xw111luoye at gmail dot com
2020-06-02 14:57 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).