summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD9
-rw-r--r--clang5.patch45
3 files changed, 56 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1bb612942e3c..c5a24109ec8a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index c2d70aa75054..b31d08c222c3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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);