aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfWriter.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
index cab6315..5c4957a 100644
--- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
@@ -1888,8 +1888,12 @@ private:
DIArray Args = SPTy.getTypeArray();
// Add Return Type.
- if (!IsConstructor)
- AddType(DW_Unit, SPDie, DIType(Args.getElement(0).getGV()));
+ if (!IsConstructor) {
+ if (Args.isNull())
+ AddType(DW_Unit, SPDie, SPTy);
+ else
+ AddType(DW_Unit, SPDie, DIType(Args.getElement(0).getGV()));
+ }
if (!SP.isDefinition()) {
AddUInt(SPDie, DW_AT_declaration, DW_FORM_flag, 1);