Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package clazy for openSUSE:Factory checked in at 2023-04-01 19:32:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/clazy (Old) and /work/SRC/openSUSE:Factory/.clazy.new.9019 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clazy" Sat Apr 1 19:32:17 2023 rev:21 rq:1076544 version:1.11 Changes: -------- --- /work/SRC/openSUSE:Factory/clazy/clazy.changes 2022-09-21 14:43:45.457969155 +0200 +++ /work/SRC/openSUSE:Factory/.clazy.new.9019/clazy.changes 2023-04-01 19:32:33.941449395 +0200 @@ -1,0 +2,6 @@ +Fri Mar 31 17:02:55 UTC 2023 - Christophe Marin <[email protected]> + +- Add upstream change to fix build with clang 16: + * 0001-Adapt-to-API-changes-in-clang-llvm-16.patch + +------------------------------------------------------------------- New: ---- 0001-Adapt-to-API-changes-in-clang-llvm-16.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clazy.spec ++++++ --- /var/tmp/diff_new_pack.OLzayn/_old 2023-04-01 19:32:34.533452503 +0200 +++ /var/tmp/diff_new_pack.OLzayn/_new 2023-04-01 19:32:34.541452545 +0200 @@ -31,6 +31,7 @@ Patch1: 0001-Fix-crash-when-Q_PROPERTY-contents-is-empty.patch Patch2: 0001-Allow-passing-no-check-in-plugin-arg-clazy-commandli.patch Patch3: 0001-Build-fixes-for-LLVM-Clang-15.0.0.patch +Patch4: 0001-Adapt-to-API-changes-in-clang-llvm-16.patch BuildRequires: clang BuildRequires: clang-devel >= 8.0 BuildRequires: cmake >= 3.7 ++++++ 0001-Adapt-to-API-changes-in-clang-llvm-16.patch ++++++ >From a05ac7eb6f6198c3f478bd7b5b4bfc062a8d63cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= <[email protected]> Date: Tue, 7 Feb 2023 11:06:19 +0100 Subject: [PATCH] Adapt to API changes in clang/llvm 16 --- src/SourceCompatibilityHelpers.h | 17 ++++++++++++----- src/checkbase.h | 1 + src/checks/level0/lambda-in-connect.cpp | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h index c1a23a4b..5e2dc606 100644 --- a/src/SourceCompatibilityHelpers.h +++ b/src/SourceCompatibilityHelpers.h @@ -107,7 +107,11 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid) { -#if LLVM_VERSION_MAJOR >= 12 +#if LLVM_VERSION_MAJOR >= 16 + auto buffer = sm.getBufferOrNone(id); + *invalid = !buffer.has_value(); + return buffer; +#elif LLVM_VERSION_MAJOR >= 12 auto buffer = sm.getBufferOrNone(id); *invalid = !buffer.hasValue(); return buffer; @@ -116,11 +120,12 @@ inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *in #endif } -#if LLVM_VERSION_MAJOR >= 12 - +#if LLVM_VERSION_MAJOR >= 16 +#define GET_LEXER(id, inputFile, sm, lo) \ +clang::Lexer(id, inputFile.value(), sm, lo) +#elif LLVM_VERSION_MAJOR >= 12 #define GET_LEXER(id, inputFile, sm, lo) \ clang::Lexer(id, inputFile.getValue(), sm, lo) - #else #define GET_LEXER(id, inputFile, sm, lo) \ clang::Lexer(id, inputFile, sm, lo) @@ -144,7 +149,9 @@ inline bool contains_lower(clang::StringRef haystack, clang::StringRef needle) #endif } -#if LLVM_VERSION_MAJOR >= 15 +#if LLVM_VERSION_MAJOR >= 16 +using OptionalFileEntryRef = clang::CustomizableOptional<clang::FileEntryRef>; +#elif LLVM_VERSION_MAJOR >= 15 using OptionalFileEntryRef = clang::Optional<clang::FileEntryRef>; #else using OptionalFileEntryRef = const clang::FileEntry*; diff --git a/src/checkbase.h b/src/checkbase.h index 02f6a6bf..6a8c634b 100644 --- a/src/checkbase.h +++ b/src/checkbase.h @@ -93,6 +93,7 @@ public: void InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled, clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath, clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override; + private: CheckBase *const check; }; diff --git a/src/checks/level0/lambda-in-connect.cpp b/src/checks/level0/lambda-in-connect.cpp index b0da926f..1ba1126f 100644 --- a/src/checks/level0/lambda-in-connect.cpp +++ b/src/checks/level0/lambda-in-connect.cpp @@ -71,7 +71,7 @@ void LambdaInConnect::VisitStmt(clang::Stmt *stmt) for (auto capture : captures) { if (capture.getCaptureKind() == clang::LCK_ByRef) { - VarDecl *declForCapture = capture.getCapturedVar(); + auto *declForCapture = capture.getCapturedVar(); if (declForCapture && declForCapture != receiverDecl && clazy::isValueDeclInFunctionContext(declForCapture)) emitWarning(capture.getLocation(), "captured local variable by reference might go out of scope before lambda is called"); } -- 2.40.0
