about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2011-11-16 12:15:54 -0800
committerNiko Matsakis <niko@alum.mit.edu>2011-11-16 15:27:09 -0800
commit834b6879ea89135d60b3903755589e14f816449a (patch)
treec68a3618324aa5730e49d6389bccfa30b7c9ec06 /src/rustllvm/RustWrapper.cpp
parent938b23e228f4fd313973190f8f78163476cc4a3f (diff)
downloadrust-834b6879ea89135d60b3903755589e14f816449a.tar.gz
rust-834b6879ea89135d60b3903755589e14f816449a.zip
temp workaround for failure to pass ulonglong successfully
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
-rw-r--r--src/rustllvm/RustWrapper.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index c0553b3c1d9..635030fd0ad 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -126,6 +126,16 @@ extern "C" LLVMValueRef LLVMRustConstSmallInt(LLVMTypeRef IntTy, unsigned N,
   return LLVMConstInt(IntTy, (unsigned long long)N, SignExtend);
 }
 
+extern "C" LLVMValueRef LLVMRustConstInt(LLVMTypeRef IntTy, 
+					 unsigned N_hi,
+					 unsigned N_lo,
+					 LLVMBool SignExtend) {
+  unsigned long long N = N_hi;
+  N <<= 32;
+  N |= N_lo;
+  return LLVMConstInt(IntTy, N, SignExtend);
+}
+
 extern bool llvm::TimePassesIsEnabled;
 extern "C" void LLVMRustEnableTimePasses() {
   TimePassesIsEnabled = true;