1 // RUN: %clang_cc1 %s -emit-llvm -debug-info-kind=limited -o /dev/null 2 3 typedef long unsigned int size_t; 4 typedef unsigned short int uint16_t; 5 typedef unsigned int uint32_t; 6 typedef unsigned long int uint64_t; 7 typedef uint16_t Elf64_Half; 8 typedef uint32_t Elf64_Word; 9 typedef uint64_t Elf64_Xword; 10 typedef uint64_t Elf64_Addr; 11 typedef uint64_t Elf64_Off; 12 typedef struct 13 { 14 Elf64_Word p_type; 15 Elf64_Off p_offset; 16 Elf64_Addr p_vaddr; 17 Elf64_Xword p_align; 18 } 19 Elf64_Phdr; 20 struct dl_phdr_info 21 { 22 const char *dlpi_name; 23 const Elf64_Phdr *dlpi_phdr; 24 Elf64_Half dlpi_phnum; 25 unsigned long long int dlpi_adds; 26 }; 27 typedef unsigned _Unwind_Ptr; 28 struct object 29 { 30 union 31 { 32 const struct dwarf_fde *single; 33 struct dwarf_fde **array; 34 struct fde_vector *sort; 35 } 36 u; 37 union 38 { 39 struct 40 { 41 } 42 b; 43 } 44 s; 45 struct object *next; 46 }; 47 typedef int sword; 48 typedef unsigned int uword; 49 struct dwarf_fde 50 { 51 uword length; 52 sword CIE_delta; 53 unsigned char pc_begin[]; 54 }; 55 typedef struct dwarf_fde fde; 56 struct unw_eh_callback_data 57 { 58 const fde *ret; 59 struct frame_hdr_cache_element *link; 60 } 61 frame_hdr_cache[8]; 62 63 _Unwind_Ptr base_from_cb_data(struct unw_eh_callback_data * data)64base_from_cb_data (struct unw_eh_callback_data *data) 65 { 66 } 67 68 void _Unwind_IteratePhdrCallback(struct dl_phdr_info * info,size_t size,void * ptr)69_Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) 70 { 71 const unsigned char *p; 72 const struct unw_eh_frame_hdr *hdr; 73 struct object ob; 74 } 75