mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
community/ldc to 1.28.0-3
This commit is contained in:
parent
498945379f
commit
7c92d33d90
2 changed files with 40 additions and 3 deletions
|
@ -15,9 +15,9 @@ groups=('dlang' 'dlang-ldc')
|
||||||
pkgver=1.28.0
|
pkgver=1.28.0
|
||||||
_pkgcommit=6a240b66fd5fcaccd85fb50a2717767dd37ef17a
|
_pkgcommit=6a240b66fd5fcaccd85fb50a2717767dd37ef17a
|
||||||
_dversion=2.098.0
|
_dversion=2.098.0
|
||||||
_clangversion=12.0.1 # related to where ldc2 looks for compiler-rt sanitizers
|
_clangversion=13.0.0 # related to where ldc2 looks for compiler-rt sanitizers
|
||||||
epoch=3
|
epoch=3
|
||||||
pkgrel=1
|
pkgrel=3
|
||||||
pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2"
|
pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url="https://github.com/ldc-developers/ldc"
|
url="https://github.com/ldc-developers/ldc"
|
||||||
|
@ -29,12 +29,14 @@ source=(
|
||||||
"ldc-druntime::git+https://github.com/ldc-developers/druntime.git"
|
"ldc-druntime::git+https://github.com/ldc-developers/druntime.git"
|
||||||
"ldc-phobos::git+https://github.com/ldc-developers/phobos.git"
|
"ldc-phobos::git+https://github.com/ldc-developers/phobos.git"
|
||||||
"ldc-testsuite::git+https://github.com/ldc-developers/dmd-testsuite.git"
|
"ldc-testsuite::git+https://github.com/ldc-developers/dmd-testsuite.git"
|
||||||
|
"keep-default-alignment-for-atomic-instructions.patch"
|
||||||
)
|
)
|
||||||
|
|
||||||
sha256sums=('SKIP'
|
sha256sums=('SKIP'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'SKIP')
|
'SKIP'
|
||||||
|
'7d33b18c517e7155a44efad984f8226d6bdaa7afae121e3e905727eb73299bbf')
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd "$srcdir/ldc"
|
cd "$srcdir/ldc"
|
||||||
|
@ -45,6 +47,9 @@ prepare() {
|
||||||
git config submodule.tests/d2/dmd-testsuite.url "$srcdir/ldc-testsuite"
|
git config submodule.tests/d2/dmd-testsuite.url "$srcdir/ldc-testsuite"
|
||||||
git submodule update
|
git submodule update
|
||||||
|
|
||||||
|
# https://github.com/ldc-developers/ldc/pull/3842
|
||||||
|
patch -Np1 -i ../keep-default-alignment-for-atomic-instructions.patch
|
||||||
|
|
||||||
# Set version used for path construction in getFullClangCompilerRTLibPath()
|
# Set version used for path construction in getFullClangCompilerRTLibPath()
|
||||||
sed -i "s/ldc::llvm_version_base/\"$_clangversion\"/" driver/linker-gcc.cpp
|
sed -i "s/ldc::llvm_version_base/\"$_clangversion\"/" driver/linker-gcc.cpp
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
From 7e80c26eded0326e18aad2c9f906844eb0f46dc0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Kinkelin <noone@nowhere.com>
|
||||||
|
Date: Wed, 6 Oct 2021 18:47:28 +0200
|
||||||
|
Subject: [PATCH] Keep default alignment for atomic instructions, for LLVM 13+
|
||||||
|
too
|
||||||
|
|
||||||
|
---
|
||||||
|
gen/tocall.cpp | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gen/tocall.cpp b/gen/tocall.cpp
|
||||||
|
index 385133015b..28967a64c3 100644
|
||||||
|
--- a/gen/tocall.cpp
|
||||||
|
+++ b/gen/tocall.cpp
|
||||||
|
@@ -511,7 +511,7 @@ bool DtoLowerMagicIntrinsic(IRState *p, FuncDeclaration *fndecl, CallExp *e,
|
||||||
|
auto ret =
|
||||||
|
p->ir->CreateAtomicCmpXchg(ptr, cmp, val,
|
||||||
|
#if LDC_LLVM_VER >= 1300
|
||||||
|
- LLMaybeAlign(getABITypeAlign(val->getType())),
|
||||||
|
+ llvm::MaybeAlign(), // default alignment
|
||||||
|
#endif
|
||||||
|
successOrdering, failureOrdering);
|
||||||
|
ret->setWeak(isWeak);
|
||||||
|
@@ -559,7 +559,7 @@ bool DtoLowerMagicIntrinsic(IRState *p, FuncDeclaration *fndecl, CallExp *e,
|
||||||
|
LLValue *ret =
|
||||||
|
p->ir->CreateAtomicRMW(llvm::AtomicRMWInst::BinOp(op), ptr, val,
|
||||||
|
#if LDC_LLVM_VER >= 1300
|
||||||
|
- LLMaybeAlign(getABITypeAlign(val->getType())),
|
||||||
|
+ llvm::MaybeAlign(), // default alignment
|
||||||
|
#endif
|
||||||
|
llvm::AtomicOrdering(atomicOrdering));
|
||||||
|
result = new DImValue(exp2->type, ret);
|
Loading…
Reference in a new issue