1
Fork 0

rustllvm: Update to LLVM trunk

This commit is contained in:
Seo Sanghyeon 2015-10-24 18:42:23 +09:00
parent 2e86485f7b
commit b285f92025
3 changed files with 28 additions and 0 deletions

View file

@ -163,12 +163,20 @@ LLVMRustWriteArchive(char *Dst,
auto Member = NewMembers[i]; auto Member = NewMembers[i];
assert(Member->name); assert(Member->name);
if (Member->filename) { if (Member->filename) {
#if LLVM_VERSION_MINOR >= 8
Members.push_back(NewArchiveIterator(Member->filename));
#else
Members.push_back(NewArchiveIterator(Member->filename, Member->name)); Members.push_back(NewArchiveIterator(Member->filename, Member->name));
#endif
} else { } else {
Members.push_back(NewArchiveIterator(Member->child, Member->name)); Members.push_back(NewArchiveIterator(Member->child, Member->name));
} }
} }
#if LLVM_VERSION_MINOR >= 8
auto pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
#else
auto pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true); auto pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true);
#endif
if (!pair.second) if (!pair.second)
return 0; return 0;
LLVMRustSetLastError(pair.second.message().c_str()); LLVMRustSetLastError(pair.second.message().c_str());

View file

@ -49,7 +49,9 @@ LLVMInitializePasses() {
initializeVectorization(Registry); initializeVectorization(Registry);
initializeIPO(Registry); initializeIPO(Registry);
initializeAnalysis(Registry); initializeAnalysis(Registry);
#if LLVM_VERSION_MINOR <= 7
initializeIPA(Registry); initializeIPA(Registry);
#endif
initializeTransformUtils(Registry); initializeTransformUtils(Registry);
initializeInstCombine(Registry); initializeInstCombine(Registry);
initializeInstrumentation(Registry); initializeInstrumentation(Registry);

View file

@ -320,7 +320,9 @@ extern "C" LLVMMetadataRef LLVMDIBuilderCreateSubroutineType(
LLVMMetadataRef File, LLVMMetadataRef File,
LLVMMetadataRef ParameterTypes) { LLVMMetadataRef ParameterTypes) {
return wrap(Builder->createSubroutineType( return wrap(Builder->createSubroutineType(
#if LLVM_VERSION_MINOR <= 7
unwrapDI<DIFile>(File), unwrapDI<DIFile>(File),
#endif
#if LLVM_VERSION_MINOR >= 7 #if LLVM_VERSION_MINOR >= 7
DITypeRefArray(unwrap<MDTuple>(ParameterTypes)))); DITypeRefArray(unwrap<MDTuple>(ParameterTypes))));
#elif LLVM_VERSION_MINOR >= 6 #elif LLVM_VERSION_MINOR >= 6
@ -502,11 +504,27 @@ extern "C" LLVMMetadataRef LLVMDIBuilderCreateVariable(
)); ));
} }
#endif #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, return wrap(Builder->createLocalVariable(Tag,
unwrapDI<DIDescriptor>(Scope), Name, unwrapDI<DIDescriptor>(Scope), Name,
unwrapDI<DIFile>(File), unwrapDI<DIFile>(File),
LineNo, LineNo,
unwrapDI<DIType>(Ty), AlwaysPreserve, Flags, ArgNo)); unwrapDI<DIType>(Ty), AlwaysPreserve, Flags, ArgNo));
#endif
} }
extern "C" LLVMMetadataRef LLVMDIBuilderCreateArrayType( extern "C" LLVMMetadataRef LLVMDIBuilderCreateArrayType(