diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -65,7 +65,6 @@ StringRef Filename, Optional Checksum, Optional Source, - bool UseDwarfDirectory, raw_svector_ostream &OS) const; void emitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override; void emitCFIEndProcImpl(MCDwarfFrameInfo &Frame) override; @@ -1450,13 +1449,16 @@ EmitEOL(); } -void MCAsmStreamer::printDwarfFileDirective( - unsigned FileNo, StringRef Directory, StringRef Filename, - Optional Checksum, Optional Source, - bool UseDwarfDirectory, raw_svector_ostream &OS) const { +void MCAsmStreamer::printDwarfFileDirective(unsigned FileNo, + StringRef Directory, + StringRef Filename, + Optional Checksum, + Optional Source, + raw_svector_ostream &OS) const { SmallString<128> FullPathName; - if (!UseDwarfDirectory && !Directory.empty()) { + if (getContext().getDwarfVersion() < 5 && !UseDwarfDirectory && + !Directory.empty()) { if (sys::path::is_absolute(Filename)) Directory = ""; else { @@ -1503,8 +1505,7 @@ SmallString<128> Str; raw_svector_ostream OS1(Str); - printDwarfFileDirective(FileNo, Directory, Filename, Checksum, Source, - UseDwarfDirectory, OS1); + printDwarfFileDirective(FileNo, Directory, Filename, Checksum, Source, OS1); if (MCTargetStreamer *TS = getTargetStreamer()) TS->emitDwarfFileDirective(OS1.str()); @@ -1533,8 +1534,7 @@ SmallString<128> Str; raw_svector_ostream OS1(Str); - printDwarfFileDirective(0, Directory, Filename, Checksum, Source, - UseDwarfDirectory, OS1); + printDwarfFileDirective(0, Directory, Filename, Checksum, Source, OS1); if (MCTargetStreamer *TS = getTargetStreamer()) TS->emitDwarfFileDirective(OS1.str());