diff options
Diffstat (limited to 'alpha/include/ape/stdarg.h')
-rw-r--r-- | alpha/include/ape/stdarg.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/alpha/include/ape/stdarg.h b/alpha/include/ape/stdarg.h new file mode 100644 index 000000000..f4ff6c734 --- /dev/null +++ b/alpha/include/ape/stdarg.h @@ -0,0 +1,17 @@ +#ifndef __STDARG +#define __STDARG + +typedef char *va_list; + +#define va_start(list, start) list = (char *)(&(start)+1) +#define va_end(list) +#define va_arg(list, mode)\ + (sizeof(mode)==1?\ + ((mode*)(list += 4))[-1]:\ + sizeof(mode)==2?\ + ((mode*)(list += 4))[-1]:\ + sizeof(mode)>4?\ + ((mode*)(list = (char*)((long)(list+7) & ~7) + sizeof(mode)))[-1]:\ + ((mode*)(list += sizeof(mode)))[-1]) + +#endif /* __STDARG */ |