1 #ifndef __STDARG_H_ 2 #define __STDARG_H_ 3 4 #define ALIGN_INT(n) ((sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1)) 5 6 #if !defined(_VA_LIST) && !defined(__VA_LIST_DEFINED) 7 8 #define _VA_LIST 9 #define _VA_LIST_DEFINED 10 typedef char *__va_list; 11 12 #endif 13 14 static float __va_arg_tmp; 15 typedef __va_list va_list; 16 17 #define va_start(list, start) (list = (va_list)&start + ALIGN_INT(start)) 18 #define va_arg(list, t) (*(t *)((list += ALIGN_INT(t)) - ALIGN_INT(t))) 19 #define va_end(list) (list = (va_list)0) 20 21 typedef void *__gnuc_va_list; 22 23 #endif 24