File:  [Research Unix] / researchv10no / cmd / lcc / include / mips_iris / stdarg.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

#ifndef __STDARG
#define __STDARG

typedef char *va_list;

#define va_start(list, start) ((void)(list = (sizeof(start)<4 ? (char *)((int *)&(start)+1) : \
(char *)(&(start)+1))))
#define va_end(list) ((void)0)
#define __va_arg(list, mode, n) *(mode *)(&(list += ((sizeof(mode)+n)&~n))[-(int)((sizeof(mode)+n)&~n)])
#define _bigendian_va_arg(list, mode, n) (\
sizeof(mode)==1 ? *(mode *)(&(list += 4)[-1]) : \
sizeof(mode)==2 ? *(mode *)(&(list += 4)[-2]) : __va_arg(list, mode, n) )
#define _littleendian_va_arg(list, mode, n) __va_arg(list, mode, n)
#define va_arg(list, mode) (sizeof(mode)==8 ? *(mode *)(&(list = (char*)(((int)list + 15)&~7U))[-8]) : \
 _bigendian_va_arg(list, mode, 3U))

#endif /* __STDARG */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.