00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _STDARG_H
00012 #ifndef _ANSI_STDARG_H_
00013 #ifndef __need___va_list
00014 #define _STDARG_H
00015 #define _ANSI_STDARG_H_
00016 #endif
00017 #undef __need___va_list
00018
00019 #ifdef __clipper__
00020 #include "va-clipper.h"
00021 #else
00022 #ifdef __m88k__
00023 #include "va-m88k.h"
00024 #else
00025 #ifdef __i860__
00026 #include "va-i860.h"
00027 #else
00028 #ifdef __hppa__
00029 #include "va-pa.h"
00030 #else
00031 #ifdef __mips__
00032 #include "va-mips.h"
00033 #else
00034 #ifdef __sparc__
00035 #include "va-sparc.h"
00036 #else
00037 #ifdef __i960__
00038 #include "va-i960.h"
00039 #else
00040 #ifdef __alpha__
00041 #include "va-alpha.h"
00042 #else
00043 #if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__)
00044 #include "va-h8300.h"
00045 #else
00046 #if defined (__PPC__) && (defined (_CALL_SYSV) || defined (_WIN32))
00047 #include "va-ppc.h"
00048 #else
00049 #ifdef __arc__
00050 #include "va-arc.h"
00051 #else
00052 #ifdef __M32R__
00053 #include "va-m32r.h"
00054 #else
00055 #ifdef __sh__
00056 #include "va-sh.h"
00057 #else
00058 #ifdef __mn10300__
00059 #include "va-mn10300.h"
00060 #else
00061 #ifdef __mn10200__
00062 #include "va-mn10200.h"
00063 #else
00064 #ifdef __v850__
00065 #include "va-v850.h"
00066 #else
00067
00068
00069
00070 #ifndef __GNUC_VA_LIST
00071 #define __GNUC_VA_LIST
00072 #if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
00073 typedef char *__gnuc_va_list;
00074 #else
00075 typedef void *__gnuc_va_list;
00076 #endif
00077 #endif
00078
00079
00080
00081 #ifdef _STDARG_H
00082
00083
00084
00085
00086 #if defined(sysV68)
00087 #define __va_rounded_size(TYPE) \
00088 (((sizeof (TYPE) + sizeof (short) - 1) / sizeof (short)) * sizeof (short))
00089 #else
00090 #define __va_rounded_size(TYPE) \
00091 (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
00092 #endif
00093
00094 #define va_start(AP, LASTARG) \
00095 (AP = ((__gnuc_va_list) __builtin_next_arg (LASTARG)))
00096
00097 #undef va_end
00098 void va_end (__gnuc_va_list);
00099 #define va_end(AP) ((void)0)
00100
00101
00102
00103
00104 #if defined (__arm__) || defined (__i386__) || defined (__i860__) || defined (__ns32000__) || defined (__vax__)
00105
00106 #define va_arg(AP, TYPE) \
00107 (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)), \
00108 *((TYPE *) (void *) ((char *) (AP) - __va_rounded_size (TYPE))))
00109 #else
00110
00111 #define va_arg(AP, TYPE) \
00112 (AP = (__gnuc_va_list) ((char *) (AP) + __va_rounded_size (TYPE)), \
00113 *((TYPE *) (void *) ((char *) (AP) \
00114 - ((sizeof (TYPE) < __va_rounded_size (char) \
00115 ? sizeof (TYPE) : __va_rounded_size (TYPE))))))
00116 #endif
00117
00118
00119 #define __va_copy(dest, src) (dest) = (src)
00120
00121 #endif
00122
00123 #endif
00124 #endif
00125 #endif
00126 #endif
00127 #endif
00128 #endif
00129 #endif
00130 #endif
00131 #endif
00132 #endif
00133 #endif
00134 #endif
00135 #endif
00136 #endif
00137 #endif
00138 #endif
00139
00140 #ifdef _STDARG_H
00141
00142
00143
00144
00145
00146
00147
00148 #ifdef _HIDDEN_VA_LIST
00149 #undef _VA_LIST
00150 #endif
00151
00152 #ifdef _BSD_VA_LIST
00153 #undef _BSD_VA_LIST
00154 #endif
00155
00156 #if defined(__svr4__) || (defined(_SCO_DS) && !defined(__VA_LIST))
00157
00158
00159
00160
00161 #ifndef _VA_LIST_
00162 #define _VA_LIST_
00163 #ifdef __i860__
00164 #ifndef _VA_LIST
00165 #define _VA_LIST va_list
00166 #endif
00167 #endif
00168 typedef __gnuc_va_list va_list;
00169 #ifdef _SCO_DS
00170 #define __VA_LIST
00171 #endif
00172 #endif
00173 #else
00174
00175
00176
00177
00178
00179 #if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT)
00180
00181 #ifndef _VA_LIST_DEFINED
00182
00183 #ifndef _VA_LIST
00184
00185 #ifndef _VA_LIST_T_H
00186 typedef __gnuc_va_list va_list;
00187 #endif
00188 #endif
00189 #endif
00190 #if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__))
00191 #define _VA_LIST_
00192 #endif
00193 #ifndef _VA_LIST
00194 #define _VA_LIST
00195 #endif
00196 #ifndef _VA_LIST_DEFINED
00197 #define _VA_LIST_DEFINED
00198 #endif
00199 #ifndef _VA_LIST_T_H
00200 #define _VA_LIST_T_H
00201 #endif
00202
00203 #endif
00204
00205 #endif
00206
00207 #endif
00208
00209 #endif
00210 #endif