[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread schulz.benjamin at googlemail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #9 from Benjamin Schulz --- Hi@all, thank you for your interesting replies. I guess the problem for the mapper and templates is that there are no pragma templates in C++. So this would probably indeed mean that one would have to ch

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread burnus at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #8 from Tobias Burnus --- > If you are asking for a new OpenMP feature, this is not the right forum, > GCC bugzilla is for reporting bugs. While I want to echo what Jakub wrote, I have nonetheless filed the OpenMP specification issu

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread schulz.benjamin at googlemail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #6 from Benjamin Schulz --- Jakub Jelinek wrote: > The reason why it is invalid is that T lookup fails in the declare mapper > > definition. Yes, And that exactly is the problem. > #pragma omp declare mapper(myvec v) map(v, v.data

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #5 from Jakub Jelinek --- The reason why it is invalid is that T lookup fails in the declare mapper definition. You can't take the T literally from the OpenMP standard, that is a a non-literal for any type of certain properties. Say

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread schulz.benjamin at googlemail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #4 from Benjamin Schulz --- Also the Openmp specification for mapper says: https://www.openmp.org/spec-html/5.2/openmpsu61.html A structure type T has a predefined default mapper that is defined as if by a declare mapper The quest

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread schulz.benjamin at googlemail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #3 from Benjamin Schulz --- oh of course withotu std, so typedef myvec doublevec; If one has to specify the datatype explicitly before one can use the openmp mapper, then the mapper pragma of openmp makes not much sense with templ

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread schulz.benjamin at googlemail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #2 from Benjamin Schulz --- Hi there, if that testcase is "invalid", then that means that the mapper statement does not work with template classes at all It would mean that for a struct with a template datatype template struct my

[Bug libgomp/120682] declare mapper does not work with templates

2025-06-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120682 --- Comment #1 from Jakub Jelinek --- Declare mapper support has been added to GCC for C++ only in GCC 16, with r16-983-g48973e8783e59462ab6e34d5d48b74a2146a05f1 And your testcase is invalid and correctly rejected by trunk: pr120682.C:8:34: erro