diff options
Diffstat (limited to 'llvm/test/DebugInfo')
-rw-r--r-- | llvm/test/DebugInfo/Generic/mixed-source.ll | 58 | ||||
-rw-r--r-- | llvm/test/DebugInfo/X86/stringpool.ll | 4 |
2 files changed, 48 insertions, 14 deletions
diff --git a/llvm/test/DebugInfo/Generic/mixed-source.ll b/llvm/test/DebugInfo/Generic/mixed-source.ll index d5586f8..ee3598f 100644 --- a/llvm/test/DebugInfo/Generic/mixed-source.ll +++ b/llvm/test/DebugInfo/Generic/mixed-source.ll @@ -5,36 +5,66 @@ ; CHECK: include_directories[ 0] = "dir" ; CHECK-NEXT: file_names[ 0]: +; CHECK-NEXT: name: "main.c" +; CHECK-NEXT: dir_index: 0 +; CHECK-NOT: source: +; CHECK-NEXT: file_names[ 1]: ; CHECK-NEXT: name: "foo.c" ; CHECK-NEXT: dir_index: 0 ; CHECK-NEXT: source: "void foo() { }\n" -; CHECK-NEXT: file_names[ 1]: -; CHECK-NEXT: name: "bar.h" +; CHECK-NEXT: file_names[ 2]: +; CHECK-NEXT: name: "newline.h" +; CHECK-NEXT: dir_index: 0 +; CHECK-NEXT: source: "\n" +; CHECK-NEXT: file_names[ 3]: +; CHECK-NEXT: name: "empty.h" +; CHECK-NEXT: dir_index: 0 +; CHECK-NEXT: source: "\n" +; CHECK-NEXT: file_names[ 4]: +; CHECK-NEXT: name: "absent.h" ; CHECK-NEXT: dir_index: 0 ; CHECK-NOT: source: ; Test that DIFiles mixing source and no-source within a DICompileUnit works. -define dso_local void @foo() !dbg !5 { +define dso_local void @foo() !dbg !6 { ret void, !dbg !7 } -define dso_local void @bar() !dbg !6 { - ret void, !dbg !8 +define dso_local void @newline() !dbg !9 { + ret void, !dbg !10 } -!llvm.dbg.cu = !{!4} +define dso_local void @empty() !dbg !12 { + ret void, !dbg !13 +} + +define dso_local void @absent() !dbg !15 { + ret void, !dbg !16 +} + +!llvm.dbg.cu = !{!2} !llvm.module.flags = !{!0, !1} !0 = !{i32 2, !"Dwarf Version", i32 5} !1 = !{i32 2, !"Debug Info Version", i32 3} -!2 = !DIFile(filename: "foo.c", directory: "dir", source: "void foo() { }\0A") -!3 = !DIFile(filename: "bar.h", directory: "dir") +!2 = distinct !DICompileUnit(language: DW_LANG_C99, emissionKind: FullDebug, file: !4) +!3 = !DISubroutineType(types: !{}) +!4 = !DIFile(filename: "main.c", directory: "dir") + +!5 = !DIFile(filename: "foo.c", directory: "dir", source: "void foo() { }\0A") +!6 = distinct !DISubprogram(name: "foo", file: !5, line: 1, type: !3, scopeLine: 1, spFlags: DISPFlagDefinition, unit: !2) +!7 = !DILocation(line: 1, scope: !6) + +!8 = !DIFile(filename: "newline.h", directory: "dir", source: "\0A") +!9 = distinct !DISubprogram(name: "newline", file: !8, line: 1, type: !3, scopeLine: 1, spFlags: DISPFlagDefinition, unit: !2) +!10 = !DILocation(line: 1, scope: !9) + +!11 = !DIFile(filename: "empty.h", directory: "dir", source: "") +!12 = distinct !DISubprogram(name: "empty", file: !11, line: 1, type: !3, scopeLine: 1, spFlags: DISPFlagDefinition, unit: !2) +!13 = !DILocation(line: 1, scope: !12) -!4 = distinct !DICompileUnit(language: DW_LANG_C99, emissionKind: FullDebug, file: !2) -!5 = distinct !DISubprogram(name: "foo", file: !2, line: 1, type: !9, scopeLine: 1, spFlags: DISPFlagDefinition, unit: !4) -!6 = distinct !DISubprogram(name: "bar", file: !3, line: 1, type: !9, scopeLine: 1, spFlags: DISPFlagDefinition, unit: !4) -!7 = !DILocation(line: 1, scope: !5) -!8 = !DILocation(line: 1, scope: !6) -!9 = !DISubroutineType(types: !{}) +!14 = !DIFile(filename: "absent.h", directory: "dir") +!15 = distinct !DISubprogram(name: "absent", file: !14, line: 1, type: !3, scopeLine: 1, spFlags: DISPFlagDefinition, unit: !2) +!16 = !DILocation(line: 1, scope: !15) diff --git a/llvm/test/DebugInfo/X86/stringpool.ll b/llvm/test/DebugInfo/X86/stringpool.ll index 219e672..1c3a57a 100644 --- a/llvm/test/DebugInfo/X86/stringpool.ll +++ b/llvm/test/DebugInfo/X86/stringpool.ll @@ -28,8 +28,12 @@ source_filename = "test/DebugInfo/X86/stringpool.ll" ; LINUX: .section .debug_str,"MS",@progbits,1 ; LINUX: yyyy +; DARWIN: .section __DWARF,__debug_abbrev,regular,debug +; DARWIN-NEXT: Lsection_abbrev: + ; Verify that we refer to 'yyyy' with a direct offset. ; DARWIN: .section __DWARF,__debug_info,regular,debug +; DARWIN: Lset1 = Lsection_abbrev-Lsection_abbrev ; DARWIN: DW_TAG_variable ; DARWIN: .long [[YYYY:[0-9]+]] ; DARWIN-NEXT: .long {{[0-9]+}} ## DW_AT_type |