diff options
author | Ori Bernstein <ori@eigenstate.org> | 2020-03-22 17:31:39 -0700 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2020-03-22 17:31:39 -0700 |
commit | a654b94db8a3574b7a774edfd77b8612c0b642cd (patch) | |
tree | c55640ab3d06fe8020c1dcd0ebbf0081c879e7d5 | |
parent | 7364a96b289c24637db802fca6c57d8024ca2359 (diff) | |
download | plan9front-a654b94db8a3574b7a774edfd77b8612c0b642cd.tar.xz |
add va_copy macro, conforming to c99 7.15.1.2
-rw-r--r-- | 386/include/ape/stdarg.h | 2 | ||||
-rw-r--r-- | 68020/include/ape/stdarg.h | 1 | ||||
-rw-r--r-- | amd64/include/ape/stdarg.h | 8 | ||||
-rw-r--r-- | arm/include/ape/stdarg.h | 1 | ||||
-rw-r--r-- | arm64/include/ape/stdarg.h | 1 | ||||
-rw-r--r-- | mips/include/ape/stdarg.h | 1 | ||||
-rw-r--r-- | power/include/ape/stdarg.h | 1 | ||||
-rw-r--r-- | sparc64/include/ape/stdarg.h | 1 |
8 files changed, 13 insertions, 3 deletions
diff --git a/386/include/ape/stdarg.h b/386/include/ape/stdarg.h index 05d033e4c..295b88b95 100644 --- a/386/include/ape/stdarg.h +++ b/386/include/ape/stdarg.h @@ -7,5 +7,5 @@ typedef char *va_list; (char *)(&(start)+1)) #define va_end(list) #define va_arg(list, mode) ((mode*)(list += sizeof(mode)))[-1] - +#define va_copy(dst, src) ((dst) = (src)) #endif /* __STDARG */ diff --git a/68020/include/ape/stdarg.h b/68020/include/ape/stdarg.h index b7e2282e6..9a1f08c7e 100644 --- a/68020/include/ape/stdarg.h +++ b/68020/include/ape/stdarg.h @@ -7,5 +7,6 @@ typedef char *va_list; #define va_end(list) #define va_arg(list, mode) (sizeof(mode)==1 ? ((mode *) (list += 4))[-4] : \ sizeof(mode)==2 ? ((mode *) (list += 4))[-2] : ((mode *) (list += sizeof(mode)))[-1]) +#define va_copy(dst, src) ((dst) = (src)) #endif /* __STDARG */ diff --git a/amd64/include/ape/stdarg.h b/amd64/include/ape/stdarg.h index cf466841f..b687c5a46 100644 --- a/amd64/include/ape/stdarg.h +++ b/amd64/include/ape/stdarg.h @@ -3,8 +3,10 @@ typedef char *va_list; -#define va_start(list, start) list = (sizeof(start)<8 ? (char *)((long long *)&(start)+1) : \ -(char *)(&(start)+1)) +#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)?\ @@ -14,5 +16,7 @@ typedef char *va_list; (sizeof(mode) == 4)?\ ((mode*)(list += 8))[-2]:\ ((mode*)(list += sizeof(mode)))[-1]) +#define va_copy(dst, src) \ + ((dst) = (src)) #endif /* __STDARG */ diff --git a/arm/include/ape/stdarg.h b/arm/include/ape/stdarg.h index 05d033e4c..eb1c097a7 100644 --- a/arm/include/ape/stdarg.h +++ b/arm/include/ape/stdarg.h @@ -7,5 +7,6 @@ typedef char *va_list; (char *)(&(start)+1)) #define va_end(list) #define va_arg(list, mode) ((mode*)(list += sizeof(mode)))[-1] +#define va_copy(dst, src) ((dst) = (src)) #endif /* __STDARG */ diff --git a/arm64/include/ape/stdarg.h b/arm64/include/ape/stdarg.h index cf466841f..9486c08e5 100644 --- a/arm64/include/ape/stdarg.h +++ b/arm64/include/ape/stdarg.h @@ -14,5 +14,6 @@ typedef char *va_list; (sizeof(mode) == 4)?\ ((mode*)(list += 8))[-2]:\ ((mode*)(list += sizeof(mode)))[-1]) +#define va_copy(dst, src) ((dst) = (src)) #endif /* __STDARG */ diff --git a/mips/include/ape/stdarg.h b/mips/include/ape/stdarg.h index b7e2282e6..9a1f08c7e 100644 --- a/mips/include/ape/stdarg.h +++ b/mips/include/ape/stdarg.h @@ -7,5 +7,6 @@ typedef char *va_list; #define va_end(list) #define va_arg(list, mode) (sizeof(mode)==1 ? ((mode *) (list += 4))[-4] : \ sizeof(mode)==2 ? ((mode *) (list += 4))[-2] : ((mode *) (list += sizeof(mode)))[-1]) +#define va_copy(dst, src) ((dst) = (src)) #endif /* __STDARG */ diff --git a/power/include/ape/stdarg.h b/power/include/ape/stdarg.h index b7e2282e6..9a1f08c7e 100644 --- a/power/include/ape/stdarg.h +++ b/power/include/ape/stdarg.h @@ -7,5 +7,6 @@ typedef char *va_list; #define va_end(list) #define va_arg(list, mode) (sizeof(mode)==1 ? ((mode *) (list += 4))[-4] : \ sizeof(mode)==2 ? ((mode *) (list += 4))[-2] : ((mode *) (list += sizeof(mode)))[-1]) +#define va_copy(dst, src) ((dst) = (src)) #endif /* __STDARG */ diff --git a/sparc64/include/ape/stdarg.h b/sparc64/include/ape/stdarg.h index b7e2282e6..9a1f08c7e 100644 --- a/sparc64/include/ape/stdarg.h +++ b/sparc64/include/ape/stdarg.h @@ -7,5 +7,6 @@ typedef char *va_list; #define va_end(list) #define va_arg(list, mode) (sizeof(mode)==1 ? ((mode *) (list += 4))[-4] : \ sizeof(mode)==2 ? ((mode *) (list += 4))[-2] : ((mode *) (list += sizeof(mode)))[-1]) +#define va_copy(dst, src) ((dst) = (src)) #endif /* __STDARG */ |