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).