// 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