aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGDebugInfo.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2012-01-26 01:57:29 +0000
committerEric Christopher <echristo@apple.com>2012-01-26 01:57:29 +0000
commit027cb30af828f07750f9185782822297a5c57231 (patch)
treee1fcf313495915b3a529a86f9ad432e24e885510 /lib/CodeGen/CGDebugInfo.cpp
parent6faa5540dfd17388c62bef8e69f91b0e6bd86e9c (diff)
Collect this information together. No reason to have it split.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149013 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r--lib/CodeGen/CGDebugInfo.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp
index c3991b21d5..98aa20c8d6 100644
--- a/lib/CodeGen/CGDebugInfo.cpp
+++ b/lib/CodeGen/CGDebugInfo.cpp
@@ -1171,18 +1171,16 @@ llvm::DIType CGDebugInfo::CreateType(const RecordType *Ty) {
// Convert all the elements.
SmallVector<llvm::Value *, 16> EltTys;
- const CXXRecordDecl *CXXDecl = dyn_cast<CXXRecordDecl>(RD);
- if (CXXDecl) {
- CollectCXXBases(CXXDecl, Unit, EltTys, FwdDecl);
- CollectVTableInfo(CXXDecl, Unit, EltTys);
- }
-
// Collect static variables with initializers.
CollectRecordStaticVars(RD, FwdDecl);
-
CollectRecordFields(RD, Unit, EltTys, FwdDecl);
+
+ // Collect C++ information.
+ const CXXRecordDecl *CXXDecl = dyn_cast<CXXRecordDecl>(RD);
llvm::DIArray TParamsArray;
if (CXXDecl) {
+ CollectCXXBases(CXXDecl, Unit, EltTys, FwdDecl);
+ CollectVTableInfo(CXXDecl, Unit, EltTys);
CollectCXXMemberFunctions(CXXDecl, Unit, EltTys, FwdDecl);
CollectCXXFriends(CXXDecl, Unit, EltTys, FwdDecl);
if (const ClassTemplateSpecializationDecl *TSpecial