blob: f879db12f0f6a7fe87d40b50bc4b6854b780dff6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#ifndef __DUCC_BUILTIN___STDARG_H__
#define __DUCC_BUILTIN___STDARG_H__
// System V Application Binary Interface
// AMD64 Architecture Processor Supplement
// (With LP64 and ILP32 Programming Models)
// Version 1.0
// Figure 3.34: va_list Type Declaration
struct __ducc_va_list {
unsigned int gp_offset;
unsigned int fp_offset;
void* overflow_arg_area;
void* reg_save_area;
};
typedef struct __ducc_va_list va_list[1];
#define va_start(args, start) __ducc_va_start(args, start)
#define va_end(args)
#define va_arg(args, T) (*(T*)__ducc_va_arg(args, sizeof(T)))
// For glibc:
typedef va_list __gnuc_va_list;
#endif
|