mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
d397a52305
Fix testcases that don't pass the verifier after a WIP patch to check `MDSubprogram` operands more effectively. I found the following issues: - When `isDefinition: false`, the `variables:` field might point at `!{i32 786468}`, or at a tuple that pointed at an empty tuple with the comment "previously: invalid DW_TAG_base_type" (I vaguely recall adding those comments during an upgrade script). In these cases, I just dropped the array. - The `variables:` field might point at something like `!{!{!8}}`, where `!8` was an `MDLocation`. I removed the extra layer of indirection. - Invalid `type:` (not an `MDSubroutineType`). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233466 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
1.4 KiB
LLVM
29 lines
1.4 KiB
LLVM
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
|
|
; RUN: verify-uselistorder %s
|
|
|
|
declare void @_Z3foov()
|
|
|
|
; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9}
|
|
!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9}
|
|
|
|
!0 = !{null}
|
|
!1 = distinct !MDCompositeType(tag: DW_TAG_structure_type)
|
|
!2 = !MDFile(filename: "path/to/file", directory: "/path/to/dir")
|
|
!3 = !MDSubroutineType(types: !0)
|
|
!4 = distinct !MDCompositeType(tag: DW_TAG_structure_type)
|
|
!5 = distinct !{}
|
|
!6 = distinct !MDSubprogram(isDefinition: false)
|
|
!7 = distinct !{}
|
|
|
|
; CHECK: !8 = !MDSubprogram(name: "foo", linkageName: "_Zfoov", scope: !1, file: !2, line: 7, type: !3, isLocal: true, isDefinition: false, scopeLine: 8, containingType: !4, virtuality: DW_VIRTUALITY_pure_virtual, virtualIndex: 10, flags: DIFlagPrototyped, isOptimized: true, function: void ()* @_Z3foov, templateParams: !5, declaration: !6, variables: !7)
|
|
!8 = !MDSubprogram(name: "foo", linkageName: "_Zfoov", scope: !1,
|
|
file: !2, line: 7, type: !3, isLocal: true,
|
|
isDefinition: false, scopeLine: 8, containingType: !4,
|
|
virtuality: DW_VIRTUALITY_pure_virtual, virtualIndex: 10,
|
|
flags: DIFlagPrototyped, isOptimized: true, function: void ()* @_Z3foov,
|
|
templateParams: !5, declaration: !6, variables: !7)
|
|
|
|
; CHECK: !9 = !MDSubprogram(scope: null, isLocal: false, isDefinition: true, isOptimized: false)
|
|
!9 = !MDSubprogram()
|
|
|