alpaka: OpenMP 5 back-end broken for clang 12

Compiling the alpaka tests with clang 12 and an activated OpenMP 5 back-end leads to compilation errors:

In file included from /home/stepha27/workspace/caravan/alpaka/test/integ/sharedMem/src/sharedMem.cpp:10:
In file included from /home/stepha27/workspace/caravan/alpaka/include/alpaka/alpaka.hpp:112:
/home/stepha27/workspace/caravan/alpaka/include/alpaka/kernel/TaskKernelOmp5.hpp:191:29: error: Type 'std::tuple<int *>' is not trivially copyable and not guaranteed to be mapped correctly [-Werror,-Wopenmp-mapping]
                            argsD);
                            ^~~~~

The culprit is this member variable of TaskKernelOmp5:

https://github.com/alpaka-group/alpaka/blob/c938c8045bb9592fc1ee6a05a440d3cfc279c2d3/include/alpaka/kernel/TaskKernelOmp5.hpp#L206

I didn’t test this with clang 11 yet. In clang 10 this works because our CI doesn’t complain.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 15 (15 by maintainers)

Most upvoted comments

The behavior in clang was introduced here and it is a pure diagnostic change: https://reviews.llvm.org/D71134 I am for disabling the warning.