diff --git a/0001-Fix-uninitialized-value-in-ABIArgInfo.patch b/0001-Fix-uninitialized-value-in-ABIArgInfo.patch new file mode 100644 index 0000000000000000000000000000000000000000..9755200a7668880c9805235ecee87fbcc1628220 --- /dev/null +++ b/0001-Fix-uninitialized-value-in-ABIArgInfo.patch @@ -0,0 +1,38 @@ +From 565b9633ee68b311c1a954022869d9e99fee7286 Mon Sep 17 00:00:00 2001 +From: serge-sans-paille +Date: Fri, 1 Feb 2019 06:39:13 +0000 +Subject: [PATCH] Fix uninitialized value in ABIArgInfo + +GCC-9 takes advantage of this uninitialized values to optimize stuff, +which ends up in failing validation when compiling clang. +--- + include/clang/CodeGen/CGFunctionInfo.h | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/include/clang/CodeGen/CGFunctionInfo.h b/include/clang/CodeGen/CGFunctionInfo.h +index cf64e9f3ee..131eb38393 100644 +--- a/include/clang/CodeGen/CGFunctionInfo.h ++++ b/include/clang/CodeGen/CGFunctionInfo.h +@@ -112,14 +112,13 @@ private: + } + + ABIArgInfo(Kind K) +- : TheKind(K), PaddingInReg(false), InReg(false), SuppressSRet(false) { +- } ++ : TypeData(nullptr), PaddingType(nullptr), DirectOffset(0), ++ TheKind(K), PaddingInReg(false), InAllocaSRet(false), IndirectByVal(false), ++ IndirectRealign(false), SRetAfterThis(false), InReg(false), ++ CanBeFlattened(false), SignExt(false), SuppressSRet(false) {} + + public: +- ABIArgInfo() +- : TypeData(nullptr), PaddingType(nullptr), DirectOffset(0), +- TheKind(Direct), PaddingInReg(false), InReg(false), +- SuppressSRet(false) {} ++ ABIArgInfo() : ABIArgInfo(Direct) {} + + static ABIArgInfo getDirect(llvm::Type *T = nullptr, unsigned Offset = 0, + llvm::Type *Padding = nullptr, +-- +2.19.2 + diff --git a/clang.spec b/clang.spec index ac434e9a677386b611e7009cbb8511ae5def7fda..994e9e68eb03ac1848c7088ca1f04f0f16e5a454 100644 --- a/clang.spec +++ b/clang.spec @@ -7,7 +7,7 @@ Name: clang Version: %{maj_ver}.%{min_ver}.%{patch_ver} -Release: 6 +Release: 7 License: NCSA Summary: An "LLVM native" C/C++/Objective-C compiler URL: http://llvm.org @@ -22,6 +22,7 @@ Patch4: 0001-gtest-reorg.patch Patch5: 0001-Don-t-prefer-python2.7.patch Patch6: 0001-Convert-clang-format-diff.py-to-python3-using-2to3.patch Patch7: 0001-Convert-scan-view-to-python3-using-2to3.patch +Patch8: 0001-Fix-uninitialized-value-in-ABIArgInfo.patch BuildRequires: cmake gcc-c++ python-sphinx git BuildRequires: llvm-devel = %{version} @@ -249,6 +250,9 @@ false %{python2_sitelib}/clang/ %changelog +* Thu May 28 2020 leiju - 7.0.0-7 +- Fix uninitialized value in ABIArgInfo + * Fri Apr 03 2020 zhouyihang - 7.0.0-6 - Remove useless scriptlet diff --git a/clang.yaml b/clang.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7d98bd835f0acc97da741f20f900a6ebae1512c5 --- /dev/null +++ b/clang.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: llvm/llvm-project +tag_prefix: ^llvmorg- +seperator: .