44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
diff --git a/src/qdoc/cmake/QDocConfiguration.cmake b/src/qdoc/cmake/QDocConfiguration.cmake
|
|
index 72d27db9e..8a3cba463 100644
|
|
--- a/src/qdoc/cmake/QDocConfiguration.cmake
|
|
+++ b/src/qdoc/cmake/QDocConfiguration.cmake
|
|
@@ -8,7 +8,7 @@ set(QDOC_MINIMUM_CLANG_VERSION "17")
|
|
|
|
# List of explicitly supported Clang versions for QDoc
|
|
set(QDOC_SUPPORTED_CLANG_VERSIONS
|
|
- "21.1" "20.1" "19.1" "18.1" "17.0.6"
|
|
+ "22.1" "22.0" "21.1" "20.1" "19.1" "18.1" "17.0.6"
|
|
)
|
|
|
|
# Check for QDoc coverage dependencies
|
|
diff --git a/src/qdoc/qdoc/CMakeLists.txt b/src/qdoc/qdoc/CMakeLists.txt
|
|
index 90f1d7c23..84ebc3a28 100644
|
|
--- a/src/qdoc/qdoc/CMakeLists.txt
|
|
+++ b/src/qdoc/qdoc/CMakeLists.txt
|
|
@@ -191,6 +191,7 @@ qt_internal_add_tool(${target_name}
|
|
DEFINES
|
|
# To provide the ability to workaround version-specific Clang issues.
|
|
# A re-export of (LLVM|CLANG)_VERSION_MAJOR done in WrapLibClang.cmake
|
|
+ QT_NO_EMIT
|
|
LIBCLANG_VERSION_MAJOR=${QT_LIB_CLANG_VERSION_MAJOR}
|
|
)
|
|
|
|
diff --git a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
|
|
index 66a750a3d..3f54ddff5 100644
|
|
--- a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
|
|
+++ b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
|
|
@@ -43,7 +43,12 @@
|
|
#include <clang/Lex/Lexer.h>
|
|
#include <llvm/Support/Casting.h>
|
|
|
|
-#include "clang/AST/QualTypeNames.h"
|
|
+#if LIBCLANG_VERSION_MAJOR >= 22
|
|
+// LLVM 22 provides a compatible QualTypeNames implementation in libclang.
|
|
+# include <clang/AST/QualTypeNames.h>
|
|
+#else
|
|
+# include "clang/AST/QualTypeNames.h"
|
|
+#endif
|
|
#include "template_declaration.h"
|
|
|
|
#include <cstdio>
|