Skip to content

clover: MSVC and C++20 fixes

Jesse Natalie requested to merge jenatali/mesa:upstream-clover-msvc-cpp20 into main

I still have some hacky downstream patches to make Clover build/work on Windows, so this isn't sufficient on its own. When I went to re-add Clover to my Windows build environment, I was surprised when it didn't build... at all. That's because I had my build set to use C++latest (C++20) from previous experimentation. So, this series fixes a few MSVC / C++20 problems:

  • C++17 deprecated std::result_of, and C++20 removes it, in favor of std::invoke_result.
  • C++20 makes module a keyword. This uses 'binary' as a replacement. I tried to fix variable names and comments, but the ::llvm::Module type still exists so hopefully I didn't go too far or miss things.
  • MSVC had some unused variable warnings on exception variables that were named but unused.

/cc @karolherbst @pmoreau @airlied

Edited by Jesse Natalie

Merge request reports