Revert previous patch unifying all of the C++ record prep in one area,

the gdb testsuite complains too much about the ordering of items printed,
even if the offsets in the debug info are correct.

This reverts commit 027cb30af828f07750f9185782822297a5c57231.

llvm-svn: 149049
This commit is contained in:
Eric Christopher 2012-01-26 07:01:04 +00:00
parent 853b5ebfd3
commit 8913bd6c63
1 changed files with 11 additions and 6 deletions

View File

@ -1171,16 +1171,21 @@ llvm::DIType CGDebugInfo::CreateType(const RecordType *Ty) {
// Convert all the elements. // Convert all the elements.
SmallVector<llvm::Value *, 16> EltTys; SmallVector<llvm::Value *, 16> EltTys;
// Collect static variables with initializers. // Note: The split of CXXDecl information here is intentional, the
CollectRecordStaticVars(RD, FwdDecl); // gdb tests will depend on a certain ordering at printout. The debug
CollectRecordFields(RD, DefUnit, EltTys, FwdDecl); // information offsets are still correct if we merge them all together
// though.
// Collect C++ information.
const CXXRecordDecl *CXXDecl = dyn_cast<CXXRecordDecl>(RD); const CXXRecordDecl *CXXDecl = dyn_cast<CXXRecordDecl>(RD);
llvm::DIArray TParamsArray;
if (CXXDecl) { if (CXXDecl) {
CollectCXXBases(CXXDecl, DefUnit, EltTys, FwdDecl); CollectCXXBases(CXXDecl, DefUnit, EltTys, FwdDecl);
CollectVTableInfo(CXXDecl, DefUnit, EltTys); CollectVTableInfo(CXXDecl, DefUnit, EltTys);
}
// Collect static variables with initializers and other fields.
CollectRecordStaticVars(RD, FwdDecl);
CollectRecordFields(RD, DefUnit, EltTys, FwdDecl);
llvm::DIArray TParamsArray;
if (CXXDecl) {
CollectCXXMemberFunctions(CXXDecl, DefUnit, EltTys, FwdDecl); CollectCXXMemberFunctions(CXXDecl, DefUnit, EltTys, FwdDecl);
CollectCXXFriends(CXXDecl, DefUnit, EltTys, FwdDecl); CollectCXXFriends(CXXDecl, DefUnit, EltTys, FwdDecl);
if (const ClassTemplateSpecializationDecl *TSpecial if (const ClassTemplateSpecializationDecl *TSpecial