diff --git a/llvm/include/llvm/MC/MCContext.h b/llvm/include/llvm/MC/MCContext.h index ae502baa1dd6..60d5c0fae1f3 100644 --- a/llvm/include/llvm/MC/MCContext.h +++ b/llvm/include/llvm/MC/MCContext.h @@ -180,6 +180,9 @@ namespace llvm { bool hasDwarfFiles(void) { return MCDwarfFiles.size() != 0; } + bool hasDwarfLines(void) { + return MCLineSectionOrder.size() != 0; + } const std::vector &getMCDwarfFiles() { return MCDwarfFiles; diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index c03f969e85f6..02b666235e37 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -876,7 +876,7 @@ void MCAsmStreamer::EmitRawText(StringRef String) { void MCAsmStreamer::Finish() { // Dump out the dwarf file & directory tables and line tables. - if (getContext().hasDwarfFiles() && TLOF) { + if (getContext().hasDwarfFiles() && getContext().hasDwarfLines() && TLOF) { MCDwarfFileTable::Emit(this, TLOF->getDwarfLineSection(), NULL, PointerSize); }