blob: 1cf39c7a9d2bf4b8edc3e7496d872c88a1e2c2b4 [file] [log] [blame]
Paul Robinson732e4432018-03-06 03:15:21 +00001// RUN: llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=obj %s -o -| llvm-dwarfdump --debug-line --debug-line-str -v - | FileCheck %s
Scott Linderc16b9752018-02-23 23:13:18 +00002
3 .file 1 "dir1/foo" source "void foo() {}"
4 .file 2 "dir2" "bar" source "void bar()\n{\n}"
5 .loc 1 1 0
6 nop
7 .loc 2 1 0
8 nop
9
10# CHECK: debug_line[0x00000000]
11# CHECK: version: 5
Paul Robinson4428e902018-03-06 22:37:45 +000012# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = "{{.+}}"
Scott Linderc16b9752018-02-23 23:13:18 +000013# CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
14# CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
15# CHECK-NOT: include_directories
16# CHECK: file_names[ 0]:
Paul Robinson4428e902018-03-06 22:37:45 +000017# CHECK-NEXT: name: .debug_line_str[0x[[FILE0:[0-9a-f]+]]] = "{{.+}}"
18# CHECK-NEXT: dir_index: 0
19# CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC:[0-9a-f]+]]] = ""
20# CHECK: file_names[ 1]:
Scott Linderc16b9752018-02-23 23:13:18 +000021# CHECK-NEXT: name: .debug_line_str[0x[[FILE1:[0-9a-f]+]]] = "foo"
22# CHECK-NEXT: dir_index: 1
23# CHECK-NEXT: source: .debug_line_str[0x[[FILE1SRC:[0-9a-f]+]]] = "void foo() {}"
Paul Robinson4428e902018-03-06 22:37:45 +000024# CHECK: file_names[ 2]:
Scott Linderc16b9752018-02-23 23:13:18 +000025# CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
26# CHECK-NEXT: dir_index: 2
27# CHECK-NEXT: source: .debug_line_str[0x[[FILE2SRC:[0-9a-f]+]]] = "void bar()\n{\n}"
28
29# CHECK: .debug_line_str contents:
Paul Robinson4428e902018-03-06 22:37:45 +000030# CHECK-NEXT: 0x[[DIR0]]: "{{.+}}"
Scott Linderc16b9752018-02-23 23:13:18 +000031# CHECK-NEXT: 0x[[DIR1]]: "dir1"
32# CHECK-NEXT: 0x[[DIR2]]: "dir2"
Paul Robinson4428e902018-03-06 22:37:45 +000033# CHECK-NEXT: 0x[[FILE0]]: "{{.+}}"
34# CHECK-NEXT: 0x[[FILE0SRC]]: ""
Scott Linderc16b9752018-02-23 23:13:18 +000035# CHECK-NEXT: 0x[[FILE1]]: "foo"
36# CHECK-NEXT: 0x[[FILE1SRC]]: "void foo() {}"
37# CHECK-NEXT: 0x[[FILE2]]: "bar"
38# CHECK-NEXT: 0x[[FILE2SRC]]: "void bar()\n{\n}"