* ape -- add c99 va_copy
@ 2020-03-23 0:09 ori
2020-03-23 15:45 ` [9front] " ori
0 siblings, 1 reply; 2+ messages in thread
From: ori @ 2020-03-23 0:09 UTC (permalink / raw)
To: 9front
This is used in netsurf, and defined in c99:
7.15.1.2 The va_copy macro
This implements a conforming version (all we need to do is assign it).
diff -r 3c1058879178 386/include/ape/stdarg.h
--- a/386/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/386/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -7,5 +7,5 @@
(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 -r 3c1058879178 68020/include/ape/stdarg.h
--- a/68020/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/68020/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -7,5 +7,6 @@
#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 -r 3c1058879178 amd64/include/ape/stdarg.h
--- a/amd64/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/amd64/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -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 @@
(sizeof(mode) == 4)?\
((mode*)(list += 8))[-2]:\
((mode*)(list += sizeof(mode)))[-1])
+#define va_copy(dst, src) \
+ ((dst) = (src))
#endif /* __STDARG */
diff -r 3c1058879178 arm/include/ape/stdarg.h
--- a/arm/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/arm/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -7,5 +7,6 @@
(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 -r 3c1058879178 arm64/include/ape/stdarg.h
--- a/arm64/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/arm64/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -14,5 +14,6 @@
(sizeof(mode) == 4)?\
((mode*)(list += 8))[-2]:\
((mode*)(list += sizeof(mode)))[-1])
+#define va_copy(dst, src) ((dst) = (src))
#endif /* __STDARG */
diff -r 3c1058879178 mips/include/ape/stdarg.h
--- a/mips/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/mips/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -7,5 +7,6 @@
#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 -r 3c1058879178 power/include/ape/stdarg.h
--- a/power/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/power/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -7,5 +7,6 @@
#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 -r 3c1058879178 sparc64/include/ape/stdarg.h
--- a/sparc64/include/ape/stdarg.h Fri Mar 20 14:12:23 2020 -0700
+++ b/sparc64/include/ape/stdarg.h Sun Mar 22 17:09:18 2020 -0700
@@ -7,5 +7,6 @@
#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 */
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [9front] ape -- add c99 va_copy
2020-03-23 0:09 ape -- add c99 va_copy ori
@ 2020-03-23 15:45 ` ori
0 siblings, 0 replies; 2+ messages in thread
From: ori @ 2020-03-23 15:45 UTC (permalink / raw)
To: ori, 9front
> This is used in netsurf, and defined in c99:
>
> 7.15.1.2 The va_copy macro
>
> This implements a conforming version (all we need to do is assign it).
discussed on IRC, committed.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-03-23 15:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-23 0:09 ape -- add c99 va_copy ori
2020-03-23 15:45 ` [9front] " ori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).