summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/COFF
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/DebugInfo/COFF')
-rw-r--r--llvm/test/DebugInfo/COFF/inlining.ll6
-rw-r--r--llvm/test/DebugInfo/COFF/multifile.ll58
-rw-r--r--llvm/test/DebugInfo/COFF/simple.ll28
3 files changed, 76 insertions, 16 deletions
diff --git a/llvm/test/DebugInfo/COFF/inlining.ll b/llvm/test/DebugInfo/COFF/inlining.ll
index ddfd5e056a1..cfe530024df 100644
--- a/llvm/test/DebugInfo/COFF/inlining.ll
+++ b/llvm/test/DebugInfo/COFF/inlining.ll
@@ -49,11 +49,11 @@
; ASM: .long 0
; ASM: # Inlined function bar starts at t.cpp:8
; ASM: .long 4098 # Type index of inlined function
-; ASM: .long 0 # Offset into filechecksum table
+; ASM: .cv_filechecksumoffset 1 # Offset into filechecksum table
; ASM: .long 8 # Starting line number
; ASM: # Inlined function foo starts at t.cpp:2
; ASM: .long 4099
-; ASM: .long 0
+; ASM: .cv_filechecksumoffset 1 # Offset into filechecksum table
; ASM: .long 2
; ASM: [[inline_end]]:
@@ -72,6 +72,8 @@
; ASM: .short 4430
; ASM: .short 4430
+; ASM: .cv_filechecksums
+
; ASM: .section .debug$T,"dr"
; ASM: .long 4 # Debug section magic
; ASM: # ArgList (0x1000) {
diff --git a/llvm/test/DebugInfo/COFF/multifile.ll b/llvm/test/DebugInfo/COFF/multifile.ll
index 8af99a6063e..ba7fc82bf1f 100644
--- a/llvm/test/DebugInfo/COFF/multifile.ll
+++ b/llvm/test/DebugInfo/COFF/multifile.ll
@@ -18,10 +18,10 @@
; X86-LABEL: _f:
; X86: # BB
-; X86: .cv_file 1 "D:\\one.c"
+; X86: .cv_file 1 "D:\\one.c" "70B51F534D80639D033AE92C6A856AF6" 1
; X86: .cv_loc 0 1 1 0 is_stmt 0 # one.c:1:0
; X86: calll _g
-; X86: .cv_file 2 "D:\\two.c"
+; X86: .cv_file 2 "D:\\two.c" "70B51F534D80639D033AE92C6A856AF6" 1
; X86: .cv_loc 0 2 2 0 # two.c:2:0
; X86: calll _g
; X86: .cv_loc 0 1 7 0 # one.c:7:0
@@ -51,6 +51,22 @@
; OBJ32-NEXT: ProcEnd {
; OBJ32: }
; OBJ32-NEXT: ]
+; OBJ32: Subsection [
+; OBJ32: SubSectionType: FileChecksums (0xF4)
+; OBJ32-NEXT: SubSectionSize: 0x30
+; OBJ32-NEXT: FileChecksum {
+; OBJ32-NEXT: Filename: D:\one.c (0x1)
+; OBJ32-NEXT: ChecksumSize: 0x10
+; OBJ32-NEXT: ChecksumKind: MD5 (0x1)
+; OBJ32-NEXT: ChecksumBytes: (70 B5 1F 53 4D 80 63 9D 03 3A E9 2C 6A 85 6A F6)
+; OBJ32-NEXT: }
+; OBJ32-NEXT: FileChecksum {
+; OBJ32-NEXT: Filename: D:\two.c (0xA)
+; OBJ32-NEXT: ChecksumSize: 0x10
+; OBJ32-NEXT: ChecksumKind: MD5 (0x1)
+; OBJ32-NEXT: ChecksumBytes: (70 B5 1F 53 4D 80 63 9D 03 3A E9 2C 6A 85 6A F6)
+; OBJ32-NEXT: }
+; OBJ32-NEXT: ]
; OBJ32: FunctionLineTable [
; OBJ32-NEXT: Name: _f
; OBJ32-NEXT: Flags: 0x0
@@ -88,14 +104,14 @@
; X64-LABEL: f:
; X64-NEXT: .L{{.*}}:{{$}}
-; X64: .cv_file 1 "D:\\input.c"
+; X64: .cv_file 1 "D:\\input.c" "70B51F534D80639D033AE92C6A856AF6" 1
; X64: .cv_loc 0 1 3 0 is_stmt 0 # input.c:3:0
; X64: # BB
; X64: subq $40, %rsp
-; X64: .cv_file 2 "D:\\one.c"
+; X64: .cv_file 2 "D:\\one.c" "70B51F534D80639D033AE92C6A856AF6" 1
; X64: .cv_loc 0 2 1 0 # one.c:1:0
; X64: callq g
-; X64: .cv_file 3 "D:\\two.c"
+; X64: .cv_file 3 "D:\\two.c" "70B51F534D80639D033AE92C6A856AF6" 1
; X64: .cv_loc 0 3 2 0 # two.c:2:0
; X64: callq g
; X64: .cv_loc 0 2 7 0 # one.c:7:0
@@ -123,6 +139,28 @@
; OBJ64-NEXT: ProcEnd {
; OBJ64: }
; OBJ64-NEXT: ]
+; OBJ64: Subsection [
+; OBJ64: SubSectionType: FileChecksums (0xF4)
+; OBJ64-NEXT: SubSectionSize: 0x48
+; OBJ64-NEXT: FileChecksum {
+; OBJ64-NEXT: Filename: D:\input.c (0x1)
+; OBJ64-NEXT: ChecksumSize: 0x10
+; OBJ64-NEXT: ChecksumKind: MD5 (0x1)
+; OBJ64-NEXT: ChecksumBytes: (70 B5 1F 53 4D 80 63 9D 03 3A E9 2C 6A 85 6A F6)
+; OBJ64-NEXT: }
+; OBJ64-NEXT: FileChecksum {
+; OBJ64-NEXT: Filename: D:\one.c (0xC)
+; OBJ64-NEXT: ChecksumSize: 0x10
+; OBJ64-NEXT: ChecksumKind: MD5 (0x1)
+; OBJ64-NEXT: ChecksumBytes: (70 B5 1F 53 4D 80 63 9D 03 3A E9 2C 6A 85 6A F6)
+; OBJ64-NEXT: }
+; OBJ64-NEXT: FileChecksum {
+; OBJ64-NEXT: Filename: D:\two.c (0x15)
+; OBJ64-NEXT: ChecksumSize: 0x10
+; OBJ64-NEXT: ChecksumKind: MD5 (0x1)
+; OBJ64-NEXT: ChecksumBytes: (70 B5 1F 53 4D 80 63 9D 03 3A E9 2C 6A 85 6A F6)
+; OBJ64-NEXT: }
+; OBJ64-NEXT: ]
; OBJ64: FunctionLineTable [
; OBJ64-NEXT: Name: f
; OBJ64-NEXT: Flags: 0x0
@@ -185,11 +223,11 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "
!llvm.ident = !{!11}
!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 ", isOptimized: false, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !2, imports: !2)
-!1 = !DIFile(filename: "<unknown>", directory: "D:\5C")
+!1 = !DIFile(filename: "<unknown>", directory: "D:\5C", checksumkind: CSK_MD5, checksum:"70b51f534d80639d033ae92c6a856af6")
!2 = !{}
!4 = distinct !DISubprogram(name: "f", line: 3, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 3, file: !5, scope: !6, type: !7, variables: !2)
-!5 = !DIFile(filename: "input.c", directory: "D:\5C")
-!6 = !DIFile(filename: "input.c", directory: "D:C")
+!5 = !DIFile(filename: "input.c", directory: "D:\5C", checksumkind: CSK_MD5, checksum:"70b51f534d80639d033ae92c6a856af6")
+!6 = !DIFile(filename: "input.c", directory: "D:C", checksumkind: CSK_MD5, checksum:"70b51f534d80639d033ae92c6a856af6")
!7 = !DISubroutineType(types: !8)
!8 = !{null}
!9 = !{i32 2, !"CodeView", i32 1}
@@ -197,9 +235,9 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "
!11 = !{!"clang version 3.5 "}
!12 = !DILocation(line: 1, scope: !13)
!13 = !DILexicalBlockFile(discriminator: 0, file: !14, scope: !4)
-!14 = !DIFile(filename: "one.c", directory: "D:\5C")
+!14 = !DIFile(filename: "one.c", directory: "D:\5C", checksumkind: CSK_MD5, checksum:"70b51f534d80639d033ae92c6a856af6")
!15 = !DILocation(line: 2, scope: !16)
!16 = !DILexicalBlockFile(discriminator: 0, file: !17, scope: !4)
-!17 = !DIFile(filename: "two.c", directory: "D:\5C")
+!17 = !DIFile(filename: "two.c", directory: "D:\5C", checksumkind: CSK_MD5, checksum:"70b51f534d80639d033ae92c6a856af6")
!18 = !DILocation(line: 7, scope: !13)
!19 = !DILocation(line: 8, scope: !13)
diff --git a/llvm/test/DebugInfo/COFF/simple.ll b/llvm/test/DebugInfo/COFF/simple.ll
index 50d121be694..71733d1844b 100644
--- a/llvm/test/DebugInfo/COFF/simple.ll
+++ b/llvm/test/DebugInfo/COFF/simple.ll
@@ -17,7 +17,7 @@
; X86-LABEL: _f:
; X86: # BB
-; X86: .cv_file 1 "D:\\test.c"
+; X86: .cv_file 1 "D:\\test.c" "F310AB26998CA831CBDF169E4EECACFA" 1
; X86: .cv_loc 0 1 4 2 is_stmt 0 # test.c:4:2
; X86: calll _g
; X86: .cv_loc 0 1 5 0 # test.c:5:0
@@ -85,6 +85,16 @@
; OBJ32-NEXT: ProcEnd {
; OBJ32: }
; OBJ32-NEXT: ]
+; OBJ32: Subsection [
+; OBJ32: SubSectionType: FileChecksums (0xF4)
+; OBJ32-NEXT: SubSectionSize: 0x18
+; OBJ32-NEXT: FileChecksum {
+; OBJ32-NEXT: Filename: D:\test.c (0x1)
+; OBJ32-NEXT: ChecksumSize: 0x10
+; OBJ32-NEXT: ChecksumKind: MD5 (0x1)
+; OBJ32-NEXT: ChecksumBytes: (F3 10 AB 26 99 8C A8 31 CB DF 16 9E 4E EC AC FA)
+; OBJ32-NEXT: }
+; OBJ32-NEXT: ]
; OBJ32: FunctionLineTable [
; OBJ32-NEXT: Name: _f
; OBJ32-NEXT: Flags: 0x1
@@ -110,7 +120,7 @@
; X64-LABEL: f:
; X64-NEXT: .L{{.*}}:{{$}}
-; X64: .cv_file 1 "D:\\test.c"
+; X64: .cv_file 1 "D:\\test.c" "F310AB26998CA831CBDF169E4EECACFA" 1
; X64: .cv_loc 0 1 3 0 is_stmt 0 # test.c:3:0
; X64: # BB
; X64: subq $40, %rsp
@@ -182,6 +192,16 @@
; OBJ64-NEXT: ProcEnd {
; OBJ64: }
; OBJ64-NEXT: ]
+; OBJ64: Subsection [
+; OBJ64: SubSectionType: FileChecksums (0xF4)
+; OBJ64-NEXT: SubSectionSize: 0x18
+; OBJ64-NEXT: FileChecksum {
+; OBJ64-NEXT: Filename: D:\test.c (0x1)
+; OBJ64-NEXT: ChecksumSize: 0x10
+; OBJ64-NEXT: ChecksumKind: MD5 (0x1)
+; OBJ64-NEXT: ChecksumBytes: (F3 10 AB 26 99 8C A8 31 CB DF 16 9E 4E EC AC FA)
+; OBJ64-NEXT: }
+; OBJ64-NEXT: ]
; OBJ64: FunctionLineTable [
; OBJ64-NEXT: Name: f
; OBJ64-NEXT: Flags: 0x1
@@ -232,8 +252,8 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "
!1 = !DIFile(filename: "<unknown>", directory: "D:\5C")
!2 = !{}
!4 = distinct !DISubprogram(name: "f", line: 3, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 3, file: !5, scope: !6, type: !7, variables: !2)
-!5 = !DIFile(filename: "test.c", directory: "D:\5C")
-!6 = !DIFile(filename: "test.c", directory: "D:C")
+!5 = !DIFile(filename: "test.c", directory: "D:\5C", checksumkind: CSK_MD5, checksum: "f310ab26998ca831cbdf169e4eecacfa")
+!6 = !DIFile(filename: "test.c", directory: "D:C", checksumkind: CSK_MD5, checksum: "f310ab26998ca831cbdf169e4eecacfa")
!7 = !DISubroutineType(types: !8)
!8 = !{null}
!9 = !{i32 2, !"CodeView", i32 1}
OpenPOWER on IntegriCloud