1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; CHECK: define void @_Z3foov() !dbg !9 5*9880d681SAndroid Build Coastguard Workerdefine void @_Z3foov() !dbg !9 { 6*9880d681SAndroid Build Coastguard Worker ret void 7*9880d681SAndroid Build Coastguard Worker} 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12} 10*9880d681SAndroid Build Coastguard Worker!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12} 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker!0 = !{null} 13*9880d681SAndroid Build Coastguard Worker!1 = distinct !DICompositeType(tag: DW_TAG_structure_type) 14*9880d681SAndroid Build Coastguard Worker!2 = !DIFile(filename: "path/to/file", directory: "/path/to/dir") 15*9880d681SAndroid Build Coastguard Worker!3 = !DISubroutineType(types: !0) 16*9880d681SAndroid Build Coastguard Worker!4 = distinct !DICompositeType(tag: DW_TAG_structure_type) 17*9880d681SAndroid Build Coastguard Worker!5 = distinct !{} 18*9880d681SAndroid Build Coastguard Worker!6 = distinct !{} 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker; CHECK: !7 = distinct !DISubprogram(scope: null, isLocal: false, isDefinition: true, isOptimized: false, unit: !8) 21*9880d681SAndroid Build Coastguard Worker!7 = distinct !DISubprogram(unit: !8) 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker!8 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang", 24*9880d681SAndroid Build Coastguard Worker file: !2, 25*9880d681SAndroid Build Coastguard Worker isOptimized: true, flags: "-O2", 26*9880d681SAndroid Build Coastguard Worker splitDebugFilename: "abc.debug", emissionKind: 2) 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker; CHECK: !9 = !DISubprogram(scope: null, isLocal: false, isDefinition: false, isOptimized: false) 29*9880d681SAndroid Build Coastguard Worker!9 = !DISubprogram(isDefinition: false) 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker; CHECK: !10 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1, file: !2, line: 7, type: !3, isLocal: true, isDefinition: true, scopeLine: 8, containingType: !4, virtuality: DW_VIRTUALITY_pure_virtual, virtualIndex: 10, thisAdjustment: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !8, templateParams: !5, declaration: !9, variables: !6) 32*9880d681SAndroid Build Coastguard Worker!10 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1, 33*9880d681SAndroid Build Coastguard Worker file: !2, line: 7, type: !3, isLocal: true, 34*9880d681SAndroid Build Coastguard Worker isDefinition: true, scopeLine: 8, 35*9880d681SAndroid Build Coastguard Worker containingType: !4, 36*9880d681SAndroid Build Coastguard Worker virtuality: DW_VIRTUALITY_pure_virtual, 37*9880d681SAndroid Build Coastguard Worker virtualIndex: 10, thisAdjustment: 3, flags: DIFlagPrototyped, 38*9880d681SAndroid Build Coastguard Worker isOptimized: true, unit: !8, templateParams: !5, 39*9880d681SAndroid Build Coastguard Worker declaration: !9, variables: !6) 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker; CHECK: !11 = distinct !DISubprogram 42*9880d681SAndroid Build Coastguard Worker; CHECK-SAME: virtualIndex: 0, 43*9880d681SAndroid Build Coastguard Worker!11 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1, 44*9880d681SAndroid Build Coastguard Worker file: !2, line: 7, type: !3, isLocal: true, 45*9880d681SAndroid Build Coastguard Worker isDefinition: true, scopeLine: 8, 46*9880d681SAndroid Build Coastguard Worker containingType: !4, 47*9880d681SAndroid Build Coastguard Worker virtuality: DW_VIRTUALITY_pure_virtual, 48*9880d681SAndroid Build Coastguard Worker virtualIndex: 0, 49*9880d681SAndroid Build Coastguard Worker flags: DIFlagPrototyped, isOptimized: true, 50*9880d681SAndroid Build Coastguard Worker unit: !8, templateParams: !5, declaration: !9, 51*9880d681SAndroid Build Coastguard Worker variables: !6) 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Worker; CHECK: !12 = distinct !DISubprogram 54*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: virtualIndex 55*9880d681SAndroid Build Coastguard Worker!12 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1, 56*9880d681SAndroid Build Coastguard Worker file: !2, line: 7, type: !3, isLocal: true, 57*9880d681SAndroid Build Coastguard Worker isDefinition: true, scopeLine: 8, 58*9880d681SAndroid Build Coastguard Worker containingType: !4, 59*9880d681SAndroid Build Coastguard Worker virtuality: DW_VIRTUALITY_none, 60*9880d681SAndroid Build Coastguard Worker flags: DIFlagPrototyped, isOptimized: true, 61*9880d681SAndroid Build Coastguard Worker unit: !8, 62*9880d681SAndroid Build Coastguard Worker templateParams: !5, declaration: !9, variables: !6) 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker!13 = !{i32 1, !"Debug Info Version", i32 3} 65*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!13} 66*9880d681SAndroid Build Coastguard Worker!llvm.dbg.cu = !{!8} 67