xref: /llvm-project/cross-project-tests/debuginfo-tests/llgdb-tests/apple-accel.cpp (revision 1364750dadbb56032ef73b4d0d8cbc88a51392da)
1 // REQUIRES: system-darwin
2 // Test that clang produces the __apple accelerator tables,
3 // e.g., __apple_types, correctly.
4 // These sections are going to be retired in DWARF 5, so we hardcode
5 // the DWARF version in the tests.
6 // RUN: %clang %s %target_itanium_abi_host_triple -gdwarf-2 -O0 -c -g -o %t-ex
7 // RUN: llvm-objdump --section-headers %t-ex | FileCheck %s
8 // RUN: %clang %s %target_itanium_abi_host_triple -gdwarf-4 -O0 -c -g -o %t-ex
9 // RUN: llvm-objdump --section-headers %t-ex | FileCheck %s
10 
11 // A function in a different section forces the compiler to create the
12 // __debug_ranges section.
foo()13 __attribute__((section("1,__text_foo"))) void foo() {}
main(int argc,char const * argv[])14 int main (int argc, char const *argv[]) { return argc; }
15 
16 // CHECK-DAG: __debug_abbrev
17 // CHECK-DAG: __debug_info
18 // CHECK-DAG: __debug_str
19 // CHECK-DAG: __debug_ranges
20 // CHECK-DAG: __apple_names
21 // CHECK-DAG: __apple_objc
22 // CHECK-DAG: __apple_namespac
23 // CHECK-DAG: __apple_types
24