1 /*-----------------------------------------------------------------------------------*/
2 /* stdarg.h - ANSI macros for variable parameter list */
3 /*-----------------------------------------------------------------------------------*/
5 #ifndef __SDC51_STDARG_H
6 #define __SDC51_STDARG_H 1
8 #if defined(SDCC_STACK_TENBIT)
12 typedef unsigned char _xdata * va_list ;
13 #define va_arg(marker,type) *((type _xdata * )(marker -= sizeof(type)))
14 #define va_start(marker,first) { marker = (va_list) ((char _xdata * )&first) ; }
16 #elif defined(SDCC_USE_XSTACK)
18 typedef unsigned char _pdata * va_list ;
19 #define va_arg(marker,type) *((type _data * )(marker -= sizeof(type)))
20 #define va_start(marker,first) { marker = (va_list) ((char _pdata * )&first) ; }
24 typedef unsigned char _data * va_list ;
25 #define va_arg(marker,type) *((type _data * )(marker -= sizeof(type)))
26 #define va_start(marker,first) { marker = (va_list) ((char _data * )&first) ; }
30 #define va_end(marker) marker = (va_list) 0;