diff options
| author | Devang Patel <dpatel@apple.com> | 2010-01-30 01:08:30 +0000 |
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2010-01-30 01:08:30 +0000 |
| commit | 160c92dd198d83b42f528ea921f4cbc8fa5141a3 (patch) | |
| tree | 91e5c2a9a76a7381395a2fcfcaf154c0f2779490 | |
| parent | 76e5d70c5701c9ced261baa0dbf472fa3987dd31 (diff) | |
| download | bcm5719-llvm-160c92dd198d83b42f528ea921f4cbc8fa5141a3.tar.gz bcm5719-llvm-160c92dd198d83b42f528ea921f4cbc8fa5141a3.zip | |
Emit declaration DIE for the class static variables.
llvm-svn: 94870
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 12259d524e0..7615d619aa0 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -939,7 +939,16 @@ void DwarfDebug::constructTypeDIE(DIE &Buffer, DICompositeType CTy) { DIE *ElemDie = NULL; if (Element.getTag() == dwarf::DW_TAG_subprogram) ElemDie = createSubprogramDIE(DISubprogram(Element.getNode())); - else + else if (Element.getTag() == dwarf::DW_TAG_auto_variable) { + DIVariable DV(Element.getNode()); + ElemDie = new DIE(dwarf::DW_TAG_variable); + addString(ElemDie, dwarf::DW_AT_name, dwarf::DW_FORM_string, + DV.getName()); + addType(ElemDie, DV.getType()); + addUInt(ElemDie, dwarf::DW_AT_declaration, dwarf::DW_FORM_flag, 1); + addUInt(ElemDie, dwarf::DW_AT_external, dwarf::DW_FORM_flag, 1); + addSourceLine(ElemDie, &DV); + } else ElemDie = createMemberDIE(DIDerivedType(Element.getNode())); Buffer.addChild(ElemDie); } |

