1732e443bSPaul Robinson// 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
2c16b975aSScott Linder
3c16b975aSScott Linder        .file 1 "dir1/foo"   source "void foo() {}"
4c16b975aSScott Linder        .file 2 "dir2" "bar" source "void bar()\n{\n}"
5c16b975aSScott Linder        .loc 1 1 0
6c16b975aSScott Linder        nop
7c16b975aSScott Linder        .loc 2 1 0
8c16b975aSScott Linder        nop
9c16b975aSScott Linder
10c16b975aSScott Linder# CHECK: debug_line[0x00000000]
11c16b975aSScott Linder# CHECK: version: 5
12b271f31dSPaul Robinson# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = "{{.+}}"
13c16b975aSScott Linder# CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
14c16b975aSScott Linder# CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
15c16b975aSScott Linder# CHECK-NOT: include_directories
16c16b975aSScott Linder# CHECK: file_names[ 0]:
17*f69316c6SPaul Robinson# CHECK-NEXT: name: .debug_line_str[0x[[FILE0:[0-9a-f]+]]] = "foo"
18c16b975aSScott Linder# CHECK-NEXT: dir_index: 1
19*f69316c6SPaul Robinson# CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC:[0-9a-f]+]]] = "void foo() {}"
20*f69316c6SPaul Robinson# CHECK: file_names[ 1]:
21*f69316c6SPaul Robinson# CHECK-NEXT: name: .debug_line_str[0x[[FILE0]]] = "foo"
22*f69316c6SPaul Robinson# CHECK-NEXT: dir_index: 1
23*f69316c6SPaul Robinson# CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC]]] = "void foo() {}"
24b271f31dSPaul Robinson# CHECK: file_names[ 2]:
25c16b975aSScott Linder# CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
26c16b975aSScott Linder# CHECK-NEXT: dir_index: 2
27c16b975aSScott Linder# CHECK-NEXT: source: .debug_line_str[0x[[FILE2SRC:[0-9a-f]+]]] = "void bar()\n{\n}"
28c16b975aSScott Linder
29c16b975aSScott Linder# CHECK: .debug_line_str contents:
30b271f31dSPaul Robinson# CHECK-NEXT: 0x[[DIR0]]: "{{.+}}"
31c16b975aSScott Linder# CHECK-NEXT: 0x[[DIR1]]: "dir1"
32c16b975aSScott Linder# CHECK-NEXT: 0x[[DIR2]]: "dir2"
33*f69316c6SPaul Robinson# CHECK-NEXT: 0x[[FILE0]]: "foo"
34*f69316c6SPaul Robinson# CHECK-NEXT: 0x[[FILE0SRC]]: "void foo() {}"
35c16b975aSScott Linder# CHECK-NEXT: 0x[[FILE2]]: "bar"
36c16b975aSScott Linder# CHECK-NEXT: 0x[[FILE2SRC]]: "void bar()\n{\n}"
37