llvm: 3.7.0 -> 3.7.1 (close #12200)
This obsoletes a backport for rust.
This commit is contained in:
parent
aee934b3aa
commit
897fb98a96
@ -6,7 +6,7 @@ in stdenv.mkDerivation {
|
||||
name = "clang-${version}";
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile ${fetch "cfe" "1k517b0jj74c4vgnnd4ikbrpb96na541bi8q845ckw8xm72l1msf"}
|
||||
unpackFile ${fetch "cfe" "0x065d0w9b51xvdjxwfzjxng0gzpbx45fgiaxpap45ragi61dqjn"}
|
||||
mv cfe-${version}.src clang
|
||||
sourceRoot=$PWD/clang
|
||||
unpackFile ${clang-tools-extra_src}
|
||||
|
@ -2,7 +2,7 @@
|
||||
let
|
||||
callPackage = newScope (self // { inherit stdenv isl version fetch; });
|
||||
|
||||
version = "3.7.0";
|
||||
version = "3.7.1";
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
@ -10,8 +10,8 @@ let
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
compiler-rt_src = fetch "compiler-rt" "02rbsqdnj1dw9q3d8w5wwmvz5gfraiv8xp18lis4kj8baacajzr2";
|
||||
clang-tools-extra_src = fetch "clang-tools-extra" "1k894zkx4w8grigmgv5y4q9zrcic2ypz0zfn28270ykbm6is1s4a";
|
||||
compiler-rt_src = fetch "compiler-rt" "10c1mz2q4bdq9bqfgr3dirc6hz1h3sq8573srd5q5lr7m7j6jiwx";
|
||||
clang-tools-extra_src = fetch "clang-tools-extra" "0sxw2l3q5msbrwxv1ck72arggdw6n5ysi929gi69ikniranfv4aa";
|
||||
|
||||
self = {
|
||||
llvm = callPackage ./llvm.nix {
|
||||
|
@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libc++-${version}";
|
||||
|
||||
src = fetch "libcxx" "13nh78zp5d2jf732mxnalw679zjywbjpz9942j66fznd6f1kr3y1";
|
||||
src = fetch "libcxx" "0i7iyzk024krda5spfpfi8jksh83yp3bxqkal0xp76ffi11bszrm";
|
||||
|
||||
postUnpack = ''
|
||||
unpackFile ${libcxxabi.src}
|
||||
|
@ -3,7 +3,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "libc++abi-${version}";
|
||||
|
||||
src = fetch "libcxxabi" "1swvnhrf9g67579c5picg0l869f8l2bwi4xqpbcb4n296gyp9c28";
|
||||
src = fetch "libcxxabi" "0ambfcmr2nh88hx000xb7yjm9lsqjjz49w5mlf6dlxzmj3nslzx4";
|
||||
|
||||
buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "lldb-${version}";
|
||||
|
||||
src = fetch "lldb" "1sbi9c6c4m73wfw249dn0n2974p444i03brk82m4w10iq5dm1mzl";
|
||||
src = fetch "lldb" "008fdbyza13ym3v0xpans4z4azw4y16hcbgrrnc4rx2mxwaw62ws";
|
||||
|
||||
patchPhase = ''
|
||||
sed -i 's|/usr/bin/env||' \
|
||||
|
@ -18,15 +18,10 @@
|
||||
}:
|
||||
|
||||
let
|
||||
src = fetch "llvm" "0lrirklh4nrcb078qc2f6vbmmc34kxqgsy9s18a1xbfdkmgqjidb";
|
||||
src = fetch "llvm" "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "llvm-${version}";
|
||||
|
||||
patches = [
|
||||
# Backport for Rust, remove when 3.7.1 is released
|
||||
./r242372-fix-LLVMBuildLandingPad.patch
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile ${src}
|
||||
mv llvm-${version}.src llvm
|
||||
|
@ -1,60 +0,0 @@
|
||||
Index: llvm/bindings/ocaml/llvm/llvm_ocaml.c
|
||||
===================================================================
|
||||
--- llvm/bindings/ocaml/llvm/llvm_ocaml.c (revision 242371)
|
||||
+++ llvm/bindings/ocaml/llvm/llvm_ocaml.c (revision 242372)
|
||||
@@ -1745,7 +1745,7 @@
|
||||
CAMLprim LLVMValueRef llvm_build_landingpad(LLVMTypeRef Ty, LLVMValueRef PersFn,
|
||||
value NumClauses, value Name,
|
||||
value B) {
|
||||
- return LLVMBuildLandingPad(Builder_val(B), Ty, Int_val(NumClauses),
|
||||
+ return LLVMBuildLandingPad(Builder_val(B), Ty, PersFn, Int_val(NumClauses),
|
||||
String_val(Name));
|
||||
}
|
||||
|
||||
Index: llvm/bindings/go/llvm/ir.go
|
||||
===================================================================
|
||||
--- llvm/bindings/go/llvm/ir.go (revision 242371)
|
||||
+++ llvm/bindings/go/llvm/ir.go (revision 242372)
|
||||
@@ -1731,7 +1731,7 @@
|
||||
func (b Builder) CreateLandingPad(t Type, nclauses int, name string) (l Value) {
|
||||
cname := C.CString(name)
|
||||
defer C.free(unsafe.Pointer(cname))
|
||||
- l.C = C.LLVMBuildLandingPad(b.C, t.C, C.unsigned(nclauses), cname)
|
||||
+ l.C = C.LLVMBuildLandingPad(b.C, t.C, nil, C.unsigned(nclauses), cname)
|
||||
return l
|
||||
}
|
||||
|
||||
Index: llvm/lib/IR/Core.cpp
|
||||
===================================================================
|
||||
--- llvm/lib/IR/Core.cpp (revision 242371)
|
||||
+++ llvm/lib/IR/Core.cpp (revision 242372)
|
||||
@@ -2257,7 +2257,14 @@
|
||||
}
|
||||
|
||||
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
|
||||
- unsigned NumClauses, const char *Name) {
|
||||
+ LLVMValueRef PersFn, unsigned NumClauses,
|
||||
+ const char *Name) {
|
||||
+ // The personality used to live on the landingpad instruction, but now it
|
||||
+ // lives on the parent function. For compatibility, take the provided
|
||||
+ // personality and put it on the parent function.
|
||||
+ if (PersFn)
|
||||
+ unwrap(B)->GetInsertBlock()->getParent()->setPersonalityFn(
|
||||
+ cast<Function>(unwrap(PersFn)));
|
||||
return wrap(unwrap(B)->CreateLandingPad(unwrap(Ty), NumClauses, Name));
|
||||
}
|
||||
|
||||
Index: llvm/include/llvm-c/Core.h
|
||||
===================================================================
|
||||
--- llvm/include/llvm-c/Core.h (revision 242371)
|
||||
+++ llvm/include/llvm-c/Core.h (revision 242372)
|
||||
@@ -2675,7 +2675,8 @@
|
||||
LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
|
||||
const char *Name);
|
||||
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
|
||||
- unsigned NumClauses, const char *Name);
|
||||
+ LLVMValueRef PersFn, unsigned NumClauses,
|
||||
+ const char *Name);
|
||||
LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn);
|
||||
LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef);
|
||||
|
Loading…
Reference in New Issue
Block a user