Package: gngeo
Version: 0.6.4-2
Severity: normal
Tags: patch

When building 'gngeo' on amd64/unstable with gcc-4.0,
I get the following error:

scanline.c: In function 'effect_scanline_update':
scanline.c:31: error: invalid lvalue in assignment
scanline.c:32: error: invalid lvalue in assignment
scanline.c: In function 'effect_scanline50_update':
scanline.c:68: error: invalid lvalue in assignment
scanline.c:69: error: invalid lvalue in assignment
scanline.c: In function 'effect_doublex_update':
scanline.c:108: error: invalid lvalue in assignment
scanline.c:109: error: invalid lvalue in assignment
make[4]: *** [scanline.o] Error 1
make[4]: Leaving directory `/gngeo-0.6.4/src/effect'

With the attached patch 'gngeo' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/gngeo-0.6.4/src/blitter/soft.c ./src/blitter/soft.c
--- ../tmp-orig/gngeo-0.6.4/src/blitter/soft.c  2004-02-28 16:45:40.000000000 
+0100
+++ ./src/blitter/soft.c        2005-04-05 08:18:00.000000000 +0200
@@ -54,8 +54,8 @@
        Uint32 s, d;
        Uint8 w, h;
        
-       (Uint16 *)src = (Uint16 *)buffer->pixels + visible_area.x + (buffer->w 
<< 4);// LeftBorder + RowLength * UpperBorder
-       (Uint16 *)dst = (Uint16 *)screen->pixels;
+       src = (Uint16 *)buffer->pixels + visible_area.x + (buffer->w << 4);// 
LeftBorder + RowLength * UpperBorder
+       dst = (Uint16 *)screen->pixels;
        
        for(h = visible_area.h; h > 0; h--)
        {
@@ -94,8 +94,8 @@
        Uint32 s, d;
        Uint8 w, h;
        
-       (Uint16 *)src = (Uint16 *)buffer->pixels + visible_area.x + (buffer->w 
<< 4);// LeftBorder + RowLength * UpperBorder
-       (Uint16 *)dst = (Uint16 *)screen->pixels;
+       src = (Uint16 *)buffer->pixels + visible_area.x + (buffer->w << 4);// 
LeftBorder + RowLength * UpperBorder
+       dst = (Uint16 *)screen->pixels;
        
        for(h = visible_area.h; h > 0; h--)
        {
diff -urN ../tmp-orig/gngeo-0.6.4/src/effect/scanline.c ./src/effect/scanline.c
--- ../tmp-orig/gngeo-0.6.4/src/effect/scanline.c       2004-02-28 
16:47:40.000000000 +0100
+++ ./src/effect/scanline.c     2005-04-05 08:17:34.000000000 +0200
@@ -28,8 +28,8 @@
        Uint32 s, d;
        Uint8 h, w;     
        
-       (Uint16 *)src = (Uint16 *)buffer->pixels + visible_area.x + (352 << 
4);// LeftBorder + RowLength * UpperBorder
-       (Uint16 *)dst = (Uint16 *)screen->pixels;
+       src = (Uint16 *)buffer->pixels + visible_area.x + (352 << 4);// 
LeftBorder + RowLength * UpperBorder
+       dst = (Uint16 *)screen->pixels;
 
        for(h = visible_area.h; h > 0; h--)
        {
@@ -65,8 +65,8 @@
        Uint32 s, d;
        Uint8 h, w;
        
-       (Uint16 *)src = (Uint16 *)buffer->pixels + visible_area.x + (352 << 
4);// LeftBorder + RowLength * UpperBorder
-       (Uint16 *)dst = (Uint16 *)screen->pixels;
+       src = (Uint16 *)buffer->pixels + visible_area.x + (352 << 4);// 
LeftBorder + RowLength * UpperBorder
+       dst = (Uint16 *)screen->pixels;
 
        
        for(h = visible_area.h; h > 0; h--)
@@ -105,8 +105,8 @@
        Uint32 s, d;
        Uint8 h, w;     
        
-       (Uint16 *)src = (Uint16 *)buffer->pixels + visible_area.x + (352 << 
4);// LeftBorder + RowLength * UpperBorder
-       (Uint16 *)dst = (Uint16 *)screen->pixels;
+       src = (Uint16 *)buffer->pixels + visible_area.x + (352 << 4);// 
LeftBorder + RowLength * UpperBorder
+       dst = (Uint16 *)screen->pixels;
 
 #ifdef I386_ASM
        
do_inner_doublex_i386(dst,src,visible_area.w>>1,visible_area.h,visible_area.x);
diff -urN ../tmp-orig/gngeo-0.6.4/src/generator68k/def68k.c 
./src/generator68k/def68k.c
--- ../tmp-orig/gngeo-0.6.4/src/generator68k/def68k.c   2003-11-02 
13:12:23.000000000 +0100
+++ ./src/generator68k/def68k.c 2005-04-12 21:46:35.425101321 +0200
@@ -1319,7 +1319,7 @@
   } /* block */
 }
 
-int clocks_movetable[] = {
+static int clocks_movetable[] = {
    4,   4,  8,  8,  8, 12, 14, 12, 16,
    4,   4,  8,  8,  8, 12, 14, 12, 16,
    8,   8, 12, 12, 12, 16, 18, 16, 20,
diff -urN ../tmp-orig/gngeo-0.6.4/src/star_interf.c ./src/star_interf.c
--- ../tmp-orig/gngeo-0.6.4/src/star_interf.c   2004-04-11 14:17:25.000000000 
+0200
+++ ./src/star_interf.c 2005-04-12 21:21:21.122824471 +0200
@@ -41,7 +41,7 @@
     {0x200000, 0x2FFFfF, 0},
     {0xc00000, 0xc1FFff, 0},
     {0x000000, 0xFFFFF, 0},
-    {0xd00000, 0xd0ffff, (unsigned) memory.sram - 0xd00000},
+    {0xd00000, 0xd0ffff, 0},
     {-1, -1, 0}
 };
 
@@ -180,6 +180,7 @@
     pretend_programfetch[1].offset = (unsigned int) memory.cpu - 0x200000;
     pretend_programfetch[2].offset = (unsigned int) memory.bios - 0xC00000;
     pretend_programfetch[3].offset = (unsigned int) memory.cpu;
+    pretend_programfetch[3].offset = (unsigned int) memory.sram - 0xd00000;
 
     s68000context.s_fetch = pretend_programfetch;
     s68000context.u_fetch = pretend_programfetch;


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to