llvm-project/clang/test/CodeGen/2009-01-21-InvalidIterator.c
Douglas Katzman 3459ce2e5e Stop messing with the 'g' group of options in CompilerInvocation.
With this change, most 'g' options are rejected by CompilerInvocation.
They remain only as Driver options. The new way to request debug info
from cc1 is with "-debug-info-kind={line-tables-only|limited|standalone}"
and "-dwarf-version={2|3|4}". In the absence of a command-line option
to specify Dwarf version, the Toolchain decides it, rather than placing
Toolchain-specific logic in CompilerInvocation.

Also fix a bug in the Windows compatibility argument parsing
in which the "rightmost argument wins" principle failed.

Differential Revision: http://reviews.llvm.org/D13221

llvm-svn: 249655
2015-10-08 04:24:12 +00:00

75 lines
1.3 KiB
C

// RUN: %clang_cc1 %s -emit-llvm -debug-info-kind=limited -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;
}