|
Packit Service |
f629e6 |
/* "varargs.h" -- old style variable argument list manipulation (for VAX) */
|
|
Packit Service |
f629e6 |
#ifndef __GNUC__
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
/* Use the system's macros with the system's compiler. */
|
|
Packit Service |
f629e6 |
#include <varargs.h>
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
#else /*__GNUC__*/
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# if defined(__VAX__) || defined(__vax__) || defined(VAX) || defined(vax)
|
|
Packit Service |
f629e6 |
/* These macros implement traditional (non-ANSI) varargs for GNU C on VAX */
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# if !defined(_VA_LIST) && !defined(_VA_LIST_)
|
|
Packit Service |
f629e6 |
# define _VA_LIST
|
|
Packit Service |
f629e6 |
# define _VA_LIST_
|
|
Packit Service |
f629e6 |
typedef char *va_list;
|
|
Packit Service |
f629e6 |
# endif
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# define va_alist _varargs
|
|
Packit Service |
f629e6 |
# define va_dcl int va_alist;
|
|
Packit Service |
f629e6 |
# define va_start(AP) AP = (va_list) &va_alist
|
|
Packit Service |
f629e6 |
# define va_end(AP)
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# define _va_rounded_size(TYPE) \
|
|
Packit Service |
f629e6 |
(((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# define va_arg(AP,TYPE) \
|
|
Packit Service |
f629e6 |
(AP += _va_rounded_size(TYPE), \
|
|
Packit Service |
f629e6 |
*((TYPE *) (AP - _va_rounded_size(TYPE))))
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# if defined(__VMS__) || defined(__vms__) || defined(VMS) || defined(vms)
|
|
Packit Service |
f629e6 |
/* VAX C compatability macros */
|
|
Packit Service |
f629e6 |
# define va_count(CNT) vaxc$va_count(&CNT) /* rtl routine */
|
|
Packit Service |
f629e6 |
# define va_start_1(AP,OFFSET) AP = (va_list) (&va_alist + (OFFSET))
|
|
Packit Service |
f629e6 |
# endif /* VMS */
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
# endif /* VAX */
|
|
Packit Service |
f629e6 |
|
|
Packit Service |
f629e6 |
#endif /*__GNUC__*/
|