char is signed by default on x86 but unsigned on some ARM platforms and the table needs to contain -1. This leads to errors like this:
src/component_types/base_packed_component.h: In static member function ‘static unsigned int BasePackedComponent::log2(unsigned int)’:
src/component_types/base_packed_component.h:128:10: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
char
issigned
by default on x86 butunsigned
on some ARM platforms and the table needs to contain -1. This leads to errors like this:This was discovered when building GANAK for julia (Yggdrasil) at https://github.com/JuliaPackaging/Yggdrasil/pull/6393 for the following platforms:
Two more minor fixes that were necessary will follow in separate PRs.
cc: @lkastner