From 01cae372619369d1a5a04f4d0f87817011029b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= Date: Sat, 1 Oct 2022 07:19:52 +0200 Subject: [PATCH] lupdate: Fix build with clang 15+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The signature of InclusionDirective changed for clang 15. Change-Id: Ic259b3508088671b40f6f615524137ce8837c487 Reviewed-by: Jörg Bornemann (cherry picked from commit 6495329e6de803025e6e4e8291b648f94893551c) Reviewed-by: Qt Cherry-pick Bot --- src/linguist/lupdate/lupdatepreprocessoraction.cpp | 13 +++++++++++-- src/linguist/lupdate/lupdatepreprocessoraction.h | 7 ++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/linguist/lupdate/lupdatepreprocessoraction.cpp b/src/linguist/lupdate/lupdatepreprocessoraction.cpp index d7446c364..9733f20d2 100644 --- a/src/linguist/lupdate/lupdatepreprocessoraction.cpp +++ b/src/linguist/lupdate/lupdatepreprocessoraction.cpp @@ -156,14 +156,23 @@ void LupdatePPCallbacks::SourceRangeSkipped(clang::SourceRange sourceRange, // To list the included files void LupdatePPCallbacks::InclusionDirective(clang::SourceLocation /*hashLoc*/, const clang::Token & /*includeTok*/, clang::StringRef /*fileName*/, bool /*isAngled*/, - clang::CharSourceRange /*filenameRange*/, const clang::FileEntry *file, + clang::CharSourceRange /*filenameRange*/, +#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0)) + const clang::Optional file, +#else + const clang::FileEntry *file, +#endif clang::StringRef /*searchPath*/, clang::StringRef /*relativePath*/, const clang::Module */*imported*/, clang::SrcMgr::CharacteristicKind /*fileType*/) { if (!file) return; - clang::StringRef fileNameRealPath = file->tryGetRealPathName(); + clang::StringRef fileNameRealPath = file-> +#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0)) + getFileEntry(). +#endif + tryGetRealPathName(); if (!LupdatePrivate::isFileSignificant(fileNameRealPath.str())) return; diff --git a/src/linguist/lupdate/lupdatepreprocessoraction.h b/src/linguist/lupdate/lupdatepreprocessoraction.h index b1ee468d4..3e44cee83 100644 --- a/src/linguist/lupdate/lupdatepreprocessoraction.h +++ b/src/linguist/lupdate/lupdatepreprocessoraction.h @@ -51,7 +51,12 @@ class LupdatePPCallbacks : public clang::PPCallbacks void SourceRangeSkipped(clang::SourceRange sourceRange, clang::SourceLocation endifLoc) override; void InclusionDirective(clang::SourceLocation /*hashLoc*/, const clang::Token &/*includeTok*/, clang::StringRef /*fileName*/, bool /*isAngled*/, - clang::CharSourceRange /*filenameRange*/, const clang::FileEntry *file, + clang::CharSourceRange /*filenameRange*/, +#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0)) + const clang::Optional file, +#else + const clang::FileEntry *file, +#endif clang::StringRef /*searchPath*/, clang::StringRef /*relativePath*/, const clang::Module */*imported*/, clang::SrcMgr::CharacteristicKind /*fileType*/) override;