diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-04-30 22:41:33 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-04-30 22:41:33 +0000 |
commit | 44078b3260c2afd12775ff3c4bc755ce549ddf10 (patch) | |
tree | 073f3d2c1d09a4b781bcaf2356cbe889c302c4f9 /llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h | |
parent | fe54364a9d99b05b77d53846d0d0df10c5ee9361 (diff) | |
download | bcm5719-llvm-44078b3260c2afd12775ff3c4bc755ce549ddf10.tar.gz bcm5719-llvm-44078b3260c2afd12775ff3c4bc755ce549ddf10.zip |
DebugInfo: Omit DW_AT_artificial on DW_TAG_formal_parameters in DW_TAG_inlined_subroutines.
They just don't need to be there - they're inherited from the abstract
definition. In theory I would like them to be inherited from the
declaration, but the DWARF standard doesn't quite say that... we can
probably do it anyway but I'm less confident about that so I'll leave it
for a separate commit.
llvm-svn: 207717
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h index cf4bc991b25..5beae1e29c4 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h @@ -61,6 +61,8 @@ public: void addRange(RangeSpan Range) { Ranges.push_back(Range); } }; +enum AbstractOrInlined { AOI_None, AOI_Inlined, AOI_Abstract }; + //===----------------------------------------------------------------------===// /// Unit - This dwarf writer support class manages information associated /// with a source file. @@ -413,7 +415,7 @@ public: /// constructVariableDIE - Construct a DIE for the given DbgVariable. std::unique_ptr<DIE> constructVariableDIE(DbgVariable &DV, - bool isScopeAbstract); + AbstractOrInlined AbsIn = AOI_None); /// constructSubprogramArguments - Construct function argument DIEs. DIE *constructSubprogramArguments(DIE &Buffer, DIArray Args); @@ -451,7 +453,7 @@ private: /// \brief Construct a DIE for the given DbgVariable without initializing the /// DbgVariable's DIE reference. std::unique_ptr<DIE> constructVariableDIEImpl(const DbgVariable &DV, - bool isScopeAbstract); + AbstractOrInlined AbsIn); /// constructTypeDIE - Construct basic type die from DIBasicType. void constructTypeDIE(DIE &Buffer, DIBasicType BTy); |