diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-01 10:31:41 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-02-01 10:31:41 +0100 |
commit | ed9e9f98e9cc502c72b27c68612e9e187ec11e10 (patch) | |
tree | 42901d0156503dadce4bf1f0b60e9ef850c3c5e0 /amd64/include/ape/stdarg.h | |
parent | d4fb753c9c90e0ca745a1b3708ad3ec4ca523e71 (diff) | |
download | plan9front-ed9e9f98e9cc502c72b27c68612e9e187ec11e10.tar.xz |
libc and ape support for amd64
Diffstat (limited to 'amd64/include/ape/stdarg.h')
-rw-r--r-- | amd64/include/ape/stdarg.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/amd64/include/ape/stdarg.h b/amd64/include/ape/stdarg.h new file mode 100644 index 000000000..cf466841f --- /dev/null +++ b/amd64/include/ape/stdarg.h @@ -0,0 +1,18 @@ +#ifndef __STDARG +#define __STDARG + +typedef char *va_list; + +#define va_start(list, start) list = (sizeof(start)<8 ? (char *)((long long *)&(start)+1) : \ +(char *)(&(start)+1)) +#define va_end(list) +#define va_arg(list, mode)\ + ((sizeof(mode) == 1)?\ + ((mode*)(list += 8))[-8]:\ + (sizeof(mode) == 2)?\ + ((mode*)(list += 8))[-4]:\ + (sizeof(mode) == 4)?\ + ((mode*)(list += 8))[-2]:\ + ((mode*)(list += sizeof(mode)))[-1]) + +#endif /* __STDARG */ |