From 0de4fa621e60a542d9bd43c09bd596ba452f035c Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Tue, 23 Jun 2009 22:07:48 +0000 Subject: [PATCH] Add DISubprogram::getReturnTypeName() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74015 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/DebugInfo.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h index 972bb07196e..2b7b2b7cdfa 100644 --- a/include/llvm/Analysis/DebugInfo.h +++ b/include/llvm/Analysis/DebugInfo.h @@ -330,6 +330,19 @@ namespace llvm { DICompositeType getType() const { return getFieldAs(8); } + /// getReturnTypeName - Subprogram return types are encoded either as + /// DIType or as DICompositeType. + const std::string &getReturnTypeName(std::string &F) const { + DICompositeType DCT(getFieldAs(8)); + if (!DCT.isNull()) { + DIArray A = DCT.getTypeArray(); + DIType T(A.getElement(0).getGV()); + return T.getName(F); + } + DIType T(getFieldAs(8)); + return T.getName(F); + } + /// Verify - Verify that a subprogram descriptor is well formed. bool Verify() const;