diff options
author | Awanish Pandey <Awanish.Pandey@amd.com> | 2020-01-13 11:56:18 +0530 |
---|---|---|
committer | Sourabh Singh Tomar <SourabhSingh.Tomar@amd.com> | 2020-01-13 12:26:13 +0530 |
commit | c958639098a8702b831952b1a1a677ae19190a55 (patch) | |
tree | 74a3d209769cb9752586984d8acbdf7c2a1b8f2f /llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | |
parent | 52aaf4a27576607dfc0833f5f88e5a15a30ceadb (diff) | |
download | bcm5719-llvm-c958639098a8702b831952b1a1a677ae19190a55.tar.gz bcm5719-llvm-c958639098a8702b831952b1a1a677ae19190a55.zip |
[DWARF5][DebugInfo]: Added support for DebugInfo generation for auto return type for C++ member functions.
Summary:
This patch will provide support for auto return type for the C++ member
functions. Before this return type of the member function is deduced and
stored in the DIE.
This patch includes llvm side implementation of this feature.
Patch by: Awanish Pandey <Awanish.Pandey@amd.com>
Reviewers: dblaikie, aprantl, shafik, alok, SouraVX, jini.susan.george
Reviewed by: dblaikie
Differential Revision: https://reviews.llvm.org/D70524
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index 1aba956c48d..3e68811ce2b 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -1165,6 +1165,14 @@ bool DwarfUnit::applySubprogramDefinitionAttributes(const DISubprogram *SP, DIE *DeclDie = nullptr; StringRef DeclLinkageName; if (auto *SPDecl = SP->getDeclaration()) { + DITypeRefArray DeclArgs, DefinationArgs; + DeclArgs = SPDecl->getType()->getTypeArray(); + DefinationArgs = SP->getType()->getTypeArray(); + + if (DeclArgs.size() && DefinationArgs.size()) + if (DeclArgs[0] != DefinationArgs[0]) + addType(SPDie, DefinationArgs[0]); + DeclDie = getDIE(SPDecl); assert(DeclDie && "This DIE should've already been constructed when the " "definition DIE was created in " |