rustllvm: Update to LLVM trunk
This commit is contained in:
parent
2e86485f7b
commit
b285f92025
3 changed files with 28 additions and 0 deletions
|
@ -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());
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue