Author: amccarth Date: Thu Jul 21 08:41:25 2016 New Revision: 276279 URL: http://llvm.org/viewvc/llvm-project?rev=276279&view=rev Log: Revert "Include unreferenced nested types in member list only for CodeView"
Patch broke ModuleDebugInfo test on the build bots (but not locally). Again. svn revision: r276271 This reverts commit 9da8a1b05362bc96f2855fb32b5588b89407685d. Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp cfe/trunk/lib/CodeGen/CGDebugInfo.h cfe/trunk/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp cfe/trunk/test/Modules/ModuleDebugInfo.cpp Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=276279&r1=276278&r2=276279&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original) +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Thu Jul 21 08:41:25 2016 @@ -1090,14 +1090,6 @@ void CGDebugInfo::CollectRecordNormalFie elements.push_back(FieldType); } -void CGDebugInfo::CollectRecordNestedRecord( - const RecordDecl *RD, SmallVectorImpl<llvm::Metadata *> &elements) { - QualType Ty = CGM.getContext().getTypeDeclType(RD); - SourceLocation Loc = RD->getLocation(); - llvm::DIType *nestedType = getOrCreateType(Ty, getOrCreateFile(Loc)); - elements.push_back(nestedType); -} - void CGDebugInfo::CollectRecordFields( const RecordDecl *record, llvm::DIFile *tunit, SmallVectorImpl<llvm::Metadata *> &elements, @@ -1109,10 +1101,6 @@ void CGDebugInfo::CollectRecordFields( else { const ASTRecordLayout &layout = CGM.getContext().getASTRecordLayout(record); - // Debug info for nested records is included in the member list only for - // CodeView. - bool IncludeNestedRecords = CGM.getCodeGenOpts().EmitCodeView; - // Field number for non-static fields. unsigned fieldNo = 0; @@ -1138,10 +1126,7 @@ void CGDebugInfo::CollectRecordFields( // Bump field number for next field. ++fieldNo; - } else if (const auto *nestedRec = dyn_cast<CXXRecordDecl>(I)) - if (IncludeNestedRecords && !nestedRec->isImplicit() && - nestedRec->getDeclContext() == record) - CollectRecordNestedRecord(nestedRec, elements); + } } } @@ -3635,8 +3620,8 @@ void CGDebugInfo::EmitUsingDirective(con if (CGM.getCodeGenOpts().getDebugInfo() < codegenoptions::LimitedDebugInfo) return; const NamespaceDecl *NSDecl = UD.getNominatedNamespace(); - if (!NSDecl->isAnonymousNamespace() || - CGM.getCodeGenOpts().DebugExplicitImport) { + if (!NSDecl->isAnonymousNamespace() || + CGM.getCodeGenOpts().DebugExplicitImport) { DBuilder.createImportedModule( getCurrentContextDescriptor(cast<Decl>(UD.getDeclContext())), getOrCreateNameSpace(NSDecl), Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.h?rev=276279&r1=276278&r2=276279&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CGDebugInfo.h (original) +++ cfe/trunk/lib/CodeGen/CGDebugInfo.h Thu Jul 21 08:41:25 2016 @@ -254,8 +254,6 @@ class CGDebugInfo { llvm::DIFile *F, SmallVectorImpl<llvm::Metadata *> &E, llvm::DIType *RecordTy, const RecordDecl *RD); - void CollectRecordNestedRecord(const RecordDecl *RD, - SmallVectorImpl<llvm::Metadata *> &E); void CollectRecordFields(const RecordDecl *Decl, llvm::DIFile *F, SmallVectorImpl<llvm::Metadata *> &E, llvm::DICompositeType *RecordTy); Modified: cfe/trunk/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp?rev=276279&r1=276278&r2=276279&view=diff ============================================================================== --- cfe/trunk/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp (original) +++ cfe/trunk/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp Thu Jul 21 08:41:25 2016 @@ -19,6 +19,6 @@ protected: Test t; -// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "data" // CHECK: !DIDerivedType(tag: DW_TAG_pointer_type +// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "data" // CHECK-NOT: !DICompositeType(tag: DW_TAG_structure_type, name: "data" Modified: cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp?rev=276279&r1=276278&r2=276279&view=diff ============================================================================== --- cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp (original) +++ cfe/trunk/test/CodeGenCXX/debug-info-ms-abi.cpp Thu Jul 21 08:41:25 2016 @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -triple=i686-pc-windows-msvc -debug-info-kind=limited -gcodeview -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -triple=i686-pc-windows-msvc -debug-info-kind=limited -emit-llvm -o - | FileCheck %s // Tests that certain miscellaneous features work in the MS ABI. @@ -12,22 +12,19 @@ Foo f; Foo::Nested n; // CHECK: ![[Foo:[^ ]*]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Foo", -// CHECK-SAME: elements: ![[elements:[0-9]+]] // CHECK-SAME: identifier: ".?AUFoo@@" -// CHECK: ![[elements]] = !{![[vptr:[0-9]+]], ![[Nested:[0-9]+]], ![[f:[0-9]+]], ![[g:[0-9]+]], ![[h:[0-9]+]]} - -// CHECK: ![[Nested]] = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Nested", -// CHECK-SAME: identifier: ".?AUNested@Foo@@" - -// CHECK: ![[f]] = !DISubprogram(name: "f", +// CHECK: !DISubprogram(name: "f", // CHECK-SAME: containingType: ![[Foo]], virtuality: DW_VIRTUALITY_virtual, virtualIndex: 0, // CHECK-SAME: flags: DIFlagPrototyped | DIFlagIntroducedVirtual, -// CHECK: ![[g]] = !DISubprogram(name: "g", +// CHECK: !DISubprogram(name: "g", // CHECK-SAME: containingType: ![[Foo]], virtuality: DW_VIRTUALITY_virtual, virtualIndex: 1, // CHECK-SAME: flags: DIFlagPrototyped | DIFlagIntroducedVirtual, -// CHECK: ![[h]] = !DISubprogram(name: "h", +// CHECK: !DISubprogram(name: "h", // CHECK-SAME: containingType: ![[Foo]], virtuality: DW_VIRTUALITY_virtual, virtualIndex: 2, // CHECK-SAME: flags: DIFlagPrototyped | DIFlagIntroducedVirtual, + +// CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Nested", +// CHECK-SAME: identifier: ".?AUNested@Foo@@" Modified: cfe/trunk/test/Modules/ModuleDebugInfo.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/ModuleDebugInfo.cpp?rev=276279&r1=276278&r2=276279&view=diff ============================================================================== --- cfe/trunk/test/Modules/ModuleDebugInfo.cpp (original) +++ cfe/trunk/test/Modules/ModuleDebugInfo.cpp Thu Jul 21 08:41:25 2016 @@ -121,7 +121,7 @@ // CHECK-SAME: flags: DIFlagFwdDecl, // CHECK-SAME: identifier: "_ZTS9Template1IPvE") -// Explicit instantiation. +// Explicit instatiation. // CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "Template1<int>", // CHECK-SAME: templateParams: // CHECK-SAME: identifier: "_ZTS9Template1IiE") @@ -130,10 +130,6 @@ // CHECK-SAME: flags: DIFlagFwdDecl // CHECK-SAME: identifier: "_ZTS15FwdDeclTemplateIiE") -// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Member", -// CHECK-SAME: flags: DIFlagFwdDecl -// CHECK-SAME: identifier: "_ZTSN11SpecializedIiE6MemberE") - // Forward-declared member of a template. // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Member", // CHECK-SAME: flags: DIFlagFwdDecl _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits