diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rw-r--r-- | clang5.patch | 45 |
3 files changed, 56 insertions, 4 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Sun Sep 17 17:16:02 UTC 2017 +# Tue Sep 19 18:20:42 UTC 2017 pkgbase = swift-language pkgdesc = The Swift programming language and debugger pkgver = 3.1.1 - pkgrel = 4 + pkgrel = 5 url = http://swift.org/ arch = i686 arch = x86_64 @@ -43,6 +43,7 @@ pkgbase = swift-language source = sphinx1.6.patch source = lldb_missing_include.patch source = glibc-2.26.patch + source = clang5.patch sha256sums = fe4dcb9ee1247acd6653fe193684e9cb212c6551e0b0b44849899bec99df3297 sha256sums = 385b587b825adae9a9f7e5789e151ae0554e6e62f2f2f81ff3b623ef578b39bc sha256sums = bf9ec0c157501eea69ea1eb3c4b8bf56058110ec6c6a870d81d53868b67d1b96 @@ -59,6 +60,7 @@ pkgbase = swift-language sha256sums = 3c06dcc15bef6cbda7ce7b8a6a4f89bd16599ddbd1b964add9f2048cdda4700b sha256sums = be61c69ae7bb626f7f07f95cb5c0074013725c1b90a3ca68aa0c0f989d75e41e sha256sums = f3eca044354ee371072aaf81452468cce1ff2abf9efc746db964dfdb400f88ab + sha256sums = 78da7fe1f8bffc729168c8224707cc14ee460c7adcba9a48fd77e2b22614fca3 pkgname = swift pkgdesc = The Swift programming language compiler and tools @@ -4,7 +4,7 @@ pkgbase=swift-language pkgname=(swift swift-lldb) _swiftver=3.1.1-RELEASE pkgver=${_swiftver//-RELEASE/} -pkgrel=4 +pkgrel=5 pkgdesc="The Swift programming language and debugger" arch=('i686' 'x86_64') url="http://swift.org/" @@ -31,6 +31,7 @@ source=( "sphinx1.6.patch" "lldb_missing_include.patch" "glibc-2.26.patch" + "clang5.patch" ) sha256sums=('fe4dcb9ee1247acd6653fe193684e9cb212c6551e0b0b44849899bec99df3297' '385b587b825adae9a9f7e5789e151ae0554e6e62f2f2f81ff3b623ef578b39bc' @@ -47,7 +48,8 @@ sha256sums=('fe4dcb9ee1247acd6653fe193684e9cb212c6551e0b0b44849899bec99df3297' '3fedb626b375f6ad8b4601abd336f4560718a9c9134716f0c3a4e823b8c12857' '3c06dcc15bef6cbda7ce7b8a6a4f89bd16599ddbd1b964add9f2048cdda4700b' 'be61c69ae7bb626f7f07f95cb5c0074013725c1b90a3ca68aa0c0f989d75e41e' - 'f3eca044354ee371072aaf81452468cce1ff2abf9efc746db964dfdb400f88ab') + 'f3eca044354ee371072aaf81452468cce1ff2abf9efc746db964dfdb400f88ab' + '78da7fe1f8bffc729168c8224707cc14ee460c7adcba9a48fd77e2b22614fca3') prepare() { # Use python2 where appropriate @@ -89,6 +91,9 @@ prepare() { # glibc 2.26 removed the non-standard xlocale.h and SIGUNUSED ( cd "${srcdir}" && patch -p1 -i "${srcdir}/glibc-2.26.patch" ) + + # Clang 5.0 fixed an obscure issue with standards-compliance + ( cd "${srcdir}/swift" && patch -p1 -i "${srcdir}/clang5.patch" ) } _common_build_params=( diff --git a/clang5.patch b/clang5.patch new file mode 100644 index 000000000000..d413d3d1557e --- /dev/null +++ b/clang5.patch @@ -0,0 +1,45 @@ +diff -rupN a/lib/SIL/Projection.cpp b/lib/SIL/Projection.cpp +--- a/lib/SIL/Projection.cpp 2017-09-19 09:15:54.852473005 -0700 ++++ b/lib/SIL/Projection.cpp 2017-09-19 10:07:31.576737412 -0700 +@@ -905,7 +905,7 @@ processUsersOfValue(ProjectionTree &Tree + DEBUG(llvm::dbgs() << " " << *User); + + // First try to create a Projection for User. +- auto P = Projection::Projection(User); ++ auto P = typename Projection::Projection(User); + + // If we fail to create a projection, add User as a user to this node and + // continue. +diff -rupN a/lib/SILOptimizer/Transforms/SpeculativeDevirtualizer.cpp b/lib/SILOptimizer/Transforms/SpeculativeDevirtualizer.cpp +--- a/lib/SILOptimizer/Transforms/SpeculativeDevirtualizer.cpp 2017-09-19 09:15:55.372478566 -0700 ++++ b/lib/SILOptimizer/Transforms/SpeculativeDevirtualizer.cpp 2017-09-19 10:37:02.517214683 -0700 +@@ -488,7 +488,7 @@ static bool tryToSpeculateTarget(FullApp + if (auto EMT = SubType.getAs<AnyMetatypeType>()) { + auto InstTy = ClassType.getSwiftRValueType(); + auto *MetaTy = MetatypeType::get(InstTy, EMT->getRepresentation()); +- auto CanMetaTy = CanMetatypeType::CanTypeWrapper(MetaTy); ++ auto CanMetaTy = typename CanMetatypeType::CanTypeWrapper(MetaTy); + ClassOrMetatypeType = SILType::getPrimitiveObjectType(CanMetaTy); + } + +diff -rupN a/lib/SILOptimizer/Utils/Local.cpp b/lib/SILOptimizer/Utils/Local.cpp +--- a/lib/SILOptimizer/Utils/Local.cpp 2017-09-19 09:15:55.592480918 -0700 ++++ b/lib/SILOptimizer/Utils/Local.cpp 2017-09-19 10:07:01.376380235 -0700 +@@ -2248,7 +2248,7 @@ CastOptimizer::optimizeCheckedCastBranch + auto EMT = dyn_cast<AnyMetatypeType>(EmiTy.getSwiftRValueType()); + auto *MetaTy = MetatypeType::get(LoweredConcreteTy.getSwiftRValueType(), + EMT->getRepresentation()); +- auto CanMetaTy = CanMetatypeType::CanTypeWrapper(MetaTy); ++ auto CanMetaTy = typename CanMetatypeType::CanTypeWrapper(MetaTy); + auto SILMetaTy = SILType::getPrimitiveObjectType(CanMetaTy); + SILBuilderWithScope B(Inst); + auto *MI = B.createMetatype(FoundIEI->getLoc(), SILMetaTy); +@@ -2303,7 +2303,7 @@ CastOptimizer::optimizeCheckedCastBranch + // Get the SIL metatype of this type. + auto EMT = dyn_cast<AnyMetatypeType>(EMI->getType().getSwiftRValueType()); + auto *MetaTy = MetatypeType::get(ConcreteTy, EMT->getRepresentation()); +- auto CanMetaTy = CanMetatypeType::CanTypeWrapper(MetaTy); ++ auto CanMetaTy = typename CanMetatypeType::CanTypeWrapper(MetaTy); + auto SILMetaTy = SILType::getPrimitiveObjectType(CanMetaTy); + SILBuilderWithScope B(Inst); + auto *MI = B.createMetatype(FoundIERI->getLoc(), SILMetaTy); |