mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +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
|
||||
_pkgcommit=6a240b66fd5fcaccd85fb50a2717767dd37ef17a
|
||||
_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
|
||||
pkgrel=1
|
||||
pkgrel=3
|
||||
pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/ldc-developers/ldc"
|
||||
|
@ -29,12 +29,14 @@ source=(
|
|||
"ldc-druntime::git+https://github.com/ldc-developers/druntime.git"
|
||||
"ldc-phobos::git+https://github.com/ldc-developers/phobos.git"
|
||||
"ldc-testsuite::git+https://github.com/ldc-developers/dmd-testsuite.git"
|
||||
"keep-default-alignment-for-atomic-instructions.patch"
|
||||
)
|
||||
|
||||
sha256sums=('SKIP'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP')
|
||||
'SKIP'
|
||||
'7d33b18c517e7155a44efad984f8226d6bdaa7afae121e3e905727eb73299bbf')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/ldc"
|
||||
|
@ -45,6 +47,9 @@ prepare() {
|
|||
git config submodule.tests/d2/dmd-testsuite.url "$srcdir/ldc-testsuite"
|
||||
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()
|
||||
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