| // 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; |
| } |