diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index cdd389c04bf..7ce3cc243ff 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -613,6 +613,8 @@ static BaseClientInterface *clientInterface(Project *project, const Utils::FileP cmd.addArg("--compile-commands-dir=" + jsonDbDir.toString()); if (clangdLogServer().isDebugEnabled()) cmd.addArgs({"--log=verbose", "--pretty"}); + if (settings.clangdVersion() >= QVersionNumber(14)) + cmd.addArg("--use-dirty-headers"); const auto interface = new StdIOClientInterface; interface->setCommandLine(cmd); return interface; diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index d0bdb9b1846..ef5c5fb10ab 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -335,7 +335,7 @@ ClangdSettings::ClangdSettings() bool ClangdSettings::useClangd() const { - return m_data.useClangd && clangdVersion(clangdFilePath()) >= QVersionNumber(13); + return m_data.useClangd && clangdVersion() >= QVersionNumber(13); } void ClangdSettings::setDefaultClangdPath(const FilePath &filePath) diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h index 3508233575c..fc7fd6ee61f 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.h +++ b/src/plugins/cppeditor/cppcodemodelsettings.h @@ -147,6 +147,7 @@ public: Data data() const { return m_data; } static QVersionNumber clangdVersion(const Utils::FilePath &clangdFilePath); + QVersionNumber clangdVersion() const { return clangdVersion(clangdFilePath()); } #ifdef WITH_TESTS static void setUseClangd(bool use);