Blame | Last modification | View Log | RSS feed
#ifndef __BUILDING_LIBS
/*
TOKEN DECLARATIONS
The tokens __va_t, __va_start, va_arg and va_end are as in the
ansi:stdarg header. The only difference is that va_list is defined
as its implementation type, rather than being a tokenised type.
*/
#pragma token TYPE __va_t # ~__va_t
#pragma token PROC ( EXP rvalue : __va_t : ) EXP rvalue : va_list : __va_start # ansi.stdarg.__va_start
#pragma token PROC ( EXP lvalue : va_list : e , TYPE t ) EXP rvalue : t : va_arg # ansi.stdarg.va_arg
#pragma token PROC ( EXP lvalue : va_list : ) EXP rvalue : void : va_end # ansi.stdarg.va_end
#pragma interface __va_t __va_start va_arg va_end
/*
DEFINITION OF VA_START
How va_start is defined in terms of __va_start depends on whether
this is stdarg.h or varargs.h.
*/
#pragma TenDRA ident ... allow
#ifdef __HACKED_VARARGS_INCLUDED
#define va_alist ...
#define va_dcl
#define va_start( l ) ( ( void ) ( l = __va_start ( ... ) ) )
#else
#define va_start( l, i ) ( ( void ) ( l = __va_start ( ... ) ) )
#endif
#else
#endif