summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC
diff options
context:
space:
mode:
authorScott Linder <scott@scottlinder.com>2018-02-23 23:13:18 +0000
committerScott Linder <scott@scottlinder.com>2018-02-23 23:13:18 +0000
commitc16b975ac8275d0503411b2a4bcb76112c19d046 (patch)
treeee440bdb0cd1c30384ea3fa06a06cdd89d76daee /llvm/test/MC
parentbcc82c9a78b1690af80836093aa32ab8470cc8f4 (diff)
downloadbcm5719-llvm-c16b975ac8275d0503411b2a4bcb76112c19d046.tar.gz
bcm5719-llvm-c16b975ac8275d0503411b2a4bcb76112c19d046.zip
[DebugInfo] Add remaining files to r325970
Add files which I missed in the original check-in llvm-svn: 325973
Diffstat (limited to 'llvm/test/MC')
-rw-r--r--llvm/test/MC/AsmParser/debug-empty-source.s7
-rw-r--r--llvm/test/MC/AsmParser/debug-no-source.s5
-rw-r--r--llvm/test/MC/ELF/debug-file-options.s36
-rw-r--r--llvm/test/MC/ELF/debug-source.s32
4 files changed, 80 insertions, 0 deletions
diff --git a/llvm/test/MC/AsmParser/debug-empty-source.s b/llvm/test/MC/AsmParser/debug-empty-source.s
new file mode 100644
index 00000000000..2f2039cfdae
--- /dev/null
+++ b/llvm/test/MC/AsmParser/debug-empty-source.s
@@ -0,0 +1,7 @@
+// RUN: llvm-mc %s -o -| FileCheck %s
+
+.file 1 "dir1" "foo" source ""
+.loc 1 1 0
+nop
+
+# CHECK: .file {{.*}} source ""
diff --git a/llvm/test/MC/AsmParser/debug-no-source.s b/llvm/test/MC/AsmParser/debug-no-source.s
new file mode 100644
index 00000000000..590feba8c76
--- /dev/null
+++ b/llvm/test/MC/AsmParser/debug-no-source.s
@@ -0,0 +1,5 @@
+// RUN: llvm-mc %s | FileCheck %s
+
+.file 1 "dir1/foo"
+
+# CHECK-NOT: .file {{.*}} source
diff --git a/llvm/test/MC/ELF/debug-file-options.s b/llvm/test/MC/ELF/debug-file-options.s
new file mode 100644
index 00000000000..3bcd131cc38
--- /dev/null
+++ b/llvm/test/MC/ELF/debug-file-options.s
@@ -0,0 +1,36 @@
+// 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
+
+// Test combinations of options to the .file directive.
+
+ .file 1 "dir1/foo" md5 "ee87e05688663173cd6043a3a15bba6e" source "void foo() {}"
+ .file 2 "dir2/bar" source "void bar() {}" md5 "816225a0c90ca8948b70eb58be4d522f"
+ .loc 1 1 0
+ nop
+ .loc 2 1 0
+ nop
+
+# CHECK: debug_line[0x00000000]
+# CHECK: version: 5
+# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = ""
+# CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
+# CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
+# CHECK-NOT: include_directories
+# CHECK: file_names[ 0]:
+# CHECK-NEXT: name: .debug_line_str[0x[[FILE1:[0-9a-f]+]]] = "foo"
+# CHECK-NEXT: dir_index: 1
+# CHECK-NEXT: md5_checksum: ee87e05688663173cd6043a3a15bba6e
+# CHECK-NEXT: source: .debug_line_str[0x[[FILE1SRC:[0-9a-f]+]]] = "void foo() {}"
+# CHECK: file_names[ 1]:
+# CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
+# CHECK-NEXT: dir_index: 2
+# CHECK-NEXT: md5_checksum: 816225a0c90ca8948b70eb58be4d522f
+# CHECK-NEXT: source: .debug_line_str[0x[[FILE2SRC:[0-9a-f]+]]] = "void bar() {}"
+
+# CHECK: .debug_line_str contents:
+# CHECK-NEXT: 0x[[DIR0]]: ""
+# CHECK-NEXT: 0x[[DIR1]]: "dir1"
+# CHECK-NEXT: 0x[[DIR2]]: "dir2"
+# CHECK-NEXT: 0x[[FILE1]]: "foo"
+# CHECK-NEXT: 0x[[FILE1SRC]]: "void foo() {}"
+# CHECK-NEXT: 0x[[FILE2]]: "bar"
+# CHECK-NEXT: 0x[[FILE2SRC]]: "void bar() {}"
diff --git a/llvm/test/MC/ELF/debug-source.s b/llvm/test/MC/ELF/debug-source.s
new file mode 100644
index 00000000000..0b919e15ddb
--- /dev/null
+++ b/llvm/test/MC/ELF/debug-source.s
@@ -0,0 +1,32 @@
+// 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
+
+ .file 1 "dir1/foo" source "void foo() {}"
+ .file 2 "dir2" "bar" source "void bar()\n{\n}"
+ .loc 1 1 0
+ nop
+ .loc 2 1 0
+ nop
+
+# CHECK: debug_line[0x00000000]
+# CHECK: version: 5
+# CHECK: include_directories[ 0] = .debug_line_str[0x[[DIR0:[0-9a-f]+]]] = ""
+# CHECK: include_directories[ 1] = .debug_line_str[0x[[DIR1:[0-9a-f]+]]] = "dir1"
+# CHECK: include_directories[ 2] = .debug_line_str[0x[[DIR2:[0-9a-f]+]]] = "dir2"
+# CHECK-NOT: include_directories
+# CHECK: file_names[ 0]:
+# CHECK-NEXT: name: .debug_line_str[0x[[FILE1:[0-9a-f]+]]] = "foo"
+# CHECK-NEXT: dir_index: 1
+# CHECK-NEXT: source: .debug_line_str[0x[[FILE1SRC:[0-9a-f]+]]] = "void foo() {}"
+# CHECK: file_names[ 1]:
+# CHECK-NEXT: name: .debug_line_str[0x[[FILE2:[0-9a-f]+]]] = "bar"
+# CHECK-NEXT: dir_index: 2
+# CHECK-NEXT: source: .debug_line_str[0x[[FILE2SRC:[0-9a-f]+]]] = "void bar()\n{\n}"
+
+# CHECK: .debug_line_str contents:
+# CHECK-NEXT: 0x[[DIR0]]: ""
+# CHECK-NEXT: 0x[[DIR1]]: "dir1"
+# CHECK-NEXT: 0x[[DIR2]]: "dir2"
+# CHECK-NEXT: 0x[[FILE1]]: "foo"
+# CHECK-NEXT: 0x[[FILE1SRC]]: "void foo() {}"
+# CHECK-NEXT: 0x[[FILE2]]: "bar"
+# CHECK-NEXT: 0x[[FILE2SRC]]: "void bar()\n{\n}"
OpenPOWER on IntegriCloud