Package: libggi
Severity: normal
Tags: patch
When building 'libggi' on amd64 with gcc-4.0,
I get the following error:
vline.c:180:2: warning: #warning honor various ximage format fields here.
vline.c:181:2: warning: #warning 1,2,4-bit support needed
vline.c: In function 'GGI_X_getvline_draw':
vline.c:198: warning: pointer targets in assignment differ in signedness
vline.c:203: error: invalid lvalue in assignment
vline.c:208: warning: pointer targets in assignment differ in signedness
vline.c:215: error: invalid lvalue in assignment
vline.c:224: warning: pointer targets in assignment differ in signedness
vline.c:228: error: invalid lvalue in assignment
make[5]: *** [vline.lo] Error 1
make[5]: Leaving directory `/libggi-2.0.5/display/X'
With the attached patch 'libggi' can be compiled
on amd64 using gcc-4.0.
Regards
Andreas Jochens
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/ati/mach64/visual.c
./default/fbdev/ati/mach64/visual.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/ati/mach64/visual.c 2004-05-21
18:52:14.000000000 +0000
+++ ./default/fbdev/ati/mach64/visual.c 2005-02-27 15:18:29.442156258 +0000
@@ -281,7 +281,7 @@
}*/
free(priv);
- ATI_MACH64_PRIV(vis) = NULL;
+ FBDEV_PRIV(vis)->accelpriv = NULL;
ggUnregisterCleanup((ggcleanup_func *)do_cleanup, vis);
@@ -313,7 +313,7 @@
if (priv == NULL) {
return GGI_ENOMEM;
}
- ATI_MACH64_PRIV(vis) = priv;
+ FBDEV_PRIV(vis)->accelpriv = priv;
fbdevpriv->mmioaddr = mmap(NULL, fbdevpriv->orig_fix.mmio_len,
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/crossblit.c
./default/fbdev/mga/2164w/crossblit.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/crossblit.c
2004-05-21 18:52:14.000000000 +0000
+++ ./default/fbdev/mga/2164w/crossblit.c 2005-02-27 15:07:37.000000000
+0000
@@ -99,7 +99,8 @@
tmpw -= tmpw2;
while (tmpw2--) {
- *(dstptr++) = *(((uint32*)srcptr)++);
+ *(dstptr++) = *(((uint32*)srcptr));
+ srcptr = (((uint32*)srcptr) + 1);
}
dstptr = priv->dmaaddr;
}
@@ -110,7 +111,8 @@
int tmpw = w;
while (tmpw--) {
- *(dstptr++) = *(((uint32*)srcptr)++);
+ *(dstptr++) = *(((uint32*)srcptr));
+ srcptr = (((uint32*)srcptr) + 1);
}
srcptr += srcinc;
dstptr = priv->dmaaddr;
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/visual.c
./default/fbdev/mga/2164w/visual.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/visual.c 2004-05-21
18:52:14.000000000 +0000
+++ ./default/fbdev/mga/2164w/visual.c 2005-02-27 15:12:41.000000000 +0000
@@ -111,7 +111,7 @@
}
free(priv);
- M2164W_PRIV(vis) = NULL;
+ FBDEV_PRIV(vis)->accelpriv = NULL;
ggUnregisterCleanup((ggcleanup_func *)do_cleanup, vis);
@@ -253,7 +253,7 @@
vis->opdraw->crossblit = GGI_m2164w_crossblit;
}
- M2164W_PRIV(vis) = priv;
+ FBDEV_PRIV(vis)->accelpriv = priv;
/* Register cleanup handler */
ggRegisterCleanup((ggcleanup_func *)do_cleanup, vis);
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/crossblit.c
./default/fbdev/mga/g400/crossblit.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/crossblit.c 2004-05-21
18:52:15.000000000 +0000
+++ ./default/fbdev/mga/g400/crossblit.c 2005-02-27 15:15:37.000000000
+0000
@@ -99,7 +99,8 @@
tmpw -= tmpw2;
while (tmpw2--) {
- *(dstptr++) = *(((uint32*)srcptr)++);
+ *(dstptr++) = *(((uint32*)srcptr));
+ srcptr = (((uint32*)srcptr) + 1);
}
dstptr = priv->dmaaddr;
}
@@ -110,7 +111,8 @@
int tmpw = w;
while (tmpw--) {
- *(dstptr++) = *(((uint32*)srcptr)++);
+ *(dstptr++) = *(((uint32*)srcptr));
+ srcptr = (((uint32*)srcptr) + 1);
}
srcptr += srcinc;
dstptr = priv->dmaaddr;
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/visual.c
./default/fbdev/mga/g400/visual.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/visual.c 2004-05-21
18:52:15.000000000 +0000
+++ ./default/fbdev/mga/g400/visual.c 2005-02-27 15:17:47.000000000 +0000
@@ -117,7 +117,7 @@
}
free(priv);
- MGA_G400_PRIV(vis) = NULL;
+ FBDEV_PRIV(vis)->accelpriv = NULL;
ggUnregisterCleanup((ggcleanup_func *)do_cleanup, vis);
@@ -259,7 +259,7 @@
/* vis->opdraw->crossblit = GGI_mga_g400_crossblit; */
}
- MGA_G400_PRIV(vis) = priv;
+ FBDEV_PRIV(vis)->accelpriv = priv;
/* Register cleanup handler */
ggRegisterCleanup((ggcleanup_func *)do_cleanup, vis);
diff -urN ../tmp-orig/libggi-2.0.5/default/linear_32/crossblit.c
./default/linear_32/crossblit.c
--- ../tmp-orig/libggi-2.0.5/default/linear_32/crossblit.c 2004-05-21
18:52:18.000000000 +0000
+++ ./default/linear_32/crossblit.c 2005-02-27 15:04:26.000000000 +0000
@@ -93,7 +93,9 @@
int tmpw = w;
while (tmpw--) {
- *(((uint32*)dstp)++) = *(((uint32*)srcp)++);
+ *(((uint32*)dstp)) = *(((uint32*)srcp));
+ dstp = (((uint32*)dstp) + 1);
+ srcp = (((uint32*)srcp) + 1);
}
srcp += srcstride;
dstp += dststride;
diff -urN ../tmp-orig/libggi-2.0.5/display/X/box.c ./display/X/box.c
--- ../tmp-orig/libggi-2.0.5/display/X/box.c 2004-05-21 18:52:20.000000000
+0000
+++ ./display/X/box.c 2005-02-27 15:01:13.000000000 +0000
@@ -232,7 +232,7 @@
*((uint8 *)data + j + 1) = *(ximgptr + j);
}
ximgptr += ximg->bytes_per_line;
- ((uint8 *)data) += ximg->width * 2;
+ data = ((uint8 *)data) + ximg->width * 2;
}
}
else if (ximg->bits_per_pixel == 32) {
@@ -247,7 +247,7 @@
*((uint8 *)data + j + 3) = *(ximgptr + j);
}
ximgptr += ximg->bytes_per_line;
- ((uint8 *)data) += ximg->width * 4;
+ data = ((uint8 *)data) + ximg->width * 4;
}
}
else {
@@ -260,7 +260,7 @@
while (h--) {
memcpy(data, ximgptr, (w * ximg->bits_per_pixel)/8);
ximgptr += ximg->bytes_per_line;
- ((uint8 *)data) +=
+ data = ((uint8 *)data) +
ximg->width * ximg->bits_per_pixel/8;
}
}
diff -urN ../tmp-orig/libggi-2.0.5/display/X/vline.c ./display/X/vline.c
--- ../tmp-orig/libggi-2.0.5/display/X/vline.c 2004-05-21 18:52:21.000000000
+0000
+++ ./display/X/vline.c 2005-02-27 15:00:47.000000000 +0000
@@ -200,7 +200,7 @@
*((uint8 *)data) = *(ximgptr + 1);
*((uint8 *)data + 1) = *(ximgptr);
ximgptr += ximg->bytes_per_line;
- ((uint8 *)data) += 2;
+ data = ((uint8 *)data) + 2;
}
}
else if (ximg->bits_per_pixel == 32) {
@@ -212,7 +212,7 @@
*((uint8 *)data + 2) = *(ximgptr + 1);
*((uint8 *)data + 3) = *(ximgptr);
ximgptr += ximg->bytes_per_line;
- ((uint8 *)data) += 4;
+ data = ((uint8 *)data) + 4;
}
}
else {
@@ -225,7 +225,7 @@
while (h--) {
memcpy(data, ximgptr, ximg->bits_per_pixel/8);
ximgptr += ximg->bytes_per_line;
- ((uint8 *)data) += ximg->bits_per_pixel/8;
+ data = ((uint8 *)data) + ximg->bits_per_pixel/8;
}
}
XDestroyImage(ximg);
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]