diff options
| author | bors <bors@rust-lang.org> | 2015-10-25 08:47:46 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-10-25 08:47:46 +0000 |
| commit | 92dd81ab51bc3db89d1b4d8ec21768b3353b49e3 (patch) | |
| tree | b76987ca9910da7c3e8bc71643d20b0f1fb4d5cc /src/rustllvm/RustWrapper.cpp | |
| parent | 49b232edaf09970cba682750c217db9603f8582e (diff) | |
| parent | b285f9202590050a7b480a99a074673630b11f4f (diff) | |
| download | rust-92dd81ab51bc3db89d1b4d8ec21768b3353b49e3.tar.gz rust-92dd81ab51bc3db89d1b4d8ec21768b3353b49e3.zip | |
Auto merge of #29272 - sanxiyn:llvm-update, r=alexcrichton
cc @zazdxscf
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 9ce34c40730..5a9c096e5f5 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -320,7 +320,9 @@ extern "C" LLVMMetadataRef LLVMDIBuilderCreateSubroutineType( LLVMMetadataRef File, LLVMMetadataRef ParameterTypes) { return wrap(Builder->createSubroutineType( +#if LLVM_VERSION_MINOR <= 7 unwrapDI<DIFile>(File), +#endif #if LLVM_VERSION_MINOR >= 7 DITypeRefArray(unwrap<MDTuple>(ParameterTypes)))); #elif LLVM_VERSION_MINOR >= 6 @@ -502,11 +504,27 @@ extern "C" LLVMMetadataRef LLVMDIBuilderCreateVariable( )); } #endif +#if LLVM_VERSION_MINOR >= 8 + if (Tag == 0x100) { // DW_TAG_auto_variable + return wrap(Builder->createAutoVariable( + unwrapDI<DIDescriptor>(Scope), Name, + unwrapDI<DIFile>(File), + LineNo, + unwrapDI<DIType>(Ty), AlwaysPreserve, Flags)); + } else { + return wrap(Builder->createParameterVariable( + unwrapDI<DIDescriptor>(Scope), Name, ArgNo, + unwrapDI<DIFile>(File), + LineNo, + unwrapDI<DIType>(Ty), AlwaysPreserve, Flags)); + } +#else return wrap(Builder->createLocalVariable(Tag, unwrapDI<DIDescriptor>(Scope), Name, unwrapDI<DIFile>(File), LineNo, unwrapDI<DIType>(Ty), AlwaysPreserve, Flags, ArgNo)); +#endif } extern "C" LLVMMetadataRef LLVMDIBuilderCreateArrayType( |
