diff --git a/0001-PATCH-clang-Reorganize-gtest-integration.patch b/0001-PATCH-clang-Reorganize-gtest-integration.patch index 3cfd780..e854f01 100644 --- a/0001-PATCH-clang-Reorganize-gtest-integration.patch +++ b/0001-PATCH-clang-Reorganize-gtest-integration.patch @@ -1,7 +1,7 @@ From c6b921c8d833546946b70a8c2640032fd7c62461 Mon Sep 17 00:00:00 2001 From: serge-sans-paille Date: Thu, 25 Feb 2021 14:04:52 +0100 -Subject: [PATCH 1/7] [PATCH][clang] Reorganize gtest integration +Subject: [PATCH 1/6] [PATCH][clang] Reorganize gtest integration --- clang/CMakeLists.txt | 12 +++++------- diff --git a/0001-PATCH-clang-tools-extra-Make-clangd-CompletionModel-.patch b/0001-PATCH-clang-tools-extra-Make-clangd-CompletionModel-.patch new file mode 100644 index 0000000..4745e78 --- /dev/null +++ b/0001-PATCH-clang-tools-extra-Make-clangd-CompletionModel-.patch @@ -0,0 +1,31 @@ +From 84e4fe467f290c85b3d7d22c7333d192e1282054 Mon Sep 17 00:00:00 2001 +From: serge-sans-paille +Date: Wed, 17 Mar 2021 08:32:56 +0100 +Subject: [PATCH] [PATCH][clang-tools-extra] Make clangd CompletionModel usable + even with non-standard (but supported) layout + +llvm supports specifying a non-standard layout where each project lies in its +own place. Do not assume a fixed layout and use the appropriate cmake variable +instead. +--- + clang-tools-extra/clangd/quality/CompletionModel.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/clang-tools-extra/clangd/quality/CompletionModel.cmake b/clang-tools-extra/clangd/quality/CompletionModel.cmake +index 60c6d2a..41bc2ed 100644 +--- a/clang-tools-extra/clangd/quality/CompletionModel.cmake ++++ b/clang-tools-extra/clangd/quality/CompletionModel.cmake +@@ -5,8 +5,8 @@ + # will define a C++ class called ${cpp_class} - which may be a + # namespace-qualified class name. + function(gen_decision_forest model filename cpp_class) +- set(model_compiler ${CMAKE_SOURCE_DIR}/../clang-tools-extra/clangd/quality/CompletionModelCodegen.py) +- ++ set(model_compiler ${LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR}/clangd/quality/CompletionModelCodegen.py) ++ + set(output_dir ${CMAKE_CURRENT_BINARY_DIR}) + set(header_file ${output_dir}/${filename}.h) + set(cpp_file ${output_dir}/${filename}.cpp) +-- +1.8.3.1 + diff --git a/0003-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch b/0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch similarity index 86% rename from 0003-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch rename to 0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch index e88997b..0a29dd4 100644 --- a/0003-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch +++ b/0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch @@ -1,7 +1,7 @@ -From 8a4eb9e3fa9456de3da47115bdbd47dc552b5263 Mon Sep 17 00:00:00 2001 +From 07b062e1f7c3359550aa8c0a7b86f6054971439d Mon Sep 17 00:00:00 2001 From: serge-sans-paille Date: Thu, 25 Feb 2021 14:09:29 +0100 -Subject: [PATCH 3/7] [PATCH][clang] Make -funwind-tables the default on all +Subject: [PATCH 2/6] [PATCH][clang] Make -funwind-tables the default on all archs --- @@ -10,7 +10,7 @@ Subject: [PATCH 3/7] [PATCH][clang] Make -funwind-tables the default on all 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp -index c4c71e1..d237cc6 100644 +index b2ddef1..715b323 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -257,7 +257,7 @@ std::string ToolChain::getInputFilename(const InputInfo &Input) const { diff --git a/0004-PATCH-clang-Don-t-install-static-libraries.patch b/0003-PATCH-clang-Don-t-install-static-libraries.patch similarity index 87% rename from 0004-PATCH-clang-Don-t-install-static-libraries.patch rename to 0003-PATCH-clang-Don-t-install-static-libraries.patch index 3bc4b0f..82f99a7 100644 --- a/0004-PATCH-clang-Don-t-install-static-libraries.patch +++ b/0003-PATCH-clang-Don-t-install-static-libraries.patch @@ -1,7 +1,7 @@ -From 9e32a3c1481e5bccd951789bb3676cd8c85c0244 Mon Sep 17 00:00:00 2001 +From 2c6cd40d016f492d53e16f1c7424a0d9878ae7ec Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Fri, 31 Jan 2020 11:04:57 -0800 -Subject: [PATCH 4/7] [PATCH][clang] Don't install static libraries +Subject: [PATCH 3/6] [PATCH][clang] Don't install static libraries --- clang/cmake/modules/AddClang.cmake | 2 +- diff --git a/0005-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch b/0004-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch similarity index 97% rename from 0005-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch rename to 0004-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch index 1cd7fc6..4f2cf39 100644 --- a/0005-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch +++ b/0004-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch @@ -1,7 +1,7 @@ -From ca5dec7a5ec6ca29ee6c4f2a35aaec03ad2e8238 Mon Sep 17 00:00:00 2001 +From d8af49687765744efaae7ba0f0c4c0fcd58a0e31 Mon Sep 17 00:00:00 2001 From: serge-sans-paille Date: Wed, 23 Sep 2020 12:47:30 +0000 -Subject: [PATCH 5/7] [PATCH][clang] Prefer gcc toolchains with libgcc_s.so +Subject: [PATCH 4/6] [PATCH][clang] Prefer gcc toolchains with libgcc_s.so when not static linking libgcc Fedora ships cross-compilers on all platforms, so a user could end up diff --git a/0006-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch b/0005-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch similarity index 98% rename from 0006-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch rename to 0005-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch index 12555ff..868fe59 100644 --- a/0006-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch +++ b/0005-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch @@ -1,7 +1,7 @@ -From 88134d9897dce14e34c51406320764356bfde6a4 Mon Sep 17 00:00:00 2001 +From ea01f898fd74bae23d8be31f1a29b542e886e3a5 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 9 Feb 2021 13:35:43 -0800 -Subject: [PATCH 6/7] [PATCH][clang] Partially Revert "scan-view: Remove +Subject: [PATCH 5/6] [PATCH][clang] Partially Revert "scan-view: Remove Reporter.py and associated AppleScript files" This reverts some of commit dbb01536f6f49fa428f170e34466072ef439b3e9. diff --git a/0007-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch b/0006-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch similarity index 91% rename from 0007-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch rename to 0006-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch index f667694..91e82b5 100644 --- a/0007-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch +++ b/0006-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch @@ -1,12 +1,14 @@ -From 7e0b36755d9bcccaddd1c4c1c69b1f12b729cf4e Mon Sep 17 00:00:00 2001 +From 1ef1e91142ac48ecb826f33e1e7072c7402d9fe7 Mon Sep 17 00:00:00 2001 From: serge-sans-paille -Date: Mon, 15 Mar 2021 09:28:48 +0100 -Subject: [PATCH 7/7] [PATCH][clang] Allow __ieee128 as an alias to __float128 +Date: Wed, 3 Mar 2021 09:58:31 +0100 +Subject: [PATCH 6/6] [PATCH][clang] Allow __ieee128 as an alias to __float128 on ppc This matches gcc behavior. -Backported from https://reviews.llvm.org/D97846 +Differential Revision: https://reviews.llvm.org/D97846 + +(cherry picked from commit 4aa510be78a75a4da82657fe433016f00dad0784) --- clang/include/clang/Basic/LangOptions.def | 1 + clang/lib/Basic/IdentifierTable.cpp | 3 +++ diff --git a/clang.spec b/clang.spec index 7e3d55a..0998933 100644 --- a/clang.spec +++ b/clang.spec @@ -85,16 +85,18 @@ Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{versio %endif Source4: tstellar-gpg-key.asc -%if !0%{?compat_build} -Patch21: completion-model-cmake.patch -%endif +# Patches for clang +Patch0: 0001-PATCH-clang-Reorganize-gtest-integration.patch +Patch1: 0002-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch +Patch2: 0003-PATCH-clang-Don-t-install-static-libraries.patch +Patch3: 0004-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch +Patch4: 0005-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch +Patch5: 0006-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch -Patch4: 0001-PATCH-clang-Reorganize-gtest-integration.patch -Patch13: 0003-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch -Patch15: 0004-PATCH-clang-Don-t-install-static-libraries.patch -Patch17: 0005-PATCH-clang-Prefer-gcc-toolchains-with-libgcc_s.so-w.patch -Patch19: 0006-PATCH-clang-Partially-Revert-scan-view-Remove-Report.patch -Patch20: 0007-PATCH-clang-Allow-__ieee128-as-an-alias-to-__float12.patch +# Patches for clang-tools-extra +%if !0%{?compat_build} +Patch201: 0001-PATCH-clang-tools-extra-Make-clangd-CompletionModel-.patch +%endif BuildRequires: gcc BuildRequires: gcc-c++ @@ -258,30 +260,22 @@ Requires: python3 %{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}' %if 0%{?compat_build} -%autosetup -n %{clang_srcdir} -p1 +%autosetup -n %{clang_srcdir} -p2 %else %{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}' %setup -T -q -b 1 -n %{clang_tools_srcdir} -%patch21 -p1 -b .comp-model +%autopatch -m200 -p2 # failing test case rm test/clang-tidy/checkers/altera-struct-pack-align.cpp - pathfix.py -i %{__python3} -pn \ clang-tidy/tool/*.py \ clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py %setup -q -n %{clang_srcdir} - -%patch4 -p2 -b .gtest -%patch13 -p2 -b .unwind-default -%patch15 -p2 -b .no-install-static -%patch17 -p2 -b .check-gcc_s -%patch19 -p2 -b .scan-view-remove-files-fix -%patch20 -p2 -b .ieee128 - +%autopatch -M200 -p2 # failing test case rm test/CodeGen/profile-filter.c diff --git a/completion-model-cmake.patch b/completion-model-cmake.patch deleted file mode 100644 index 925294d..0000000 --- a/completion-model-cmake.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur clang-tools-extra-12.0.0rc1.src.orig/clangd/quality/CompletionModel.cmake clang-tools-extra-12.0.0rc1.src/clangd/quality/CompletionModel.cmake ---- clang-tools-extra-12.0.0rc1.src.orig/clangd/quality/CompletionModel.cmake 2021-02-14 17:03:14.000000000 +0100 -+++ clang-tools-extra-12.0.0rc1.src/clangd/quality/CompletionModel.cmake 2021-02-14 20:57:51.000000000 +0100 -@@ -5,8 +5,8 @@ - # will define a C++ class called ${cpp_class} - which may be a - # namespace-qualified class name. - function(gen_decision_forest model filename cpp_class) -- set(model_compiler ${CMAKE_SOURCE_DIR}/../clang-tools-extra/clangd/quality/CompletionModelCodegen.py) -- -+ set(model_compiler ${LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR}/clangd/quality/CompletionModelCodegen.py) -+ - set(output_dir ${CMAKE_CURRENT_BINARY_DIR}) - set(header_file ${output_dir}/${filename}.h) - set(cpp_file ${output_dir}/${filename}.cpp)