summaryrefslogtreecommitdiff
path: root/devel/cqual/patches/patch-bh
blob: 273a3168de4d056a40a84ea6672e151135efbd01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$NetBSD: patch-bh,v 1.1 2006/01/18 23:24:12 rillig Exp $

SunPro thinks that the result of the "," operator is not an lvalue.
Fixed this by using *&foo instead of foo.

--- src/libcompat/pages.c.orig	2003-09-11 21:03:24.000000000 +0200
+++ src/libcompat/pages.c	2006-01-16 14:11:33.668681000 +0100
@@ -299,7 +299,7 @@ static void preaccess_regionmap (pageid 
     }
 }
 
-#define page_region(pagenb) (preaccess_regionmap(pagenb), __rcregionmap[(pagenb)/RPAGETABLESIZE2][(pagenb)%RPAGETABLESIZE2])
+#define page_region(pagenb) (*(preaccess_regionmap(pagenb), &(__rcregionmap[(pagenb)/RPAGETABLESIZE2][(pagenb)%RPAGETABLESIZE2])))
 
 #else
 
@@ -322,10 +322,10 @@ static void preaccess_regionmap (pageid 
     }
 }
 
-#define page_region(pagenb) (preaccess_regionmap(pagenb), \
-                             __rcregionmap[(pagenb)/(RPAGETABLESIZE2*RPAGETABLESIZE3)] \
+#define page_region(pagenb) (*(preaccess_regionmap(pagenb), \
+                             &(__rcregionmap[(pagenb)/(RPAGETABLESIZE2*RPAGETABLESIZE3)] \
                                           [((pagenb)%(RPAGETABLESIZE2*RPAGETABLESIZE3))/RPAGETABLESIZE3] \
-                                          [(pagenb)%RPAGETABLESIZE3])
+                                          [(pagenb)%RPAGETABLESIZE3])))
 
 #endif /* SIZEOF_VOIDP <= 4 */