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

Reply via email to