]> granicus.if.org Git - clang/commitdiff
Collect this information together. No reason to have it split.
authorEric Christopher <echristo@apple.com>
Thu, 26 Jan 2012 01:57:29 +0000 (01:57 +0000)
committerEric Christopher <echristo@apple.com>
Thu, 26 Jan 2012 01:57:29 +0000 (01:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149013 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDebugInfo.cpp

index c3991b21d5f4a1bfb9c78857ea741c159113141d..98aa20c8d6108e4439d1e2f08c8373e139e92712 100644 (file)
@@ -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