summaryrefslogtreecommitdiff
path: root/dev-util/clazy/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /dev-util/clazy/files
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'dev-util/clazy/files')
-rw-r--r--dev-util/clazy/files/clazy-1.6-clang-cpp.patch60
-rw-r--r--dev-util/clazy/files/clazy-1.6-llvm-10.patch75
2 files changed, 135 insertions, 0 deletions
diff --git a/dev-util/clazy/files/clazy-1.6-clang-cpp.patch b/dev-util/clazy/files/clazy-1.6-clang-cpp.patch
new file mode 100644
index 000000000000..16b9af00ce37
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.6-clang-cpp.patch
@@ -0,0 +1,60 @@
+From 0e295e5a926496f5a5d46ea4feb1b285b084f5e0 Mon Sep 17 00:00:00 2001
+From: Christophe Giboudeaux <christophe@krop.fr>
+Date: Mon, 11 Nov 2019 10:31:49 +0100
+Subject: Check if clazy should be linked to clang-cpp
+
+Summary:
+According to [1], clang can now provide a single shared library instead of split
+ones.
+
+We have to check if this library exists and link to it if available.
+
+[1] https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html#build-system-changes
+
+Reviewers: smartins, kde-buildsystem
+
+Reviewed By: smartins
+
+Differential Revision: https://phabricator.kde.org/D25163
+---
+ CMakeLists.txt | 11 ++++++++---
+ cmake/FindClang.cmake | 1 +
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b7301ed..ce1f887 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -125,9 +125,14 @@ macro(link_to_llvm name is_standalone)
+ if(WIN32)
+ target_link_libraries(${name} version.lib)
+ endif()
+- target_link_libraries(${name} clangTooling)
+- target_link_libraries(${name} clangToolingCore)
+- target_link_libraries(${name} ${clang_tooling_refactoring_lib})
++ # clang >= 9.0 can provide a single shared library instead of split ones
++ if(CLANG_CLANG-CPP_LIB)
++ target_link_libraries(${name} clang-cpp)
++ else()
++ target_link_libraries(${name} clangTooling)
++ target_link_libraries(${name} clangToolingCore)
++ target_link_libraries(${name} ${clang_tooling_refactoring_lib})
++ endif()
+ endmacro()
+
+ macro(add_clang_plugin name)
+diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
+index 542172e..50e0829 100644
+--- a/cmake/FindClang.cmake
++++ b/cmake/FindClang.cmake
+@@ -62,6 +62,7 @@ if (LLVM_FOUND AND LLVM_LIBRARY_DIRS)
+ # note: On Windows there's 'libclang.dll' instead of 'clang.dll' -> search for 'libclang', too
+ find_library(CLANG_LIBCLANG_LIB NAMES clang libclang HINTS ${LLVM_LIBRARY_DIRS}) # LibClang: high-level C interface
+
++ FIND_AND_ADD_CLANG_LIB(clang-cpp)
+ FIND_AND_ADD_CLANG_LIB(clangFrontend)
+ FIND_AND_ADD_CLANG_LIB(clangDriver)
+ FIND_AND_ADD_CLANG_LIB(clangCodeGen)
+--
+cgit v1.1
+
diff --git a/dev-util/clazy/files/clazy-1.6-llvm-10.patch b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
new file mode 100644
index 000000000000..f00695f52117
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
@@ -0,0 +1,75 @@
+From df41bd29433937111edca3654a7beb11ec765029 Mon Sep 17 00:00:00 2001
+From: Johannes Ziegenbalg <Johannes.Ziegenbalg@tu-dresden.de>
+Date: Fri, 27 Mar 2020 14:18:32 +0100
+Subject: Fix build issues using llvm 10.0.0
+
+---
+ CMakeLists.txt | 2 +-
+ src/ClazyStandaloneMain.cpp | 10 ++++++++++
+ src/checks/level0/qstring-ref.cpp | 4 ++++
+ 3 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f1463cf..a30813f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,7 +53,7 @@ if(MSVC)
+ # disable trigger-happy warnings from Clang/LLVM headers
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4291 /wd4800 /wd4141 /wd4146 /wd4251")
+ elseif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
+ endif()
+
+ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
+diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
+index aada189..6baae32 100644
+--- a/src/ClazyStandaloneMain.cpp
++++ b/src/ClazyStandaloneMain.cpp
+@@ -93,7 +93,11 @@ public:
+ {
+ }
+
++#if LLVM_VERSION_MAJOR >= 10
++ std::unique_ptr<FrontendAction> create() override
++#else
+ FrontendAction *create() override
++#endif
+ {
+ ClazyContext::ClazyOptions options = ClazyContext::ClazyOption_None;
+
+@@ -116,9 +120,15 @@ public:
+ options |= ClazyContext::ClazyOption_IgnoreIncludedFiles;
+
+ // TODO: We need to agregate the fixes with previous run
++#if LLVM_VERSION_MAJOR >= 10
++ return std::make_unique<ClazyStandaloneASTAction>(s_checks.getValue(), s_headerFilter.getValue(),
++ s_ignoreDirs.getValue(), s_exportFixes.getValue(),
++ m_paths, options);
++#else
+ return new ClazyStandaloneASTAction(s_checks.getValue(), s_headerFilter.getValue(),
+ s_ignoreDirs.getValue(), s_exportFixes.getValue(),
+ m_paths, options);
++#endif
+ }
+ std::vector<std::string> m_paths;
+ };
+diff --git a/src/checks/level0/qstring-ref.cpp b/src/checks/level0/qstring-ref.cpp
+index d1d8a4e..ec9e890 100644
+--- a/src/checks/level0/qstring-ref.cpp
++++ b/src/checks/level0/qstring-ref.cpp
+@@ -117,7 +117,11 @@ static bool containsChild(Stmt *s, Stmt *target)
+ return true;
+
+ if (auto mte = dyn_cast<MaterializeTemporaryExpr>(s)) {
++#if LLVM_VERSION_MAJOR >= 10
++ return containsChild(mte->getSubExpr(), target);
++#else
+ return containsChild(mte->getTemporary(), target);
++#endif
+ } else if (auto ice = dyn_cast<ImplicitCastExpr>(s)) {
+ return containsChild(ice->getSubExpr(), target);
+ } else if (auto bte = dyn_cast<CXXBindTemporaryExpr>(s)) {
+--
+cgit v1.1
+