View | Details | Raw Unified | Return to bug 209457
Collapse All | Expand All

(-)files/patch-src-lib-libast-hash-hashalloc.c (-14 / +13 lines)
Lines 1-20 Link Here
1
--- src/lib/libast/hash/hashalloc.c.orig	2013-12-28 22:09:43.000000000 +0100
1
--- src/lib/libast/hash/hashalloc.c.orig	2006-11-07 UTC
2
+++ src/lib/libast/hash/hashalloc.c	2013-12-28 22:43:14.000000000 +0100
2
+++ src/lib/libast/hash/hashalloc.c
3
@@ -49,6 +49,7 @@
3
@@ -151,7 +151,16 @@ hashalloc(Hash_table_t* ref, ...)
4
 	va_list*		vp = va;
5
 	Hash_region_f		region = 0;
6
 	void*			handle;
7
+	va_listarg		tmpval;
8
 
9
 	va_start(ap, ref);
10
 
11
@@ -151,7 +152,8 @@
12
 				va_copy(*vp, ap);
4
 				va_copy(*vp, ap);
13
 				vp++;
5
 				vp++;
14
 			}
6
 			}
15
-			va_copy(ap, va_listval(va_arg(ap, va_listarg)));
7
+#if __clang__ && __SIZEOF_POINTER__ == 4
16
+			tmpval = va_listval(va_arg(ap, va_listarg));
8
+			{
17
+			va_copy(ap, tmpval);
9
+				va_list		np;
10
+
11
+				np = va_listval(va_arg(ap, va_listarg));
12
+				va_copy(ap, np);
13
+			}
14
+#else
15
 			va_copy(ap, va_listval(va_arg(ap, va_listarg)));
16
+#endif
18
 			break;
17
 			break;
19
 		case 0:
18
 		case 0:
20
 			if (vp > va)
19
 			if (vp > va)
(-)files/patch-src-lib-libast-string-tokscan.c (-14 / +13 lines)
Lines 1-20 Link Here
1
--- ./src/lib/libast/string/tokscan.c.orig	2013-12-28 22:16:20.000000000 +0100
1
--- src/lib/libast/string/tokscan.c.orig	2006-11-07 UTC
2
+++ ./src/lib/libast/string/tokscan.c	2013-12-28 22:43:28.000000000 +0100
2
+++ src/lib/libast/string/tokscan.c
3
@@ -188,6 +188,7 @@
3
@@ -233,7 +233,16 @@ tokscan(register char* s, char** nxt, co
4
 	char**		p_string;
5
 	char*		prv_f = 0;
6
 	va_list		prv_ap;
7
+	va_listarg	tmpval;
8
 
9
 	va_start(ap, fmt);
10
 	if (!*s || *s == '\n')
11
@@ -233,7 +234,8 @@
12
 			prv_f = f;
4
 			prv_f = f;
13
 			f = va_arg(ap, char*);
5
 			f = va_arg(ap, char*);
14
 			va_copy(prv_ap, ap);
6
 			va_copy(prv_ap, ap);
15
-			va_copy(ap, va_listval(va_arg(ap, va_listarg)));
7
+#if __clang__ && __SIZEOF_POINTER__ == 4
16
+			tmpval = va_listval(va_arg(ap, va_listarg));
8
+			{
17
+			va_copy(ap, tmpval);
9
+				va_list		np;
10
+
11
+				np = va_listval(va_arg(ap, va_listarg));
12
+				va_copy(ap, np);
13
+			}
14
+#else
15
 			va_copy(ap, va_listval(va_arg(ap, va_listarg)));
16
+#endif
18
 			continue;
17
 			continue;
19
 		case 'c':
18
 		case 'c':
20
 			p_char = va_arg(ap, char*);
19
 			p_char = va_arg(ap, char*);

Return to bug 209457