diff options
| author | Adrian Prantl <aprantl@apple.com> | 2014-02-25 22:27:14 +0000 |
|---|---|---|
| committer | Adrian Prantl <aprantl@apple.com> | 2014-02-25 22:27:14 +0000 |
| commit | 69140d2c0f089bea7e7ee1b317fa881e4b818d79 (patch) | |
| tree | 92e596bfc8ebfbf037453f83c5b5493278f3b169 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | |
| parent | 248ac139752aa61eab97ce6b80bb4160da4bd5fa (diff) | |
| download | bcm5719-llvm-69140d2c0f089bea7e7ee1b317fa881e4b818d79.tar.gz bcm5719-llvm-69140d2c0f089bea7e7ee1b317fa881e4b818d79.zip | |
Address review comments for r202188.
This is refactoring / simplifying code, updating comments and enabling the
testcase on non-x86 platforms.
No functionality change.
llvm-svn: 202199
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 3c5868111d7..b18e8d49ac0 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -403,22 +403,7 @@ DIE *DwarfDebug::updateSubprogramScopeDIE(DwarfCompileUnit *SPCU, DIArray Args = SPTy.getTypeArray(); uint16_t SPTag = SPTy.getTag(); if (SPTag == dwarf::DW_TAG_subroutine_type) - // FIXME: Use DwarfUnit::constructSubprogramArguments() here. - for (unsigned i = 1, N = Args.getNumElements(); i < N; ++i) { - DIType ATy(Args.getElement(i)); - if (ATy.isUnspecifiedParameter()) { - assert(i == N-1 && "ellipsis must be the last argument"); - SPCU->createAndAddDIE(dwarf::DW_TAG_unspecified_parameters, *SPDie); - } else { - DIE *Arg = - SPCU->createAndAddDIE(dwarf::DW_TAG_formal_parameter, *SPDie); - SPCU->addType(Arg, ATy); - if (ATy.isArtificial()) - SPCU->addFlag(Arg, dwarf::DW_AT_artificial); - if (ATy.isObjectPointer()) - SPCU->addDIEEntry(SPDie, dwarf::DW_AT_object_pointer, Arg); - } - } + SPCU->constructSubprogramArguments(*SPDie, Args); DIE *SPDeclDie = SPDie; SPDie = SPCU->createAndAddDIE(dwarf::DW_TAG_subprogram, *SPCU->getUnitDie()); @@ -598,9 +583,8 @@ DIE *DwarfDebug::createScopeChildrenDIE(DwarfCompileUnit *TheCU, ObjectPointer = Arg; } - // Create the unspecified parameter that marks a function as variadic. + // If this is a variadic function, add an unspecified parameter. DISubprogram SP(Scope->getScopeNode()); - assert(SP.Verify()); DIArray FnArgs = SP.getType().getTypeArray(); if (FnArgs.getElement(FnArgs.getNumElements()-1).isUnspecifiedParameter()) { DIE *Ellipsis = new DIE(dwarf::DW_TAG_unspecified_parameters); |

