diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp
index c3991b2..98aa20c 100644
--- a/lib/CodeGen/CGDebugInfo.cpp
+++ b/lib/CodeGen/CGDebugInfo.cpp
@@ -1171,18 +1171,16 @@
   // Convert all the elements.
   SmallVector<llvm::Value *, 16> 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);
-  }
-
-  // Collect static variables with initializers.
-  CollectRecordStaticVars(RD, FwdDecl);
-
-  CollectRecordFields(RD, Unit, EltTys, FwdDecl);
-  llvm::DIArray TParamsArray;
-  if (CXXDecl) {
     CollectCXXMemberFunctions(CXXDecl, Unit, EltTys, FwdDecl);
     CollectCXXFriends(CXXDecl, Unit, EltTys, FwdDecl);
     if (const ClassTemplateSpecializationDecl *TSpecial
