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