Skip to content
Snippets Groups Projects

Portability fixes to compile with XCode / libc++

Merged Liam Keegan requested to merge liam.keegan/dune-pdelab:tbb into feature/dune-assembler/main
All threads resolved!
  • Add Dune::PDELab::Execution execution policies
    • Internally use PSTL if available or oneapi::dpl as fallback
  • Ensure std::format is available before use (empty header exists in some libc++ versions)
  • If std::atomic_ref is not available fall back to boost::atomic_ref if available, otherwise throw at runtime
  • Add typename where needed
  • Add & to fix "cannot overload a member function without a ref-qualifier with a member function with ref-qualifier"
  • consteval -> constexpr ("call to consteval function is not a constant expression" error: probably a compiler bug in appleclang)
  • Ensure moved-from std::function is empty
    • after being moved from it is only guaranteed to be in a valid but unspecified state, not necessarily empty
    • for gcc/clang implementations it is empty, but apparently not for appleclang
  • Always use forward_range for SparseDynamicRange/DenseDynamicRange
    • they don't fulfill the requirements for tbb::blocked_range
    • (a requires expression that constructs a tbb::blocked_range nonethless returns True on appleclang, only for compilation to fail later)
  • Avoid calling constructors without all arguments (c++20 feature not yet supported by appleclang)

Merge request reports

Pipeline #66116 failed

Pipeline failed for e0866287 on liam.keegan:tbb

Merged by Santiago Ospina De Los RíosSantiago Ospina De Los Ríos 1 year ago (Nov 15, 2023 12:58pm UTC)

Merge details

  • Changes merged into with 9eff7caa.
  • Did not delete the source branch.

Pipeline #66117 failed

Pipeline failed for 9eff7caa on feature/dune-assembler/main

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading