#ifndef __RUCC_VA_LIST_TYPE
#define __RUCC_VA_LIST_TYPE
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
typedef __builtin_va_list __gnuc_va_list;
#endif
#endif
#ifdef __need___va_list
#undef __need___va_list
#else
#ifndef __RUCC_STDARG_H
#define __RUCC_STDARG_H
#if !defined(_VA_LIST) && !defined(_VA_LIST_DEFINED) && !defined(_VA_LIST_T_H) \
&& !defined(__va_list__) && !defined(__DEFINED_va_list)
#define _VA_LIST
#define _VA_LIST_DEFINED
#define _VA_LIST_T_H
#define __va_list__
#define __DEFINED_va_list
typedef __gnuc_va_list va_list;
#endif
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
#define va_start(ap, ...) __builtin_va_start(ap, 0)
#else
#define va_start(ap, last) __builtin_va_start(ap, last)
#endif
#define va_arg(ap, type) __builtin_va_arg(ap, type)
#define va_end(ap) __builtin_va_end(ap)
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#define va_copy(dst, src) __builtin_va_copy(dst, src)
#endif
#define __va_copy(dst, src) __builtin_va_copy(dst, src)
#endif
#endif