/* GCT changes follow */ /* $Header: /usr/export/home/marick/RCS/stdarg.h,v 1.2 1992/08/30 20:18:53 marick Exp $ */ /* $Log: stdarg.h,v $ * Revision 1.2 1992/08/30 20:18:53 marick * Bull DPX/2 changes (from Bull) * */ #ifdef DPX2 #include "/usr/include/stdarg.h" #else #ident "@(#) stdarg.h 1.1 3/6/91 " /* This file contains changes made by Data General, December 1989. */ #ifndef _STDARG_H_ #define _STDARG_H_ #ifdef __m88k__ #include "va-m88k.h" #else typedef void *va_list; /* Amount of space required in an argument list for an arg of type TYPE. TYPE may alternatively be an expression whose type is used. */ #define __va_rounded_size(TYPE) \ (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) #ifndef __sparc__ #define va_start(AP, LASTARG) \ (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) #else #define va_start(AP, LASTARG) \ (__builtin_saveregs (), \ AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) #endif void va_end (va_list); /* Defined in gnulib */ #define va_end(AP) #if 1 /* version suitable for the big-endian 68k line */ #define va_arg(AP, TYPE) \ (AP += __va_rounded_size (TYPE), \ *((TYPE *) (AP - sizeof (TYPE)))) #else /* version suitable for the little-endian vax line */ #define va_arg(AP, TYPE) \ (AP += __va_rounded_size (TYPE), \ *((TYPE *) (AP - __va_rounded_size (TYPE)))) #endif #endif /* not m88k */ #endif /* _STDARG_H_ */ #endif