Date: Sunday, December 21, 2014 @ 11:42:52 Author: dicebot Revision: 124267
upgpkg: ldc 1:0.15.1-4 LDC workaround for missing intrinsic on i686 Added: ldc/trunk/mul.diff Modified: ldc/trunk/PKGBUILD ----------+ PKGBUILD | 12 +++++++++++- mul.diff | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-12-21 10:39:47 UTC (rev 124266) +++ PKGBUILD 2014-12-21 10:42:52 UTC (rev 124267) @@ -5,7 +5,7 @@ groups=('dlang' 'dlang-ldc') pkgver=0.15.1 epoch=1 -pkgrel=3 +pkgrel=4 pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2" arch=('i686' 'x86_64') url="https://github.com/ldc-developers/ldc" @@ -14,9 +14,11 @@ makedepends=('git' 'cmake' 'llvm') source=("git://github.com/ldc-developers/ldc.git#tag=v${pkgver}" "ldc2.conf" + "mul.diff" ) sha1sums=('SKIP' '290689ded66a12a243666d0bac3ffb74180fa490' + '5a7f6c83285ab6a1ceb6ab93c68c6f2169564691' ) build() { @@ -24,6 +26,14 @@ git submodule update --init --recursive + # workaround for https://github.com/ldc-developers/ldc/issues/813 + if [ $CARCH = i686 ] + then + cd ./runtime/druntime + git apply $srcdir/mul.diff + cd $srcdir/ldc + fi + mkdir build && cd build cmake \ -DCMAKE_SKIP_RPATH=ON \ Added: mul.diff =================================================================== --- mul.diff (rev 0) +++ mul.diff 2014-12-21 10:42:52 UTC (rev 124267) @@ -0,0 +1,40 @@ +diff --git a/src/core/checkedint.d b/src/core/checkedint.d +index 18e19bf..ccaeec3 100644 +--- a/src/core/checkedint.d ++++ b/src/core/checkedint.d +@@ -447,7 +447,7 @@ unittest + + int muls(int x, int y, ref bool overflow) + { +- version(LDC) ++ version(none) + { + auto res = llvm_smul_with_overflow(x, y); + overflow |= res.overflow; +@@ -485,7 +485,7 @@ unittest + /// ditto + long muls(long x, long y, ref bool overflow) + { +- version(LDC) ++ version(none) + { + auto res = llvm_smul_with_overflow(x, y); + overflow |= res.overflow; +@@ -536,7 +536,7 @@ unittest + + uint mulu(uint x, uint y, ref bool overflow) + { +- version(LDC) ++ version(none) + { + auto res = llvm_umul_with_overflow(x, y); + overflow |= res.overflow; +@@ -574,7 +574,7 @@ unittest + /// ditto + ulong mulu(ulong x, ulong y, ref bool overflow) + { +- version(LDC) ++ version(none) + { + auto res = llvm_umul_with_overflow(x, y); + overflow |= res.overflow;