commit: 7cfe950605746b9a832efda51bc1562e0ddaf338 Author: Peter-Levine <plevine457 <AT> gmail <DOT> com> AuthorDate: Sat May 6 18:01:45 2017 +0000 Commit: David Seifert <soap <AT> gentoo <DOT> org> CommitDate: Sun May 7 07:55:11 2017 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cfe9506
games-emulation/desmume: Fix building with GCC-6 Bug: https://bugs.gentoo.org/show_bug.cgi?id=612940 Package-Manager: Portage-2.3.5, Repoman-2.3.2 Closes: https://github.com/gentoo/gentoo/pull/4558 games-emulation/desmume/desmume-0.9.11-r1.ebuild | 7 +++- .../desmume/files/desmume-0.9.11-gcc6.patch | 47 ++++++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/games-emulation/desmume/desmume-0.9.11-r1.ebuild b/games-emulation/desmume/desmume-0.9.11-r1.ebuild index d6041d39345..ec05ed16af7 100644 --- a/games-emulation/desmume/desmume-0.9.11-r1.ebuild +++ b/games-emulation/desmume/desmume-0.9.11-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -28,4 +28,7 @@ DOCS=( AUTHORS ChangeLog README README.LIN ) # fix QA compiler warning, see # https://sourceforge.net/p/desmume/patches/172/ -PATCHES=( "${FILESDIR}/${P}-fix-pointer-conversion-warning.diff" ) +PATCHES=( + "${FILESDIR}/${P}-fix-pointer-conversion-warning.diff" + "${FILESDIR}/${P}-gcc6.patch" +) diff --git a/games-emulation/desmume/files/desmume-0.9.11-gcc6.patch b/games-emulation/desmume/files/desmume-0.9.11-gcc6.patch new file mode 100644 index 00000000000..761ccef045c --- /dev/null +++ b/games-emulation/desmume/files/desmume-0.9.11-gcc6.patch @@ -0,0 +1,47 @@ +--- a/src/wifi.cpp ++++ b/src/wifi.cpp +@@ -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, ...) {} +--- a/src/MMU_timing.h ++++ b/src/MMU_timing.h +@@ -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/ctrlssdl.cpp ++++ b/src/ctrlssdl.cpp +@@ -200,7 +200,7 @@ + break; + case SDL_JOYAXISMOTION: + /* Dead zone of 50% */ +- if( (abs(event.jaxis.value) >> 14) != 0 ) ++ if( ((u32)abs(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( ((u32)abs(event->jaxis.value) >> 14) != 0 ) + { + if (event->jaxis.value > 0) + key_code |= 1;
