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 #include -#include "clang/AST/QualTypeNames.h" +#if LIBCLANG_VERSION_MAJOR >= 22 +// LLVM 22 provides a compatible QualTypeNames implementation in libclang. +# include +#else +# include "clang/AST/QualTypeNames.h" +#endif #include "template_declaration.h" #include