[PATCH] D80369: [DebugInfo][CallSites] Remove decl subprograms from 'retainedTypes:'
Djordje Todorovic via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 27 05:22:12 PDT 2020
djtodoro added a comment.
>> @dblaikie wrote:
>
> ... At least for the C++ test, this change makes it pass:
>
> diff --git clang/test/Modules/ModuleDebugInfo.cpp clang/test/Modules/ModuleDebugInfo.cpp
> index 26369c89605..b1ffe27ec22 100644
> --- clang/test/Modules/ModuleDebugInfo.cpp
> +++ clang/test/Modules/ModuleDebugInfo.cpp
> @@ -51,15 +51,6 @@
> // CHECK-SAME: )
> // CHECK: !DIEnumerator(name: "e5", value: 5, isUnsigned: true)
>
> -// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "B",
> -// no mangled name here yet.
> -
> -// This type is anchored by a function parameter.
> -// CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "A<void>"
> -// CHECK-SAME: elements:
> -// CHECK-SAME: templateParams:
> -// CHECK-SAME: identifier: "_ZTSN8DebugCXX1AIJvEEE")
> -
> // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Struct"
> // CHECK-SAME: identifier: "_ZTSN8DebugCXX6StructE")
>
> @@ -85,6 +76,12 @@
> // CHECK-SAME: templateParams:
> // CHECK-SAME: identifier: "_ZTSN8DebugCXX8TemplateIlNS_6traitsIlEEEE")
>
> +// This type is anchored by a function parameter.
> +// CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "A<void>"
> +// CHECK-SAME: elements:
> +// CHECK-SAME: templateParams:
> +// CHECK-SAME: identifier: "_ZTSN8DebugCXX1AIJvEEE")
> +
> // CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "FloatInstantiation"
> // no mangled name here yet.
>
> @@ -93,6 +90,9 @@
> // CHECK-SAME: flags: DIFlagFwdDecl
> // CHECK-SAME: identifier: "_ZTSN8DebugCXX8TemplateIfNS_6traitsIfEEEE")
>
> +// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "B",
> +// no mangled name here yet.
> +
> // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Virtual"
> // CHECK-SAME: elements:
> // CHECK-SAME: identifier: "_ZTS7Virtual")
I've also faced this scenario, but the problem was with the `Modules/ModuleDebugInfo.m` (Objective-C) test, since after applying previous version of the patch [0] (plus refacotred Modules/DebugInfoTransitiveImport.m & Modules/ModuleDebugInfo.cpp) there wasn't any `DISubprogram` at all, and that was the reason I made this version of the patch.
[0]: F12010783: debuginfo-remove-decls-from-ret-types.patch <https://reviews.llvm.org/F12010783>
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D80369/new/
https://reviews.llvm.org/D80369
More information about the cfe-commits
mailing list