diff options
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 977ab1210d..428f14618b 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1794,9 +1794,10 @@ void DwarfDebug::beginModule(Module *M) { DebugInfoFinder DbgFinder; DbgFinder.processModule(*M); - // Emit initial sections - EmitSectionLabels(); - + // Emit initial sections. + if (DbgFinder.compile_unit_begin() != DbgFinder.compile_unit_end()) + EmitSectionLabels(); + // Create all the compile unit DIEs. for (DebugInfoFinder::iterator I = DbgFinder.compile_unit_begin(), E = DbgFinder.compile_unit_end(); I != E; ++I) @@ -1804,7 +1805,7 @@ void DwarfDebug::beginModule(Module *M) { if (!ModuleCU) return; - + // Create DIEs for each subprogram. for (DebugInfoFinder::iterator I = DbgFinder.subprogram_begin(), E = DbgFinder.subprogram_end(); I != E; ++I) |