Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package clazy for openSUSE:Factory checked in at 2021-04-19 21:06:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/clazy (Old) and /work/SRC/openSUSE:Factory/.clazy.new.12324 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clazy" Mon Apr 19 21:06:49 2021 rev:16 rq:886726 version:1.9 Changes: -------- --- /work/SRC/openSUSE:Factory/clazy/clazy.changes 2021-02-01 13:28:48.270159190 +0100 +++ /work/SRC/openSUSE:Factory/.clazy.new.12324/clazy.changes 2021-04-19 21:07:27.520160639 +0200 @@ -1,0 +2,6 @@ +Mon Apr 19 15:16:23 UTC 2021 - Christophe Giboudeaux <[email protected]> + +- Add upstream change: + * 0001-Fix-build-with-Clang-12.patch + +------------------------------------------------------------------- New: ---- 0001-Fix-build-with-Clang-12.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clazy.spec ++++++ --- /var/tmp/diff_new_pack.QXS8z9/_old 2021-04-19 21:07:27.932161257 +0200 +++ /var/tmp/diff_new_pack.QXS8z9/_new 2021-04-19 21:07:27.936161263 +0200 @@ -24,6 +24,8 @@ Group: Development/Tools/Other URL: https://www.kdab.com/clazy-video/ Source0: https://download.kde.org/stable/%{name}/%{version}/src/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM +Patch0: 0001-Fix-build-with-Clang-12.patch BuildRequires: clang BuildRequires: clang-devel >= 7.0 BuildRequires: cmake >= 3.7 ++++++ 0001-Fix-build-with-Clang-12.patch ++++++ >From 2592a6e3393ebc75e16c91e606ad2015a16295c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Sch=C3=A4rf?= <[email protected]> Date: Sat, 23 Jan 2021 15:34:10 +0100 Subject: [PATCH] Fix build with Clang 12 Required due to Clang changes https://github.com/llvm/llvm-project/commit/b3eff6b7bb31e7ef059a3d238de138849839fbbd and https://github.com/llvm/llvm-project/commit/d758f79e5d381bd4f5122193a9538d89c907c812 --- src/SourceCompatibilityHelpers.h | 26 ++++++++++++++++++++++++++ src/SuppressionManager.cpp | 5 ++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h index 4db141ab..1737d5a5 100644 --- a/src/SourceCompatibilityHelpers.h +++ b/src/SourceCompatibilityHelpers.h @@ -29,6 +29,7 @@ #include <clang/Basic/SourceLocation.h> #include <clang/Basic/SourceManager.h> #include <clang/Frontend/FrontendDiagnostic.h> +#include <clang/Lex/Lexer.h> #include <clang/Tooling/Core/Diagnostic.h> #if defined(CLAZY_USES_BOOST_REGEX) @@ -103,6 +104,31 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d #endif } +inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid) +{ +#if LLVM_VERSION_MAJOR >= 12 + auto buffer = sm.getBufferOrNone(id); + *invalid = !buffer.hasValue(); + return buffer; +#else + return sm.getBuffer(id, invalid); +#endif +} + +#if LLVM_VERSION_MAJOR >= 12 +inline clang::Lexer getLexer(clang::FileID id, llvm::Optional<llvm::MemoryBufferRef> inputFile, + const clang::SourceManager &sm, const clang::LangOptions &lo) +{ + return clang::Lexer(id, inputFile.getValue(), sm, lo); +} +#else +inline clang::Lexer getLexer(clang::FileID id, const llvm::MemoryBuffer *inputFile, + const clang::SourceManager &sm, const clang::LangOptions &lo) +{ + return clang::Lexer(id, inputFile, sm, lo); +} +#endif + } #endif diff --git a/src/SuppressionManager.cpp b/src/SuppressionManager.cpp index 9d774ea6..9881388d 100644 --- a/src/SuppressionManager.cpp +++ b/src/SuppressionManager.cpp @@ -24,7 +24,6 @@ #include "clazy_stl.h" #include <clang/Basic/SourceManager.h> -#include <clang/Lex/Lexer.h> #include <clang/Basic/SourceLocation.h> #include <clang/Basic/TokenKinds.h> #include <clang/Lex/Token.h> @@ -84,7 +83,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla Suppressions &suppressions = (*it).second; bool invalid = false; - auto buffer = sm.getBuffer(id, &invalid); + auto buffer = clazy::getBuffer(sm, id, &invalid); if (invalid) { llvm::errs() << "SuppressionManager::parseFile: Invalid buffer "; if (buffer) @@ -92,7 +91,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla return; } - Lexer lexer(id, buffer, sm, lo); + auto lexer = clazy::getLexer(id, buffer, sm, lo); lexer.SetCommentRetentionState(true); Token token; -- 2.31.1
