diff options
| author | Luqman Aden <laden@csclub.uwaterloo.ca> | 2014-05-20 17:42:20 -0400 |
|---|---|---|
| committer | Luqman Aden <laden@csclub.uwaterloo.ca> | 2014-05-22 21:06:24 -0400 |
| commit | 90eeb92e10d3a1ca058aa1fed24721aa3b7553cb (patch) | |
| tree | 8706201b901d6cda7b43501e4eb2b0fc46416a9c /src/rustllvm | |
| parent | 87ad19eb78239707f1ceed43e475c6aa052efdbc (diff) | |
| download | rust-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.cpp | 1 | ||||
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 12 | ||||
| -rw-r--r-- | src/rustllvm/llvm-auto-clean-trigger | 2 |
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 |
