| Paul Robinson | 732e443 | 2018-03-06 03:15:21 +0000 | [diff] [blame] | 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 |
| Scott Linder | c16b975 | 2018-02-23 23:13:18 +0000 | [diff] [blame] | 2 | |
| 3 | // Test combinations of options to the .file directive. |
| 4 | |
| Paul Robinson | 0195469 | 2018-04-11 15:14:05 +0000 | [diff] [blame] | 5 | .file 1 "dir1/foo" md5 0xee87e05688663173cd6043a3a15bba6e source "void foo() {}" |
| 6 | .file 2 "dir2/bar" source "void bar() {}" md5 0x816225a0c90ca8948b70eb58be4d522f |
| Scott Linder | c16b975 | 2018-02-23 23:13:18 +0000 | [diff] [blame] | 7 | .loc 1 1 0 |
| 8 | nop |
| 9 | .loc 2 1 0 |
| 10 | nop |
| 11 | |
| 12 | # CHECK: debug_line[0x00000000] |
| 13 | # CHECK: version: 5 |
| Paul Robinson | b271f31 | 2018-03-29 17:16:41 +0000 | [diff] [blame] | 14 | # CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = "{{.+}}" |
| Scott Linder | c16b975 | 2018-02-23 23:13:18 +0000 | [diff] [blame] | 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]: |
| Paul Robinson | f69316c | 2018-06-12 16:09:03 +0000 | [diff] [blame] | 19 | # CHECK-NEXT: name: .debug_line_str[0x[[FILE0:[0-9a-f]+]]] = "foo" |
| 20 | # CHECK-NEXT: dir_index: 1 |
| Paul Robinson | b271f31 | 2018-03-29 17:16:41 +0000 | [diff] [blame] | 21 | # CHECK-NEXT: md5_checksum: |
| Paul Robinson | f69316c | 2018-06-12 16:09:03 +0000 | [diff] [blame] | 22 | # CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC:[0-9a-f]+]]] = "void foo() {}" |
| Paul Robinson | b271f31 | 2018-03-29 17:16:41 +0000 | [diff] [blame] | 23 | # CHECK: file_names[ 1]: |
| Paul Robinson | f69316c | 2018-06-12 16:09:03 +0000 | [diff] [blame] | 24 | # CHECK-NEXT: name: .debug_line_str[0x[[FILE0]]] = "foo" |
| Scott Linder | c16b975 | 2018-02-23 23:13:18 +0000 | [diff] [blame] | 25 | # CHECK-NEXT: dir_index: 1 |
| 26 | # CHECK-NEXT: md5_checksum: ee87e05688663173cd6043a3a15bba6e |
| Paul Robinson | f69316c | 2018-06-12 16:09:03 +0000 | [diff] [blame] | 27 | # CHECK-NEXT: source: .debug_line_str[0x[[FILE0SRC]]] = "void foo() {}" |
| Paul Robinson | b271f31 | 2018-03-29 17:16:41 +0000 | [diff] [blame] | 28 | # CHECK: file_names[ 2]: |
| Scott Linder | c16b975 | 2018-02-23 23:13:18 +0000 | [diff] [blame] | 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() {}" |
| 33 | |
| 34 | # CHECK: .debug_line_str contents: |
| Paul Robinson | b271f31 | 2018-03-29 17:16:41 +0000 | [diff] [blame] | 35 | # CHECK-NEXT: 0x[[DIR0]]: "{{.+}}" |
| Scott Linder | c16b975 | 2018-02-23 23:13:18 +0000 | [diff] [blame] | 36 | # CHECK-NEXT: 0x[[DIR1]]: "dir1" |
| 37 | # CHECK-NEXT: 0x[[DIR2]]: "dir2" |
| Paul Robinson | f69316c | 2018-06-12 16:09:03 +0000 | [diff] [blame] | 38 | # CHECK-NEXT: 0x[[FILE0]]: "foo" |
| 39 | # CHECK-NEXT: 0x[[FILE0SRC]]: "void foo() {}" |
| Scott Linder | c16b975 | 2018-02-23 23:13:18 +0000 | [diff] [blame] | 40 | # CHECK-NEXT: 0x[[FILE2]]: "bar" |
| 41 | # CHECK-NEXT: 0x[[FILE2SRC]]: "void bar() {}" |