Bug#831098: libretro-desmume: FTBFS with GCC 6: src/MMU_timing.h:158:28: error: left operand of shift expression '(-1 << 11)' is negative [-fpermissive]

Lucas Nussbaum lucas at debian.org
Thu Jul 14 07:07:49 UTC 2016


Source: libretro-desmume
Version: 0.9.11+git20160319+dfsg1-1
Severity: serious
Tags: stretch sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20160713 qa-ftbfs
Justification: FTBFS with GCC 6 on amd64

Hi,

During a rebuild of all packages in sid using the gcc-defaults package
available in experimental to make GCC default to version 6, your package failed
to build on amd64. For more information about GCC 6 and Stretch, see:
- https://wiki.debian.org/GCC6
- https://lists.debian.org/debian-devel-announce/2016/06/msg00007.html

Relevant part (hopefully):
> g++ -g -fstack-protector-strong -Wformat -Werror=format-security -DHAVE_JIT -DNDEBUG -O3 -D__LIBRETRO__ -fPIC -Isrc -Isrc/libretro  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o src/armcpu.o src/armcpu.cpp
> In file included from src/armcpu.cpp:34:0:
> src/MMU_timing.h: In instantiation of 'class CacheController<13, 2, 5>':
> src/MMU_timing.h:253:26:   required from here
> src/MMU_timing.h:158:28: error: left operand of shift expression '(-1 << 11)' is negative [-fpermissive]
>   enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
>                         ~~~~^~~~~~~~~~~~
> src/MMU_timing.h:158:7: error: enumerator value for 'TAGMASK' is not an integer constant
>   enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
>        ^
> src/MMU_timing.h:159:61: error: left operand of shift expression '(-1 << 5)' is negative [-fpermissive]
>   enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
>                                                          ~~~~^~~~~~~~~~~~~~~~~~
> src/MMU_timing.h:159:7: error: enumerator value for 'BLOCKMASK' is not an integer constant
>   enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
>        ^
> src/MMU_timing.h: In instantiation of 'class CacheController<12, 2, 5>':
> src/MMU_timing.h:254:26:   required from here
> src/MMU_timing.h:158:28: error: left operand of shift expression '(-1 << 10)' is negative [-fpermissive]
>   enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
>                         ~~~~^~~~~~~~~~~~
> src/MMU_timing.h:158:7: error: enumerator value for 'TAGMASK' is not an integer constant
>   enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
>        ^
> src/MMU_timing.h:159:61: error: left operand of shift expression '(-1 << 5)' is negative [-fpermissive]
>   enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
>                                                          ~~~~^~~~~~~~~~~~~~~~~~
> src/MMU_timing.h:159:7: error: enumerator value for 'BLOCKMASK' is not an integer constant
>   enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
>        ^
> make[2]: *** [src/armcpu.o] Error 1

The full build log is available from:
   http://people.debian.org/~lucas/logs/2016/07/13/libretro-desmume_0.9.11+git20160319+dfsg1-1_unstable_gcc6.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Pkg-games-devel mailing list