summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-03-10 21:30:26 +0000
committerDevang Patel <dpatel@apple.com>2009-03-10 21:30:26 +0000
commitc0f58ea60b605ad255820f7552d4a4875ff31bc3 (patch)
treeed26a63618f29eef36b47299b7fa34743a57c312 /clang/lib
parent6e6d1b2481b130bd19a340e1bbb087d55d69b5e8 (diff)
downloadbcm5719-llvm-c0f58ea60b605ad255820f7552d4a4875ff31bc3.tar.gz
bcm5719-llvm-c0f58ea60b605ad255820f7552d4a4875ff31bc3.zip
Emit super class debug info.
llvm-svn: 66580
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index dcf34bbd2e9..9b56b8449fa 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -328,6 +328,17 @@ llvm::DIType CGDebugInfo::CreateType(const ObjCInterfaceType *Ty,
// Convert all the elements.
llvm::SmallVector<llvm::DIDescriptor, 16> EltTys;
+ ObjCInterfaceDecl *SClass = Decl->getSuperClass();
+ if (SClass) {
+ llvm::DIType SClassTy =
+ getOrCreateType(M->getContext().getObjCInterfaceType(SClass), Unit);
+ llvm::DIType InhTag =
+ DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_inheritance,
+ Unit, "", Unit, 0, 0, 0,
+ 0 /* offset */, 0, SClassTy);
+ EltTys.push_back(InhTag);
+ }
+
const ASTRecordLayout &RL = M->getContext().getASTObjCInterfaceLayout(Decl);
unsigned FieldNo = 0;
OpenPOWER on IntegriCloud