c7d5c94f78
Summary: This change adds support for `__builtin_ms_va_list`, a GCC extension for variadic `ms_abi` functions. The existing `__builtin_va_list` support is inadequate for this because `va_list` is defined differently in the Win64 ABI vs. the System V/AMD64 ABI. Depends on D1622. Reviewers: rsmith, rnk, rjmccall CC: cfe-commits Differential Revision: http://reviews.llvm.org/D1623 llvm-svn: 247941
16 lines
381 B
C
16 lines
381 B
C
// Header for PCH test va_arg.c
|
|
|
|
typedef __builtin_va_list va_list;
|
|
char *f (char * (*g) (char **, int), char **p, ...) {
|
|
char *s;
|
|
va_list v;
|
|
s = g (p, __builtin_va_arg(v, int));
|
|
}
|
|
|
|
typedef __builtin_ms_va_list __ms_va_list;
|
|
char *__attribute__((ms_abi)) h(char *(*i)(char **, int), char **p, ...) {
|
|
char *s;
|
|
__ms_va_list v;
|
|
s = i(p, __builtin_va_arg(v, int));
|
|
}
|