I relaxed the testcase to allow for the extra import in r301805. The extra import is for the anonymous namespace that I added to the testcase, which is the intended behavior on the PS4 platform (DebugExplicitImport).
-- adrian > On Apr 28, 2017, at 9:37 PM, Yung, Douglas <douglas.y...@sony.com> wrote: > > Hi Adrian, > > This commit, or the previous one you made seems to be causing a failure in > the clang test CodeGenCXX\debug-info-namespace.cpp on the ps4 Windows and > Linux bots. It's failing when trying to match the CHECK line on line 79 of > the test because the line it matches seems to have one extra import on the > PS4 target. Can you take a look? > > Douglas Yung > >> -----Original Message----- >> From: cfe-commits [mailto:cfe-commits-boun...@lists.llvm.org] On Behalf Of >> Adrian Prantl via cfe-commits >> Sent: Friday, April 28, 2017 15:26 >> To: cfe-commits@lists.llvm.org >> Subject: r301707 - Adapt to LLVM API change (DINamespace no longer takes >> line/file info). >> >> Author: adrian >> Date: Fri Apr 28 17:25:53 2017 >> New Revision: 301707 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=301707&view=rev >> Log: >> Adapt to LLVM API change (DINamespace no longer takes line/file info). >> >> rdar://problem/17484998 >> https://reviews.llvm.org/D32648 >> >> Modified: >> cfe/trunk/lib/CodeGen/CGDebugInfo.cpp >> cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp >> cfe/trunk/test/Modules/ExtDebugInfo.cpp >> >> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp >> URL: http://llvm.org/viewvc/llvm- >> project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=301707&r1=301706&r2=301707&v >> iew=diff >> ============================================================================== >> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original) >> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Fri Apr 28 17:25:53 2017 >> @@ -4034,11 +4034,9 @@ CGDebugInfo::getOrCreateNameSpace(const >> if (I != NameSpaceCache.end()) >> return cast<llvm::DINamespace>(I->second); >> >> - unsigned LineNo = getLineNumber(NSDecl->getLocation()); >> - llvm::DIFile *FileD = getOrCreateFile(NSDecl->getLocation()); >> llvm::DIScope *Context = getDeclContextDescriptor(NSDecl); >> - llvm::DINamespace *NS = DBuilder.createNameSpace( >> - Context, NSDecl->getName(), FileD, LineNo, NSDecl->isInline()); >> + llvm::DINamespace *NS = >> + DBuilder.createNameSpace(Context, NSDecl->getName(), >> + NSDecl->isInline()); >> NameSpaceCache[NSDecl].reset(NS); >> return NS; >> } >> >> Modified: cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/debug-info- >> namespace.cpp?rev=301707&r1=301706&r2=301707&view=diff >> ============================================================================== >> --- cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp (original) >> +++ cfe/trunk/test/CodeGenCXX/debug-info-namespace.cpp Fri Apr 28 >> +++ 17:25:53 2017 >> @@ -53,21 +53,27 @@ inline namespace I { int var_i; } } -void >> B::func_fwd() >> {} >> +namespace { >> +int anonymous; >> +} >> +void B::func_fwd() { >> + anonymous = 0; >> +} >> + >> >> // This should work even if 'i' and 'func' were declarations & not >> definitions, // but it doesn't yet. >> >> // CHECK: [[I:![0-9]+]] = distinct !DIGlobalVariable(name: "i",{{.*}} scope: >> [[NS:![0-9]+]], -// CHECK: [[NS]] = !DINamespace(name: "B", scope: >> [[CTXT:![0- >> 9]+]], file: [[FOOCPP:![0-9]+]], line: 1) -// CHECK: [[FOOCPP]] = >> !DIFile(filename: "foo.cpp" >> -// CHECK: [[CTXT]] = !DINamespace(name: "A", scope: null, file: [[FILE:![0- >> 9]+]], line: 5) -// CHECK: [[FILE]] = !DIFile(filename: "{{.*}}debug-info- >> namespace.cpp", >> +// CHECK: [[NS]] = !DINamespace(name: "B", scope: [[CTXT:![0-9]+]]) // >> +CHECK: [[CTXT]] = !DINamespace(name: "A", scope: null) // CHECK: >> +[[FOOCPP:.*]] = !DIFile(filename: "foo.cpp" >> // CHECK: [[VAR_FWD:![0-9]+]] = distinct !DIGlobalVariable(name: >> "var_fwd",{{.*}} scope: [[NS]], >> // CHECK-SAME: line: 44 >> // CHECK-SAME: isDefinition: true >> // CHECK: distinct !DIGlobalVariable(name: "var_i",{{.*}} scope: >> [[INLINE:![0-9]+]], -// CHECK: [[INLINE]] = !DINamespace(name: "I", scope: >> [[CTXT]], file: [[FOOCPP]], line: 46, exportSymbols: true) >> +// CHECK: [[INLINE]] = !DINamespace(name: "I", scope: [[CTXT]], >> +exportSymbols: true) // CHECK: !DINamespace(scope: null) >> // CHECK: [[CU:![0-9]+]] = distinct !DICompileUnit( >> // CHECK-SAME: imports: [[MODULES:![0-9]*]] >> // CHECK: [[MODULES]] = !{[[M1:![0-9]+]], [[M2:![0-9]+]], [[M3:![0-9]+]], >> [[M4:![0-9]+]], [[M5:![0-9]+]], [[M6:![0-9]+]], [[M7:![0-9]+]], [[M8:![0- >> 9]+]], [[M9:![0-9]+]], [[M10:![0-9]+]], [[M11:![0-9]+]], [[M12:![0-9]+]], >> [[M13:![0-9]+]], [[M14:![0-9]+]], [[M15:![0-9]+]], [[M16:![0-9]+]], >> [[M17:![0- >> 9]+]]} @@ -106,7 +112,7 @@ void B::func_fwd() {} >> // CHECK-SAME: scope: [[NS]], file: [[FOOCPP]], >> line: 9 >> // CHECK: [[M15]] = !DIImportedEntity(tag: DW_TAG_imported_declaration, >> scope: [[FUNC]], entity: [[VAR_FWD:![0-9]+]] // CHECK: [[M16]] = >> !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: [[FUNC]], entity: >> [[FUNC_FWD:![0-9]+]] -// CHECK: [[FUNC_FWD]] = distinct !DISubprogram(name: >> "func_fwd",{{.*}} line: 50,{{.*}} isDefinition: true >> +// CHECK: [[FUNC_FWD]] = distinct !DISubprogram(name: "func_fwd",{{.*}} >> +line: 53,{{.*}} isDefinition: true >> // CHECK: [[M17]] = !DIImportedEntity(tag: DW_TAG_imported_declaration, >> scope: [[CTXT]], entity: [[I]] >> >> // CHECK-GMLT: [[CU:![0-9]+]] = distinct !DICompileUnit( >> >> Modified: cfe/trunk/test/Modules/ExtDebugInfo.cpp >> URL: http://llvm.org/viewvc/llvm- >> project/cfe/trunk/test/Modules/ExtDebugInfo.cpp?rev=301707&r1=301706&r2=301707 >> &view=diff >> ============================================================================== >> --- cfe/trunk/test/Modules/ExtDebugInfo.cpp (original) >> +++ cfe/trunk/test/Modules/ExtDebugInfo.cpp Fri Apr 28 17:25:53 2017 >> @@ -76,7 +76,7 @@ void foo() { >> // CHECK-SAME: flags: DIFlagFwdDecl, >> // CHECK-SAME: identifier: "_ZTSN8DebugCXX4EnumE") >> >> -// CHECK: ![[NS]] = !DINamespace(name: "DebugCXX", scope: ![[MOD:[0-9]+]], >> +// CHECK: ![[NS]] = !DINamespace(name: "DebugCXX", scope: >> +![[MOD:[0-9]+]]) >> // CHECK: ![[MOD]] = !DIModule(scope: null, name: {{.*}}DebugCXX >> >> // This type is anchored in the module by an explicit template instantiation. >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits