about summary refs log tree commit diff
path: root/src/rustllvm
diff options
context:
space:
mode:
authorLuqman Aden <laden@csclub.uwaterloo.ca>2014-05-20 17:42:20 -0400
committerLuqman Aden <laden@csclub.uwaterloo.ca>2014-05-22 21:06:24 -0400
commit90eeb92e10d3a1ca058aa1fed24721aa3b7553cb (patch)
tree8706201b901d6cda7b43501e4eb2b0fc46416a9c /src/rustllvm
parent87ad19eb78239707f1ceed43e475c6aa052efdbc (diff)
downloadrust-90eeb92e10d3a1ca058aa1fed24721aa3b7553cb.tar.gz
rust-90eeb92e10d3a1ca058aa1fed24721aa3b7553cb.zip
Update to LLVM head and mark various ptrs as nonnull.
Diffstat (limited to 'src/rustllvm')
-rw-r--r--src/rustllvm/PassWrapper.cpp1
-rw-r--r--src/rustllvm/RustWrapper.cpp12
-rw-r--r--src/rustllvm/llvm-auto-clean-trigger2
3 files changed, 14 insertions, 1 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
index 64776421fa1..195b044ccdc 100644
--- a/src/rustllvm/PassWrapper.cpp
+++ b/src/rustllvm/PassWrapper.cpp
@@ -13,6 +13,7 @@
 #include "rustllvm.h"
 
 #include "llvm/Support/CBindingWrapping.h"
+#include "llvm/Support/FileSystem.h"
 #include "llvm/Target/TargetLibraryInfo.h"
 #include "llvm/Transforms/IPO/PassManagerBuilder.h"
 
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp
index 717cd333a79..3661d152d59 100644
--- a/src/rustllvm/RustWrapper.cpp
+++ b/src/rustllvm/RustWrapper.cpp
@@ -119,8 +119,20 @@ extern "C" void LLVMAddColdAttribute(LLVMValueRef Fn) {
   Function *A = unwrap<Function>(Fn);
   A->addAttribute(AttributeSet::FunctionIndex, Attribute::Cold);
 }
+
+extern "C" void LLVMAddNonNullAttribute(LLVMValueRef Arg) {
+  Argument *A = unwrap<Argument>(Arg);
+  A->addAttr(AttributeSet::get(A->getContext(), A->getArgNo() + 1, Attribute::NonNull));
+}
+
+extern "C" void LLVMAddNonNullReturnAttribute(LLVMValueRef Fn) {
+  Function *A = unwrap<Function>(Fn);
+  A->addAttribute(AttributeSet::ReturnIndex, Attribute::NonNull);
+}
 #else
 extern "C" void LLVMAddColdAttribute(LLVMValueRef Fn) {}
+extern "C" void LLVMAddNonNullAttribute(LLVMValueRef Arg) {}
+extern "C" void LLVMAddNonNullReturnAttribute(LLVMValueRef Fn) {}
 #endif
 
 extern "C" LLVMValueRef LLVMBuildAtomicLoad(LLVMBuilderRef B,
diff --git a/src/rustllvm/llvm-auto-clean-trigger b/src/rustllvm/llvm-auto-clean-trigger
index 340a4915277..4e599ad115d 100644
--- a/src/rustllvm/llvm-auto-clean-trigger
+++ b/src/rustllvm/llvm-auto-clean-trigger
@@ -1,4 +1,4 @@
 # If this file is modified, then llvm will be forcibly cleaned and then rebuilt.
 # The actual contents of this file do not matter, but to trigger a change on the
 # build bots then the contents should be changed so git updates the mtime.
-2014-04-14
+2014-05-20