r301707 - Adapt to LLVM API change (DINamespace no longer takes line/file info).

Yung, Douglas via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 28 21:37:31 PDT 2017


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-bounces at lists.llvm.org] On Behalf Of
> Adrian Prantl via cfe-commits
> Sent: Friday, April 28, 2017 15:26
> To: cfe-commits at 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 at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list