1 // 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
3 // Test combinations of options to the
.file directive.
5 .file 1 "dir1/foo" md5 0xee87e05688663173cd6043a3a15bba6e source "void foo() {}"
6 .file 2 "dir2/bar" source "void bar() {}" md5 0x816225a0c90ca8948b70eb58be4d522f
12 # CHECK: debug_line[0x00000000]
14 # CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = "{{.+}}"
15 # CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
16 # CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
17 # CHECK-NOT: include_directories
18 # CHECK: file_names[ 0]:
19 # CHECK-NEXT: name: .debug_line_str[0x[[FILE0:[0-9a-f]+]]] = "foo"
20 # CHECK-NEXT: dir_index: 1
21 # CHECK-NEXT: md5_checksum:
22 # CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC:[0-9a-f]+]]] = "void foo() {}"
23 # CHECK: file_names[ 1]:
24 # CHECK-NEXT: name: .debug_line_str[0x[[FILE0]]] = "foo"
25 # CHECK-NEXT: dir_index: 1
26 # CHECK-NEXT: md5_checksum: ee87e05688663173cd6043a3a15bba6e
27 # CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC]]] = "void foo() {}"
28 # CHECK: file_names[ 2]:
29 # CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
30 # CHECK-NEXT: dir_index: 2
31 # CHECK-NEXT: md5_checksum: 816225a0c90ca8948b70eb58be4d522f
32 # CHECK-NEXT: source: .debug_line_str[0x[[FILE2SRC:[0-9a-f]+]]] = "void bar() {}"
34 # CHECK: .debug_line_str contents:
35 # CHECK-NEXT: 0x[[DIR0]]: "{{.+}}"
36 # CHECK-NEXT: 0x[[DIR1]]: "dir1"
37 # CHECK-NEXT: 0x[[DIR2]]: "dir2"
38 # CHECK-NEXT: 0x[[FILE0]]: "foo"
39 # CHECK-NEXT: 0x[[FILE0SRC]]: "void foo() {}"
40 # CHECK-NEXT: 0x[[FILE2]]: "bar"
41 # CHECK-NEXT: 0x[[FILE2SRC]]: "void bar() {}"