diff --git a/include/llvm/CodeGen/MachineModuleInfo.h b/include/llvm/CodeGen/MachineModuleInfo.h index 1f4c534f8f8..347254d125e 100644 --- a/include/llvm/CodeGen/MachineModuleInfo.h +++ b/include/llvm/CodeGen/MachineModuleInfo.h @@ -1041,6 +1041,10 @@ private: bool CallsEHReturn; bool CallsUnwindInit; + + /// DbgInfoAvailable - True if debugging information is available + /// in this module. + bool DbgInfoAvailable; public: static char ID; // Pass identification, replacement for typeid @@ -1082,8 +1086,9 @@ public: /// hasDebugInfo - Returns true if valid debug info is present. /// - bool hasDebugInfo() const { return !CompileUnits.empty(); } - + bool hasDebugInfo() const { return DbgInfoAvailable; } + void setDebugInfoAvailability(bool avail) { DbgInfoAvailable = true; } + bool callsEHReturn() const { return CallsEHReturn; } void setCallsEHReturn(bool b) { CallsEHReturn = b; } diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index 0687fd899c0..e17dd527c5e 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -3604,6 +3604,7 @@ public: MMI = mmi; shouldEmit = true; + MMI->setDebugInfoAvailability(true); // Create DIEs for each of the externally visible global variables. ConstructGlobalVariableDIEs(); diff --git a/lib/CodeGen/MachineModuleInfo.cpp b/lib/CodeGen/MachineModuleInfo.cpp index f93f27c934d..5fe59d4e5a7 100644 --- a/lib/CodeGen/MachineModuleInfo.cpp +++ b/lib/CodeGen/MachineModuleInfo.cpp @@ -1630,6 +1630,7 @@ MachineModuleInfo::MachineModuleInfo() , Personalities() , CallsEHReturn(0) , CallsUnwindInit(0) +, DbgInfoAvailable(false) { // Always emit "no personality" info Personalities.push_back(NULL);