* Fixed va_args for the z80
[fw/sdcc] / device / include / stdarg.h
index c65176943fe605a6da60227f96f040dc94ae8435..f4ba9da49a57f92a5a53ce13ae1c259396bb7e2a 100644 (file)
@@ -5,7 +5,13 @@
 #ifndef __SDC51_STDARG_H
 #define __SDC51_STDARG_H 1
 
-#if defined(__ds390) || defined(__z80) || defined(__gbz80)
+#if defined(__z80) || defined(__gbz80)
+
+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)
 
 typedef        unsigned char * va_list ;
 #define va_arg(marker,type) *((type *)(marker -= sizeof(type)))