From b285f9202590050a7b480a99a074673630b11f4f Mon Sep 17 00:00:00 2001 From: Seo Sanghyeon Date: Sat, 24 Oct 2015 18:42:23 +0900 Subject: rustllvm: Update to LLVM trunk --- src/rustllvm/RustWrapper.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/rustllvm/RustWrapper.cpp') 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(File), +#endif #if LLVM_VERSION_MINOR >= 7 DITypeRefArray(unwrap(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(Scope), Name, + unwrapDI(File), + LineNo, + unwrapDI(Ty), AlwaysPreserve, Flags)); + } else { + return wrap(Builder->createParameterVariable( + unwrapDI(Scope), Name, ArgNo, + unwrapDI(File), + LineNo, + unwrapDI(Ty), AlwaysPreserve, Flags)); + } +#else return wrap(Builder->createLocalVariable(Tag, unwrapDI(Scope), Name, unwrapDI(File), LineNo, unwrapDI(Ty), AlwaysPreserve, Flags, ArgNo)); +#endif } extern "C" LLVMMetadataRef LLVMDIBuilderCreateArrayType( -- cgit 1.4.1-3-g733a5