[arch-commits] Commit in ldc/trunk (PKGBUILD mul.diff)

Михаил Страшун dicebot at archlinux.org
Sun Dec 21 10:42:53 UTC 2014


    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;



More information about the arch-commits mailing list