[vlc-devel] [PATCH] contrib: sidplay2: fix signed char stored as int8_t
Steve Lhomme
robux4 at ycbcr.xyz
Thu Jan 9 13:07:12 CET 2020
On 2020-01-09 12:56, Martin Storsjö wrote:
> On Thu, 9 Jan 2020, Steve Lhomme wrote:
>
>> This is the error I get:
>>
>> /bin/bash ../../libtool --tag=CXX --mode=compile
>> arm-linux-gnueabihf-g++ -DHAVE_CONFIG_H
>> -I/mnt/c/Users/robux/Documents/Programs/Videolabs/build/rasp/contrib/arm-linux-gnueabihf/include
>>
>> -I/mnt/c/Users/robux/Documents/Programs/Videolabs/build/rasp/contrib/arm-linux-gnueabihf/include
>>
>> -g -O2 -DHAVE_UNIX -I../../include -I../../include/sidplay -c -o
>> xsid.lo xsid.cpp
>> libtool: compile: arm-linux-gnueabihf-g++ -DHAVE_CONFIG_H
>> -I/mnt/c/Users/robux/Documents/Programs/Videolabs/build/rasp/contrib/arm-linux-gnueabihf/include
>> -I/mnt/c/Users/robux/Documents/Programs/Videolabs/build/rasp/contrib/arm-linux-gnueabihf/include
>> -g -O2 -DHAVE_UNIX -I../../include -I../../include/sidplay -c xsid.cpp
>> -fPIC -DPIC -o xsid.o
>> xsid.cpp:101:1: error: narrowing conversion of ‘'\200'’ from ‘char’ to
>> ‘int8_t’ {aka ‘signed char’} [-Wnarrowing]
>> 101 | };
>> | ^
>> xsid.cpp:101:1: error: narrowing conversion of ‘'\224'’ from ‘char’ to
>> ‘int8_t’ {aka ‘signed char’} [-Wnarrowing]
>> xsid.cpp:101:1: error: narrowing conversion of ‘'\251'’ from ‘char’ to
>> ‘int8_t’ {aka ‘signed char’} [-Wnarrowing]
>> xsid.cpp:101:1: error: narrowing conversion of ‘'\274'’ from ‘char’ to
>> ‘int8_t’ {aka ‘signed char’} [-Wnarrowing]
>> xsid.cpp:101:1: error: narrowing conversion of ‘'\316'’ from ‘char’ to
>> ‘int8_t’ {aka ‘signed char’} [-Wnarrowing]
>> xsid.cpp:101:1: error: narrowing conversion of ‘'\341'’ from ‘char’ to
>> ‘int8_t’ {aka ‘signed char’} [-Wnarrowing]
>> xsid.cpp:101:1: error: narrowing conversion of ‘'\362'’ from ‘char’ to
>> ‘int8_t’ {aka ‘signed char’} [-Wnarrowing]
>> make[4]: *** [Makefile:409: xsid.lo] Error 1
>
> Ok, right, well as the current data type is int8_t, I would expect that
> it actually will behave totally differently if you suddenly make it an
> unsigned data type. (On ARM linux, unqualified char is unsigned.)
>
> The best bet here would simply be to rewrite the table to use proper
> negative values (or an (int8_t) cast on each of them); as it's only 16
> values, it should be pretty doable.
Indeed. That sounds better.
More information about the vlc-devel
mailing list