summaryrefslogtreecommitdiffstats
path: root/debuginfo-tests/llgdb-tests/apple-accel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debuginfo-tests/llgdb-tests/apple-accel.cpp')
-rw-r--r--debuginfo-tests/llgdb-tests/apple-accel.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/debuginfo-tests/llgdb-tests/apple-accel.cpp b/debuginfo-tests/llgdb-tests/apple-accel.cpp
new file mode 100644
index 00000000000..4a73afe8011
--- /dev/null
+++ b/debuginfo-tests/llgdb-tests/apple-accel.cpp
@@ -0,0 +1,24 @@
+// REQUIRES: system-darwin
+// Test that clang produces the __apple accelerator tables,
+// e.g., __apple_types, correctly.
+// These sections are going to be retired in DWARF 5, so we hardcode
+// the DWARF version in the tests.
+// RUN: %clang %s %target_itanium_abi_host_triple -gdwarf-2 -O0 -c -g -o %t-ex
+// RUN: llvm-objdump -section-headers %t-ex | FileCheck %s
+// RUN: %clang %s %target_itanium_abi_host_triple -gdwarf-4 -O0 -c -g -o %t-ex
+// RUN: llvm-objdump -section-headers %t-ex | FileCheck %s
+
+// A function in a different section forces the compiler to create the
+// __debug_ranges section.
+__attribute__((section("1,__text_foo"))) void foo() {}
+int main (int argc, char const *argv[]) { return argc; }
+
+// CHECK: __debug_str
+// CHECK-NEXT: __debug_abbrev
+// CHECK-NEXT: __debug_info
+// CHECK-NEXT: __debug_ranges
+// CHECK-NEXT: __debug_macinfo
+// CHECK-NEXT: __apple_names
+// CHECK-NEXT: __apple_objc
+// CHECK-NEXT: __apple_namespac
+// CHECK-NEXT: __apple_types
OpenPOWER on IntegriCloud