Skip to content

Commit 92dd81a

Browse files
committed
Auto merge of #29272 - sanxiyn:llvm-update, r=alexcrichton
cc @zazdxscf
2 parents 49b232e + b285f92 commit 92dd81a

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

src/rustllvm/ArchiveWrapper.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -163,12 +163,20 @@ LLVMRustWriteArchive(char *Dst,
163163
auto Member = NewMembers[i];
164164
assert(Member->name);
165165
if (Member->filename) {
166+
#if LLVM_VERSION_MINOR >= 8
167+
Members.push_back(NewArchiveIterator(Member->filename));
168+
#else
166169
Members.push_back(NewArchiveIterator(Member->filename, Member->name));
170+
#endif
167171
} else {
168172
Members.push_back(NewArchiveIterator(Member->child, Member->name));
169173
}
170174
}
175+
#if LLVM_VERSION_MINOR >= 8
176+
auto pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
177+
#else
171178
auto pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true);
179+
#endif
172180
if (!pair.second)
173181
return 0;
174182
LLVMRustSetLastError(pair.second.message().c_str());

src/rustllvm/PassWrapper.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ LLVMInitializePasses() {
4949
initializeVectorization(Registry);
5050
initializeIPO(Registry);
5151
initializeAnalysis(Registry);
52+
#if LLVM_VERSION_MINOR <= 7
5253
initializeIPA(Registry);
54+
#endif
5355
initializeTransformUtils(Registry);
5456
initializeInstCombine(Registry);
5557
initializeInstrumentation(Registry);

src/rustllvm/RustWrapper.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,9 @@ extern "C" LLVMMetadataRef LLVMDIBuilderCreateSubroutineType(
320320
LLVMMetadataRef File,
321321
LLVMMetadataRef ParameterTypes) {
322322
return wrap(Builder->createSubroutineType(
323+
#if LLVM_VERSION_MINOR <= 7
323324
unwrapDI<DIFile>(File),
325+
#endif
324326
#if LLVM_VERSION_MINOR >= 7
325327
DITypeRefArray(unwrap<MDTuple>(ParameterTypes))));
326328
#elif LLVM_VERSION_MINOR >= 6
@@ -502,11 +504,27 @@ extern "C" LLVMMetadataRef LLVMDIBuilderCreateVariable(
502504
));
503505
}
504506
#endif
507+
#if LLVM_VERSION_MINOR >= 8
508+
if (Tag == 0x100) { // DW_TAG_auto_variable
509+
return wrap(Builder->createAutoVariable(
510+
unwrapDI<DIDescriptor>(Scope), Name,
511+
unwrapDI<DIFile>(File),
512+
LineNo,
513+
unwrapDI<DIType>(Ty), AlwaysPreserve, Flags));
514+
} else {
515+
return wrap(Builder->createParameterVariable(
516+
unwrapDI<DIDescriptor>(Scope), Name, ArgNo,
517+
unwrapDI<DIFile>(File),
518+
LineNo,
519+
unwrapDI<DIType>(Ty), AlwaysPreserve, Flags));
520+
}
521+
#else
505522
return wrap(Builder->createLocalVariable(Tag,
506523
unwrapDI<DIDescriptor>(Scope), Name,
507524
unwrapDI<DIFile>(File),
508525
LineNo,
509526
unwrapDI<DIType>(Ty), AlwaysPreserve, Flags, ArgNo));
527+
#endif
510528
}
511529

512530
extern "C" LLVMMetadataRef LLVMDIBuilderCreateArrayType(

0 commit comments

Comments
 (0)