9front - general discussion about 9front
 help / color / mirror / Atom feed
* 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).