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]