From 60e9507086dd0329fc4e96897d4d89c7d6b271f6 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 2 Aug 2013 00:55:49 -0700 Subject: [PATCH] Integrate new arm patch and fix an LLVM bug Thanks @luqama! --- src/librustc/lib/llvm.rs | 4 +++- src/llvm | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs index 40fe9bd5fc6a1..356cdaf754eeb 100644 --- a/src/librustc/lib/llvm.rs +++ b/src/librustc/lib/llvm.rs @@ -89,7 +89,7 @@ pub enum Attribute { // Not added to LLVM yet, so may need to stay updated if LLVM changes. // FIXME(#8199): if this changes, be sure to change the relevant constant // down below - FixedStackSegment = 1 << 41, + // FixedStackSegment = 1 << 41, } // enum for the LLVM IntPredicate type @@ -2124,10 +2124,12 @@ pub fn SetFunctionAttribute(Fn: ValueRef, attr: Attribute) { // Furthermore, if we use a match of any sort then an LLVM // assertion is generated! pub fn SetFixedStackSegmentAttribute(Fn: ValueRef) { + unsafe { let attr = 1u64 << 41; let lower = attr & 0xffffffff; let upper = (attr >> 32) & 0xffffffff; llvm::LLVMAddFunctionAttr(Fn, lower as c_uint, upper as c_uint); + } } /* Memory-managed object interface to type handles. */ diff --git a/src/llvm b/src/llvm index e3abef3eedc8d..f67442eee27d3 160000 --- a/src/llvm +++ b/src/llvm @@ -1 +1 @@ -Subproject commit e3abef3eedc8d5bad3420c7e29bf2fe80585316a +Subproject commit f67442eee27d3d075a65cf7f9a70f7ec6649ffd1