https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104493
Bug ID: 104493 Summary: OpenMP offload map cannot handle const Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: xw111luoye at gmail dot com Target Milestone: --- See reproducer https://github.com/ye-luo/openmp-target/blob/master/tests/map/struct_with_const.cpp $ g++ -fopenmp -foffload=nvptx-none struct_with_const.cpp struct_with_const.cpp: In constructor ‘with_const::with_const()’: struct_with_const.cpp:9:42: error: array section does not have mappable type in ‘map’ clause 9 | #pragma omp target enter data map(to:this[:1]) | ^~~~ struct_with_const.cpp:12:24: note: static field ‘with_const::size’ is not mappable 12 | constexpr static int size = 6; | ^~~~ struct_with_const.cpp:13:20: note: static field ‘with_const::b’ is not mappable 13 | static const int b = 12; | ^ In file included from /soft/gcc/gcc-12-dev-2022-02-10/include/c++/12.0.1/string:53, from /soft/gcc/gcc-12-dev-2022-02-10/include/c++/12.0.1/bits/locale_classes.h:40, from /soft/gcc/gcc-12-dev-2022-02-10/include/c++/12.0.1/bits/ios_base.h:41, from /soft/gcc/gcc-12-dev-2022-02-10/include/c++/12.0.1/ios:42, from /soft/gcc/gcc-12-dev-2022-02-10/include/c++/12.0.1/ostream:38, from /soft/gcc/gcc-12-dev-2022-02-10/include/c++/12.0.1/iostream:39, from struct_with_const.cpp:1: /soft/gcc/gcc-12-dev-2022-02-10/include/c++/12.0.1/bits/basic_string.h:140:33: note: static field ‘std::__cxx11::basic_string<char>::npos’ is not mappable 140 | static const size_type npos = static_cast<size_type>(-1); | ^~~~ struct_with_const.cpp:9:13: error: ‘#pragma omp target enter data’ must contain at least one ‘map’ clause 9 | #pragma omp target enter data map(to:this[:1]) |