Module require Clang 17, since Clang 16 requires the magic # __FILE__
line. Therefore, if available, use clang-tidy 17 too. This change should
be reverted after LLVM 17 is released.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D149455
-# Look for the latest package
-set(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)
-set(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC)
-
# The find_package changes these variables. This leaves the build in an odd
# state. Calling cmake a second time tries to write site config information in
# the system's libc++. Restoring these setting after testing fixes this issue.
set(LLVM_DIR_SAVE ${LLVM_DIR})
set(Clang_DIR_SAVE ${Clang_DIR})
-find_package(Clang 16)
+# TODO LLVM 17 prefer to use teh stable release again instead of ToT.
+# libc++ normally prefers the use the last stable release instead of the ToT.
+# For modules we need ToT since they are still under heavy development. So
+# temporary the ToT version is preferred.
+find_package(Clang 17)
if (NOT Clang_FOUND)
- find_package(Clang 17)
+ find_package(Clang 16)
endif()
set(SOURCES
):
return None
+ # TODO MODULES require ToT due module specific fixes.
+ if runScriptExitCode(cfg, ['clang-tidy-17 --version']) == 0:
+ return 'clang-tidy-17'
+
# TODO This should be the last stable release.
# LLVM RELEASE bump to latest stable version
if runScriptExitCode(cfg, ["clang-tidy-16 --version"]) == 0: