diff options
Diffstat (limited to 'llvm/test/DebugInfo/COFF')
-rw-r--r-- | llvm/test/DebugInfo/COFF/inlining.ll | 6 | ||||
-rw-r--r-- | llvm/test/DebugInfo/COFF/multifile.ll | 58 | ||||
-rw-r--r-- | llvm/test/DebugInfo/COFF/simple.ll | 28 |
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} |