|  | // RUN: %clang_cc1 %s -emit-llvm -g -o /dev/null | 
|  |  | 
|  | typedef long unsigned int size_t; | 
|  | typedef unsigned short int uint16_t; | 
|  | typedef unsigned int uint32_t; | 
|  | typedef unsigned long int uint64_t; | 
|  | typedef uint16_t Elf64_Half; | 
|  | typedef uint32_t Elf64_Word; | 
|  | typedef uint64_t Elf64_Xword; | 
|  | typedef uint64_t Elf64_Addr; | 
|  | typedef uint64_t Elf64_Off; | 
|  | typedef struct | 
|  | { | 
|  | Elf64_Word p_type; | 
|  | Elf64_Off p_offset; | 
|  | Elf64_Addr p_vaddr; | 
|  | Elf64_Xword p_align; | 
|  | } | 
|  | Elf64_Phdr; | 
|  | struct dl_phdr_info | 
|  | { | 
|  | const char *dlpi_name; | 
|  | const Elf64_Phdr *dlpi_phdr; | 
|  | Elf64_Half dlpi_phnum; | 
|  | unsigned long long int dlpi_adds; | 
|  | }; | 
|  | typedef unsigned _Unwind_Ptr; | 
|  | struct object | 
|  | { | 
|  | union | 
|  | { | 
|  | const struct dwarf_fde *single; | 
|  | struct dwarf_fde **array; | 
|  | struct fde_vector *sort; | 
|  | } | 
|  | u; | 
|  | union | 
|  | { | 
|  | struct | 
|  | { | 
|  | } | 
|  | b; | 
|  | } | 
|  | s; | 
|  | struct object *next; | 
|  | }; | 
|  | typedef int sword; | 
|  | typedef unsigned int uword; | 
|  | struct dwarf_fde | 
|  | { | 
|  | uword length; | 
|  | sword CIE_delta; | 
|  | unsigned char pc_begin[]; | 
|  | }; | 
|  | typedef struct dwarf_fde fde; | 
|  | struct unw_eh_callback_data | 
|  | { | 
|  | const fde *ret; | 
|  | struct frame_hdr_cache_element *link; | 
|  | } | 
|  | frame_hdr_cache[8]; | 
|  |  | 
|  | _Unwind_Ptr | 
|  | base_from_cb_data (struct unw_eh_callback_data *data) | 
|  | { | 
|  | } | 
|  |  | 
|  | void | 
|  | _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) | 
|  | { | 
|  | const unsigned char *p; | 
|  | const struct unw_eh_frame_hdr *hdr; | 
|  | struct object ob; | 
|  | } |