aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp13
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.obin0 -> 2604 bytes
-rw-r--r--test/DebugInfo/dwarfdump-debug-loc-simple.test26
3 files changed, 39 insertions, 0 deletions
diff --git a/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp
new file mode 100644
index 0000000000..04a0b20cc2
--- /dev/null
+++ b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.cpp
@@ -0,0 +1,13 @@
+// clang -c -g -o dwarfdump-test-loc-list-32bit.elf.o -m32 dwarfdump-test-loc-list-32bit.elf.cpp
+
+namespace pr14763 {
+struct foo {
+ foo(const foo&);
+};
+
+foo func(bool b, foo f, foo g) {
+ if (b)
+ return f;
+ return g;
+}
+}
diff --git a/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.o b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.o
new file mode 100644
index 0000000000..25d10b9809
--- /dev/null
+++ b/test/DebugInfo/Inputs/dwarfdump-test-loc-list-32bit.elf.o
Binary files differ
diff --git a/test/DebugInfo/dwarfdump-debug-loc-simple.test b/test/DebugInfo/dwarfdump-debug-loc-simple.test
new file mode 100644
index 0000000000..f38be6dc8f
--- /dev/null
+++ b/test/DebugInfo/dwarfdump-debug-loc-simple.test
@@ -0,0 +1,26 @@
+RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-loc-list-32bit.elf.o | FileCheck %s
+Note: the input file was generated from Inputs/dwarfdump-test-loc-list-32bit.elf.cpp
+
+CHECK: .debug_info
+CHECK: DW_AT_name{{.*}}"f"
+CHECK: DW_AT_location{{.*}}([[F_LOC:0x[0-9a-f]*]])
+CHECK: DW_AT_name{{.*}}"g"
+CHECK: DW_AT_location{{.*}}([[G_LOC:0x[0-9a-f]*]])
+CHECK: .debug_loc contents:
+CHECK-NEXT: [[F_LOC]]: Begining address offset: 0x0000000000000000
+CHECK-NEXT: Ending address offset: 0x0000000000000023
+this is actually the wrong location due to PR14763, but that doesn't matter for
+the purposes of testing dwarfdump
+CHECK-NEXT: Location description: 51
+CHECK-NEXT: {{^$}}
+CHECK-NEXT: Begining address offset: 0x0000000000000023
+CHECK-NEXT: Ending address offset: 0x000000000000005d
+CHECK-NEXT: Location description: 75 70
+CHECK-NEXT: {{^$}}
+CHECK-NEXT: [[G_LOC]]: Begining address offset: 0x0000000000000000
+CHECK-NEXT: Ending address offset: 0x0000000000000020
+CHECK-NEXT: Location description: 50
+CHECK-NEXT: {{^$}}
+CHECK-NEXT: Begining address offset: 0x0000000000000020
+CHECK-NEXT: Ending address offset: 0x000000000000005d
+CHECK-NEXT: Location description: 75 74