llvm/clang/test/PCH/va_arg.h
Charles Davis c7d5c94f78 Support __builtin_ms_va_list.
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
2015-09-17 20:55:33 +00:00

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