Package: snes9x
Severity: normal
Tags: patch

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

offsets.cpp:380: error: cast from 'bool8*' to 'int' loses precision
offsets.cpp:381: error: cast from 'uint8*' to 'int' loses precision
offsets.cpp:383: error: cast from 'uint8*' to 'int' loses precision
offsets.cpp:384: error: cast from 'uint8*' to 'int' loses precision
offsets.cpp:385: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:386: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:388: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:389: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:391: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:392: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:394: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:395: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:397: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:398: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:400: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:401: error: cast from 'uint16*' to 'int' loses precision
offsets.cpp:403: error: cast from 'uint16*' to 'int' loses precision
make[1]: *** [offsets.o] Error 1
make[1]: Leaving directory `/snes9x-1.42/snes9x-1.42-src/snes9x'
make: *** [build-stamp] Error 2

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

Regards
Andreas Jochens

diff -urN ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/getset.h 
./snes9x-1.42-src/snes9x/getset.h
--- ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/getset.h     2003-12-04 
17:03:08.000000000 +0000
+++ ./snes9x-1.42-src/snes9x/getset.h   2005-02-28 13:39:13.762918145 +0000
@@ -106,7 +106,7 @@
                return (*(GetAddress + (Address & 0xffff)));
     }
        
-    switch ((int) GetAddress)
+    switch ((long) GetAddress)
     {
     case CMemory::MAP_PPU:
                return (S9xGetPPU (Address & 0xffff));
@@ -211,7 +211,7 @@
 #endif 
     }
 
-    switch ((int) GetAddress)
+    switch ((long) GetAddress)
     {
     case CMemory::MAP_PPU:
                return (S9xGetPPU (Address & 0xffff) |
@@ -335,7 +335,7 @@
                return;
     }
        
-    switch ((int) SetAddress)
+    switch ((long) SetAddress)
     {
     case CMemory::MAP_PPU:
                S9xSetPPU (Byte, Address & 0xffff);
@@ -468,7 +468,7 @@
                return;
     }
        
-    switch ((int) SetAddress)
+    switch ((long) SetAddress)
     {
     case CMemory::MAP_PPU:
                S9xSetPPU ((uint8) Word, Address & 0xffff);
@@ -589,7 +589,7 @@
        {
                return s7r.bank50;
        }
-    switch ((int) GetAddress)
+    switch ((long) GetAddress)
     {
        case CMemory::MAP_SPC7110_DRAM:
 #ifdef SPC7110_DEBUG
@@ -655,7 +655,7 @@
        if(Settings.SPC7110&&((Address&0x7FFFFF)==0x4800))
                return s7r.bank50;
 
-    switch ((int) GetAddress)
+    switch ((long) GetAddress)
     {
        case CMemory::MAP_SPC7110_DRAM:
 #ifdef SPC7110_DEBUG
@@ -715,7 +715,7 @@
                return;
     }
        
-    switch ((int) GetAddress)
+    switch ((long) GetAddress)
     {
     case CMemory::MAP_PPU:
                CPU.PCBase = Memory.FillRAM;
diff -urN ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/offsets.cpp 
./snes9x-1.42-src/snes9x/offsets.cpp
--- ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/offsets.cpp  2003-12-04 
17:03:08.000000000 +0000
+++ ./snes9x-1.42-src/snes9x/offsets.cpp        2005-02-28 13:37:48.805316530 
+0000
@@ -86,30 +86,30 @@
 #endif
 
 #define OFFSET(N,F) \
-fprintf (S9xSTREAM, "#define " #N " CPU + %d\n", (int) &((struct SCPUState *) 
0)->F);
+fprintf (S9xSTREAM, "#define " #N " CPU + %ld\n", (long) &((struct SCPUState 
*) 0)->F);
 #define OFFSET2(N,F) \
-fprintf (S9xSTREAM, "#define " #N " Registers + %d\n", (int) &((struct 
SRegisters *) 0)->F);
+fprintf (S9xSTREAM, "#define " #N " Registers + %ld\n", (long) &((struct 
SRegisters *) 0)->F);
 #define OFFSET3(F) \
-fprintf (S9xSTREAM, "#define " #F " Memory + %d\n", (int) &((class CMemory *) 
0)->F);
+fprintf (S9xSTREAM, "#define " #F " Memory + %ld\n", (long) &((class CMemory 
*) 0)->F);
 #define OFFSET4(N,F) \
-fprintf (S9xSTREAM, "#define " #N " APU + %d\n", (int) &((struct SAPU *) 
0)->F);
+fprintf (S9xSTREAM, "#define " #N " APU + %ld\n", (long) &((struct SAPU *) 
0)->F);
 #define OFFSET5(N,F) \
-fprintf (S9xSTREAM, "#define " #N " IAPU + %d\n", (int) &((struct SIAPU *) 
0)->F);
+fprintf (S9xSTREAM, "#define " #N " IAPU + %ld\n", (long) &((struct SIAPU *) 
0)->F);
 #define OFFSET6(N,F) \
-fprintf (S9xSTREAM, "#define " #N " ICPU + %d\n", (int) &((struct SICPU *) 
0)->F);
+fprintf (S9xSTREAM, "#define " #N " ICPU + %ld\n", (long) &((struct SICPU *) 
0)->F);
 #define OFFSET7(N,F) \
-fprintf (S9xSTREAM, "#define " #N " Settings + %d\n", (int) &((struct 
SSettings *) 0)->F);
+fprintf (S9xSTREAM, "#define " #N " Settings + %ld\n", (long) &((struct 
SSettings *) 0)->F);
 #define OFFSET8(N, F) \
-fprintf (S9xSTREAM, "#define " #N " APURegisters + %d\n", (int) &((struct 
SAPURegisters *) 0)->F);
+fprintf (S9xSTREAM, "#define " #N " APURegisters + %ld\n", (long) &((struct 
SAPURegisters *) 0)->F);
 
 #define OFFSET9(N, F) \
-fprintf (S9xSTREAM, "#define " #N " PPU + %d\n", (int) &((struct SPPU *) 
0)->F);
+fprintf (S9xSTREAM, "#define " #N " PPU + %ld\n", (long) &((struct SPPU *) 
0)->F);
 #define OFFSET10(N, F) \
-fprintf (S9xSTREAM, "#define " #N " IPPU + %d\n", (int) &((struct InternalPPU 
*) 0)->F);
+fprintf (S9xSTREAM, "#define " #N " IPPU + %ld\n", (long) &((struct 
InternalPPU *) 0)->F);
 #define OFFSET11(N, F) \
-fprintf (S9xSTREAM, "#define " #N " SA1 + %d\n", (int) &((struct SSA1 *) 
0)->F);
+fprintf (S9xSTREAM, "#define " #N " SA1 + %dl\n", (long) &((struct SSA1 *) 
0)->F);
 #define OFFSET12(N, F) \
-fprintf (S9xSTREAM, "#define " #N " SA1Registers + %d\n", (int) &((struct 
SSA1Registers *) 0)->F);
+fprintf (S9xSTREAM, "#define " #N " SA1Registers + %ld\n", (long) &((struct 
SSA1Registers *) 0)->F);
 
 int main (int /*argc*/, char ** /*argv*/)
 {
diff -urN ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/sa1.cpp 
./snes9x-1.42-src/snes9x/sa1.cpp
--- ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/sa1.cpp      2003-12-04 
17:03:08.000000000 +0000
+++ ./snes9x-1.42-src/snes9x/sa1.cpp    2005-02-28 13:38:29.479465669 +0000
@@ -187,7 +187,7 @@
     if (GetAddress >= (uint8 *) CMemory::MAP_LAST)
        return (*(GetAddress + (address & 0xffff)));
 
-    switch ((int) GetAddress)
+    switch ((long) GetAddress)
     {
     case CMemory::MAP_PPU:
        return (S9xGetSA1 (address & 0xffff));
@@ -234,7 +234,7 @@
        return;
     }
 
-    switch ((int) Setaddress)
+    switch ((long) Setaddress)
     {
     case CMemory::MAP_PPU:
        S9xSetSA1 (byte, address & 0xffff);
@@ -296,7 +296,7 @@
        return;
     }
 
-    switch ((int) GetAddress)
+    switch ((long) GetAddress)
     {
     case CMemory::MAP_PPU:
        SA1.PCBase = Memory.FillRAM - 0x2000;
diff -urN ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/server.cpp 
./snes9x-1.42-src/snes9x/server.cpp
--- ../tmp-orig/snes9x-1.42/snes9x-1.42-src/snes9x/server.cpp   2003-12-04 
17:03:08.000000000 +0000
+++ ./snes9x-1.42-src/snes9x/server.cpp 2005-02-28 13:39:52.262487018 +0000
@@ -806,9 +806,9 @@
                     S9xNPSendROMImageToAllClients ();
                     break;
                 case NP_SERVER_SYNC_CLIENT:
-                    NPServer.Clients [(int) task_data].Ready = FALSE;
+                    NPServer.Clients [(long) task_data].Ready = FALSE;
                     S9xNPRecomputePause ();
-                    S9xNPSyncClient ((int) task_data);
+                    S9xNPSyncClient ((long) task_data);
                     break;
                 case NP_SERVER_SYNC_ALL:
                     S9xNPSyncClients ();
@@ -841,10 +841,10 @@
                     }
                     break;
                 case NP_SERVER_SEND_SRAM:
-                    NPServer.Clients [(int) task_data].Ready = FALSE;
+                    NPServer.Clients [(long) task_data].Ready = FALSE;
                     S9xNPRecomputePause ();
                     S9xNPWaitForEmulationToComplete ();
-                    S9xNPSendSRAMToClient ((int) task_data);
+                    S9xNPSendSRAMToClient ((long) task_data);
                     break;
 
                 case NP_SERVER_SEND_SRAM_ALL:


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

Reply via email to