mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
d9729b268c
DIImportedEntity has a line number, but not a file field. To determine the decl_line/decl_file we combine the line number from the DIImportedEntity with the file from the DIImportedEntity's scope. This does not work correctly when the parent scope is a DINamespace or a DIModule, both of which do not have a source file. This patch adds a file field to DIImportedEntity to unambiguously identify the source location of the using/import declaration. Most testcase updates are mechanical, the interesting one is the removal of the FIXME in test/DebugInfo/Generic/namespace.ll. This fixes PR33822. See https://bugs.llvm.org/show_bug.cgi?id=33822 for more context. <rdar://problem/33357889> https://bugs.llvm.org/show_bug.cgi?id=33822 Differential Revision: https://reviews.llvm.org/D35583 llvm-svn: 308398
30 lines
1.3 KiB
LLVM
30 lines
1.3 KiB
LLVM
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
|
|
; RUN: verify-uselistorder %s
|
|
|
|
; CHECK: !named = !{!0, !3, !4, !5, !5}
|
|
!named = !{!0, !3, !4, !5, !6}
|
|
|
|
!llvm.module.flags = !{!7}
|
|
!llvm.dbg.cu = !{!1}
|
|
|
|
; CHECK: !0 = distinct !DISubprogram({{.*}})
|
|
!0 = distinct !DISubprogram(name: "foo", isDefinition: true, unit: !1)
|
|
|
|
!1 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang",
|
|
file: !2,
|
|
isOptimized: true, flags: "-O2",
|
|
splitDebugFilename: "abc.debug", emissionKind: 2)
|
|
!2 = !DIFile(filename: "path/to/file", directory: "/path/to/dir")
|
|
; CHECK: !3 = !DICompositeType({{.*}})
|
|
!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "Class", size: 32, align: 32)
|
|
|
|
; CHECK-NEXT: !4 = !DIImportedEntity(tag: DW_TAG_imported_module, name: "foo", scope: !0, entity: !1, file: !2, line: 7)
|
|
!4 = !DIImportedEntity(tag: DW_TAG_imported_module, name: "foo", scope: !0,
|
|
entity: !1, file: !2, line: 7)
|
|
|
|
; CHECK-NEXT: !5 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !0)
|
|
!5 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !0)
|
|
!6 = !DIImportedEntity(tag: DW_TAG_imported_module, name: "", scope: !0, entity: null,
|
|
line: 0)
|
|
!7 = !{i32 2, !"Debug Info Version", i32 3}
|