Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 469446 Details for
Bug 612940
games-emulation/desmume-0.9.11-r1 : MMU_timing.h:158:28: error: left operand of shift expression ‘(-1 << 11)’ is negative [-fpermissive]
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for desmume-0.9.11
desmume.patch (text/plain), 10.65 KB, created by
Bigos
on 2017-04-07 21:46:31 UTC
(
hide
)
Description:
Patch for desmume-0.9.11
Filename:
MIME Type:
Creator:
Bigos
Created:
2017-04-07 21:46:31 UTC
Size:
10.65 KB
patch
obsolete
>--- a/src/MMU_timing.h 2017-04-07 23:01:21.434704818 +0200 >+++ b/src/MMU_timing.h 2017-04-07 23:00:43.477080792 +0200 >@@ -155,8 +155,8 @@ > enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT }; > enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT }; > enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT }; >- enum { TAGMASK = (u32)(~0 << TAGSHIFT) }; >- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) }; >+ enum { TAGMASK = (u32)(~0u << TAGSHIFT) }; >+ enum { BLOCKMASK = ((u32)~0u >> (32 - TAGSHIFT)) & (u32)(~0u << BLOCKSIZESHIFT) }; > enum { WORDSIZE = sizeof(u32) }; > enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE }; > enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY }; >--- a/src/SPU.cpp 2017-04-07 23:01:04.719436896 +0200 >+++ b/src/SPU.cpp 2017-04-07 23:29:51.989486794 +0200 >@@ -468,10 +468,10 @@ > | (thischan.format << 5) > | ((thischan.status == CHANSTAT_PLAY)?0x80:0) > ); >- case 0x8: return *(u8*)(thischan.timer + 0); >- case 0x9: return *(u8*)(thischan.timer + 1); >- case 0xA: return *(u8*)(thischan.loopstart + 0); >- case 0xB: return *(u8*)(thischan.loopstart + 1); >+ case 0x8: return *((u8*)&thischan.timer + 0); >+ case 0x9: return *((u8*)&thischan.timer + 1); >+ case 0xA: return *((u8*)&thischan.loopstart + 0); >+ case 0xB: return *((u8*)&thischan.loopstart + 1); > } > return 0; > } >@@ -488,8 +488,8 @@ > ); > > //SOUNDBIAS >- case 0x504: return *(u8*)(regs.soundbias + 0); >- case 0x505: return *(u8*)(regs.soundbias + 1); >+ case 0x504: return *((u8*)®s.soundbias + 0); >+ case 0x505: return *((u8*)®s.soundbias + 1); > > //SNDCAP0CNT/SNDCAP1CNT > case 0x508: >@@ -504,24 +504,24 @@ > } > > //SNDCAP0DAD >- case 0x510: return *(u8*)(regs.cap[0].dad + 0); >- case 0x511: return *(u8*)(regs.cap[0].dad + 1); >- case 0x512: return *(u8*)(regs.cap[0].dad + 2); >- case 0x513: return *(u8*)(regs.cap[0].dad + 3); >+ case 0x510: return *((u8*)®s.cap[0].dad + 0); >+ case 0x511: return *((u8*)®s.cap[0].dad + 1); >+ case 0x512: return *((u8*)®s.cap[0].dad + 2); >+ case 0x513: return *((u8*)®s.cap[0].dad + 3); > > //SNDCAP0LEN >- case 0x514: return *(u8*)(regs.cap[0].len + 0); >- case 0x515: return *(u8*)(regs.cap[0].len + 1); >+ case 0x514: return *((u8*)®s.cap[0].len + 0); >+ case 0x515: return *((u8*)®s.cap[0].len + 1); > > //SNDCAP1DAD >- case 0x518: return *(u8*)(regs.cap[1].dad + 0); >- case 0x519: return *(u8*)(regs.cap[1].dad + 1); >- case 0x51A: return *(u8*)(regs.cap[1].dad + 2); >- case 0x51B: return *(u8*)(regs.cap[1].dad + 3); >+ case 0x518: return *((u8*)®s.cap[1].dad + 0); >+ case 0x519: return *((u8*)®s.cap[1].dad + 1); >+ case 0x51A: return *((u8*)®s.cap[1].dad + 2); >+ case 0x51B: return *((u8*)®s.cap[1].dad + 3); > > //SNDCAP1LEN >- case 0x51C: return *(u8*)(regs.cap[1].len + 0); >- case 0x51D: return *(u8*)(regs.cap[1].len + 1); >+ case 0x51C: return *((u8*)®s.cap[1].len + 0); >+ case 0x51D: return *((u8*)®s.cap[1].len + 1); > } //switch on address > > return 0; >@@ -584,15 +584,15 @@ > } > > //SNDCAP0DAD >- case 0x510: return *(u16*)(regs.cap[0].dad + 0); >- case 0x512: return *(u16*)(regs.cap[0].dad + 1); >+ case 0x510: return *((u16*)®s.cap[0].dad + 0); >+ case 0x512: return *((u16*)®s.cap[0].dad + 1); > > //SNDCAP0LEN > case 0x514: return regs.cap[0].len; > > //SNDCAP1DAD >- case 0x518: return *(u16*)(regs.cap[1].dad + 0); >- case 0x51A: return *(u16*)(regs.cap[1].dad + 1); >+ case 0x518: return *((u16*)®s.cap[1].dad + 0); >+ case 0x51A: return *((u16*)®s.cap[1].dad + 1); > > //SNDCAP1LEN > case 0x51C: return regs.cap[1].len; >@@ -768,19 +768,19 @@ > thischan.keyon = (val >> 7) & 0x01; > KeyProbe(chan_num); > break; >- case 0x4: *(u8*)(thischan.addr + 0) = (val & 0xFC); break; >- case 0x5: *(u8*)(thischan.addr + 1) = val; break; >- case 0x6: *(u8*)(thischan.addr + 2) = val; break; >- case 0x7: *(u8*)(thischan.addr + 3) = (val & 0x07); break; //only 27 bits of this register are used >- case 0x8: *(u8*)(thischan.timer + 0) = val; adjust_channel_timer(&thischan); break; >- case 0x9: *(u8*)(thischan.timer + 1) = val; adjust_channel_timer(&thischan); break; >- >- case 0xA: *(u8*)(thischan.loopstart + 0) = val; break; >- case 0xB: *(u8*)(thischan.loopstart + 1) = val; break; >- case 0xC: *(u8*)(thischan.length + 0) = val; break; >- case 0xD: *(u8*)(thischan.length + 1) = val; break; >- case 0xE: *(u8*)(thischan.length + 2) = (val & 0x3F); break; //only 22 bits of this register are used >- case 0xF: *(u8*)(thischan.length + 3) = 0; break; >+ case 0x4: *((u8*)&thischan.addr + 0) = (val & 0xFC); break; >+ case 0x5: *((u8*)&thischan.addr + 1) = val; break; >+ case 0x6: *((u8*)&thischan.addr + 2) = val; break; >+ case 0x7: *((u8*)&thischan.addr + 3) = (val & 0x07); break; //only 27 bits of this register are used >+ case 0x8: *((u8*)&thischan.timer + 0) = val; adjust_channel_timer(&thischan); break; >+ case 0x9: *((u8*)&thischan.timer + 1) = val; adjust_channel_timer(&thischan); break; >+ >+ case 0xA: *((u8*)&thischan.loopstart + 0) = val; break; >+ case 0xB: *((u8*)&thischan.loopstart + 1) = val; break; >+ case 0xC: *((u8*)&thischan.length + 0) = val; break; >+ case 0xD: *((u8*)&thischan.length + 1) = val; break; >+ case 0xE: *((u8*)&thischan.length + 2) = (val & 0x3F); break; //only 22 bits of this register are used >+ case 0xF: *((u8*)&thischan.length + 3) = 0; break; > } //switch on individual channel regs > return; > } >@@ -800,8 +800,8 @@ > break; > > //SOUNDBIAS >- case 0x504: *(u8*)(regs.soundbias + 0) = val; break; >- case 0x505: *(u8*)(regs.soundbias + 1) = (val & 0x03); break; >+ case 0x504: *((u8*)®s.soundbias + 0) = val; break; >+ case 0x505: *((u8*)®s.soundbias + 1) = (val & 0x03); break; > > //SNDCAP0CNT/SNDCAP1CNT > case 0x508: >@@ -818,24 +818,24 @@ > } > > //SNDCAP0DAD >- case 0x510: *(u8*)(regs.cap[0].dad + 0) = (val & 0xFC); break; >- case 0x511: *(u8*)(regs.cap[0].dad + 1) = val; break; >- case 0x512: *(u8*)(regs.cap[0].dad + 2) = val; break; >- case 0x513: *(u8*)(regs.cap[0].dad + 3) = (val & 0x07); break; >+ case 0x510: *((u8*)®s.cap[0].dad + 0) = (val & 0xFC); break; >+ case 0x511: *((u8*)®s.cap[0].dad + 1) = val; break; >+ case 0x512: *((u8*)®s.cap[0].dad + 2) = val; break; >+ case 0x513: *((u8*)®s.cap[0].dad + 3) = (val & 0x07); break; > > //SNDCAP0LEN >- case 0x514: *(u8*)(regs.cap[0].len + 0) = val; break; >- case 0x515: *(u8*)(regs.cap[0].len + 1) = val; break; >+ case 0x514: *((u8*)®s.cap[0].len + 0) = val; break; >+ case 0x515: *((u8*)®s.cap[0].len + 1) = val; break; > > //SNDCAP1DAD >- case 0x518: *(u8*)(regs.cap[1].dad + 0) = (val & 0xFC); break; >- case 0x519: *(u8*)(regs.cap[1].dad + 1) = val; break; >- case 0x51A: *(u8*)(regs.cap[1].dad + 2) = val; break; >- case 0x51B: *(u8*)(regs.cap[1].dad + 3) = (val & 0x07); break; >+ case 0x518: *((u8*)®s.cap[1].dad + 0) = (val & 0xFC); break; >+ case 0x519: *((u8*)®s.cap[1].dad + 1) = val; break; >+ case 0x51A: *((u8*)®s.cap[1].dad + 2) = val; break; >+ case 0x51B: *((u8*)®s.cap[1].dad + 3) = (val & 0x07); break; > > //SNDCAP1LEN >- case 0x51C: *(u8*)(regs.cap[1].len + 0) = val; break; >- case 0x51D: *(u8*)(regs.cap[1].len + 1) = val; break; >+ case 0x51C: *((u8*)®s.cap[1].len + 0) = val; break; >+ case 0x51D: *((u8*)®s.cap[1].len + 1) = val; break; > } //switch on address > } > >@@ -864,12 +864,12 @@ > thischan.keyon = (val >> 15) & 0x1; > KeyProbe(chan_num); > break; >- case 0x4: *(u16*)(thischan.addr + 0) = (val & 0xFFFC); break; >- case 0x6: *(u16*)(thischan.addr + 1) = (val & 0x07FF); break; >+ case 0x4: *((u16*)&thischan.addr + 0) = (val & 0xFFFC); break; >+ case 0x6: *((u16*)&thischan.addr + 1) = (val & 0x07FF); break; > case 0x8: thischan.timer = val; adjust_channel_timer(&thischan); break; > case 0xA: thischan.loopstart = val; break; >- case 0xC: *(u16*)(thischan.length + 0) = val; break; >- case 0xE: *(u16*)(thischan.length + 1) = (val & 0x003F); break; //only 22 bits of this register are used >+ case 0xC: *((u16*)&thischan.length + 0) = val; break; >+ case 0xE: *((u16*)&thischan.length + 1) = (val & 0x003F); break; //only 22 bits of this register are used > } //switch on individual channel regs > return; > } >@@ -911,15 +911,15 @@ > } > > //SNDCAP0DAD >- case 0x510: *(u16*)(regs.cap[0].dad + 0) = (val & 0xFFFC); break; >- case 0x512: *(u16*)(regs.cap[0].dad + 1) = (val & 0x7FFF); break; >+ case 0x510: *((u16*)®s.cap[0].dad + 0) = (val & 0xFFFC); break; >+ case 0x512: *((u16*)®s.cap[0].dad + 1) = (val & 0x7FFF); break; > > //SNDCAP0LEN > case 0x514: regs.cap[0].len = val; break; > > //SNDCAP1DAD >- case 0x518: *(u16*)(regs.cap[1].dad + 0) = (val & 0xFFFC); break; >- case 0x51A: *(u16*)(regs.cap[1].dad + 1) = (val & 0x7FFF); break; >+ case 0x518: *((u16*)®s.cap[1].dad + 0) = (val & 0xFFFC); break; >+ case 0x51A: *((u16*)®s.cap[1].dad + 1) = (val & 0x7FFF); break; > > //SNDCAP1LEN > case 0x51C: regs.cap[1].len = val; break; >--- a/src/ctrlssdl.cpp 2017-04-07 23:01:04.720436913 +0200 >+++ b/src/ctrlssdl.cpp 2017-04-07 23:31:21.361936442 +0200 >@@ -200,7 +200,7 @@ > break; > case SDL_JOYAXISMOTION: > /* Dead zone of 50% */ >- if( (abs(event.jaxis.value) >> 14) != 0 ) >+ if( (std::abs((int)event.jaxis.value) >> 14) != 0 ) > { > key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1); > if (event.jaxis.value > 0) { >@@ -370,7 +370,7 @@ > Note: button constants have a 1bit offset. */ > case SDL_JOYAXISMOTION: > key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1); >- if( (abs(event->jaxis.value) >> 14) != 0 ) >+ if( (std::abs((int)event->jaxis.value) >> 14) != 0 ) > { > if (event->jaxis.value > 0) > key_code |= 1; >--- a/src/rasterize.cpp 2017-04-07 23:01:04.712436779 +0200 >+++ b/src/rasterize.cpp 2017-04-07 23:22:35.066422239 +0200 >@@ -1698,7 +1698,7 @@ > { > for(unsigned int i = 0; i < rasterizerCores; i++) > { >- rasterizerUnitTask[i].execute(&execRasterizerUnit, (void *)i); >+ rasterizerUnitTask[i].execute(&execRasterizerUnit, (void *)(intptr_t)i); > } > } > else >--- a/src/wifi.cpp 2017-04-07 23:01:04.720436913 +0200 >+++ b/src/wifi.cpp 2017-04-07 23:05:32.737362118 +0200 >@@ -314,9 +314,9 @@ > > #if (WIFI_LOGGING_LEVEL >= 1) > #if WIFI_LOG_USE_LOGC >- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__); >+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__); > #else >- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__); >+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__); > #endif > #else > #define WIFI_LOG(level, ...) {}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 612940
:
467354
|
467356
|
467358
|
467360
|
467362
|
467364
|
467366
| 469446