]> git.lizzy.rs Git - plan9front.git/commitdiff
add va_copy macro, conforming to c99 7.15.1.2
authorOri Bernstein <ori@eigenstate.org>
Mon, 23 Mar 2020 00:31:39 +0000 (17:31 -0700)
committerOri Bernstein <ori@eigenstate.org>
Mon, 23 Mar 2020 00:31:39 +0000 (17:31 -0700)
386/include/ape/stdarg.h
68020/include/ape/stdarg.h
amd64/include/ape/stdarg.h
arm/include/ape/stdarg.h
arm64/include/ape/stdarg.h
mips/include/ape/stdarg.h
power/include/ape/stdarg.h
sparc64/include/ape/stdarg.h

index 05d033e4cd6a9f3cbf61e9366edfdb5153a6a0ea..295b88b958f00ec4939ff3c56de463878098cf88 100644 (file)
@@ -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 */
index b7e2282e67587a5472f5cc3cb60a0486b5604032..9a1f08c7edd95b67e246d555403d8f8660221cd4 100644 (file)
@@ -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 */
index cf466841f7c63238fa3d0d47e8b580b7aa4c7d1d..b687c5a46c76f944807ca09f345b6e801bcb6d4c 100644 (file)
@@ -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 */
index 05d033e4cd6a9f3cbf61e9366edfdb5153a6a0ea..eb1c097a78f67c0d8420eb224fb6fbdfc80fd8a1 100644 (file)
@@ -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 */
index cf466841f7c63238fa3d0d47e8b580b7aa4c7d1d..9486c08e5e9d3ba9568ec9227a2908b232b40154 100644 (file)
@@ -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 */
index b7e2282e67587a5472f5cc3cb60a0486b5604032..9a1f08c7edd95b67e246d555403d8f8660221cd4 100644 (file)
@@ -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 */
index b7e2282e67587a5472f5cc3cb60a0486b5604032..9a1f08c7edd95b67e246d555403d8f8660221cd4 100644 (file)
@@ -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 */
index b7e2282e67587a5472f5cc3cb60a0486b5604032..9a1f08c7edd95b67e246d555403d8f8660221cd4 100644 (file)
@@ -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 */