-
- Downloads
[!775] SIMD test: fix implicit this capture warnings
Merge branch 'fix-implicit-this-capture' into 'master' ref:core/dune-common C++20 deprecates implicit capture of this using [=], and gcc9 warns about that. Unfortunately, in C++ before 20 listing this together with a capture-default of = is illegal, and GCC 8 emits a warning about that that apparently can't be silenced. So the only option if we want to appease both pre- and post-C++20 is to list each entity to be captures explicitly. Luckily, that is not too hard in this case. See [https://gitlab.dune-project.org/core/dune-common/-/jobs/139584\#L486] (debian:11 gcc-9-20): [ 40%] Building CXX object dune/common/CMakeFiles/dunecommon.dir/simd/test.cc.o In file included from /builds/core/dune-common/dune/common/simd/test.cc:6: /builds/core/dune-common/dune/common/simd/test.hh: In lambda function: /builds/core/dune-common/dune/common/simd/test.hh:334:36: warning: implicit capture of 'this' via '[=]' is deprecated in C++20 [-Wdeprecated] 334 | Hybrid::forEach(Rebinds{}, [=](auto target) { | ^ /builds/core/dune-common/dune/common/simd/test.hh:334:36: note: add explicit 'this' or '*this' capture WIP: - [x] Check these warnings are really gone in the CI See merge request [!775] [https://gitlab.dune-project.org/core/dune-common/-/jobs/139584\#L486]: https://gitlab.dune-project.org/core/dune-common/-/jobs/139584#L486 [!775]: gitlab.dune-project.org/core/dune-common/merge_requests/775
Please register or sign in to comment