diff options
Diffstat (limited to 'debuginfo-tests/llgdb-tests/apple-accel.cpp')
-rw-r--r-- | debuginfo-tests/llgdb-tests/apple-accel.cpp | 24 |
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 |