X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Finclude%2Fstdarg.h;h=7f77256c337d08408ab33c795d204c13387760d5;hb=0694926e60ec83b31f87590e601f7e0d8f86c512;hp=49e3a7221c0008edd8ad931df44465db9ab176d8;hpb=f512b1bc2b537cd915ce4c895a88abccb231f08f;p=fw%2Fsdcc diff --git a/device/include/stdarg.h b/device/include/stdarg.h index 49e3a722..7f77256c 100644 --- a/device/include/stdarg.h +++ b/device/include/stdarg.h @@ -5,7 +5,13 @@ #ifndef __SDC51_STDARG_H #define __SDC51_STDARG_H 1 -#if defined(__ds390) +#if defined(__z80) || defined(__gbz80) || defined(__hc08) + +typedef unsigned char * va_list; +#define va_start(list, last) list = (unsigned char *)&last + sizeof(last) +#define va_arg(list, type) *((type *)((list += sizeof(type)) - sizeof(type))) + +#elif defined(__ds390) || defined(__ds400) typedef unsigned char * va_list ; #define va_arg(marker,type) *((type *)(marker -= sizeof(type))) @@ -13,15 +19,15 @@ typedef unsigned char * va_list ; #elif defined(SDCC_USE_XSTACK) -typedef unsigned char _pdata * va_list ; -#define va_arg(marker,type) *((type _data *)(marker -= sizeof(type))) -#define va_start(marker,first) { marker = (va_list)((char _pdata *)&first); } +typedef unsigned char pdata * va_list ; +#define va_arg(marker,type) *((type data *)(marker -= sizeof(type))) +#define va_start(marker,first) { marker = (va_list)((char pdata *)&first); } #else -typedef unsigned char _data * va_list ; -#define va_arg(marker,type) *((type _data * )(marker -= sizeof(type))) -#define va_start(marker,first) { marker = (va_list) ((char _data * )&first); } +typedef unsigned char data * va_list ; +#define va_arg(marker,type) *((type data * )(marker -= sizeof(type))) +#define va_start(marker,first) { marker = (va_list) ((char data * )&first); } #endif