-
-
Notifications
You must be signed in to change notification settings - Fork 66
Description
I am getting compiler errors when cross-compiling for different platforms.
gcc-14/linux-arm64 (and the same for gcc-14/linux-powerpc64le):
In file included from /home/goopax-build/goopax/ext/universal/include/sw/universal/native/ieee754_longdouble.hpp:38, from /home/goopax-build/goopax/ext/universal/include/sw/universal/native/ieee754.hpp:35, from /home/goopax-build/goopax/ext/universal/include/sw/universal/number/cfloat/cfloat_impl.hpp:24, from /home/goopax-build/goopax/ext/universal/include/sw/universal/number/cfloat/cfloat.hpp:63, from /home/goopax-build/goopax/lib/bits/vulkan/../gpu.h:18, from /home/goopax-build/goopax/lib/bits/vulkan/../kernelcore.h:5, from /home/goopax-build/goopax/lib/bits/vulkan/../env_implbase.h:8, from /home/goopax-build/goopax/lib/bits/vulkan/../device.h:7, from /home/goopax-build/goopax/lib/bits/vulkan/device.h:3, from /home/goopax-build/goopax/lib/bits/vulkan/device.cpp:1: /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/gcc_long_double.hpp: In function 'std::string sw::universal::to_binary(long double, bool)': /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/gcc_long_double.hpp:120:29: error: 'struct sw::universal::long_double_decoder::<unnamed>' has no member named 'bit63' 120 | s << (decoder.parts.bit63 ? '1' : '0'); | ^~~~~ /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/gcc_long_double.hpp: In function 'std::string sw::universal::to_triple(long double)': /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/gcc_long_double.hpp:154:29: error: 'struct sw::universal::long_double_decoder::<unnamed>' has no member named 'bit63' 154 | s << (decoder.parts.bit63 ? '1' : '0'); | ^~~~~ /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/gcc_long_double.hpp: In function 'std::string sw::universal::color_print(long double)': /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/gcc_long_double.hpp:198:40: error: 'struct sw::universal::long_double_decoder::<unnamed>' has no member named 'bit63' 198 | s << magenta << (decoder.parts.bit63 ? '1' : '0'); | ^~~~~
clang/android:
In file included from /home/goopax-build/goopax/ext/universal/include/sw/universal/number/cfloat/cfloat.hpp:63: In file included from /home/goopax-build/goopax/ext/universal/include/sw/universal/number/cfloat/cfloat_impl.hpp:24: In file included from /home/goopax-build/goopax/ext/universal/include/sw/universal/native/ieee754.hpp:35: In file included from /home/goopax-build/goopax/ext/universal/include/sw/universal/native/ieee754_longdouble.hpp:37: /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/clang_long_double.hpp:344:17: error: static assertion failed due to requirement 'sizeof(long double) == 8': This function only works when long double is cast to a 64 bit double 344 | static_assert(sizeof(long double) == 8, "This function only works when long double is cast to a 64 bit double"); | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/clang_long_double.hpp:344:37: note: expression evaluates to '16 == 8' 344 | static_assert(sizeof(long double) == 8, "This function only works when long double is cast to a 64 bit double"); | ~~~~~~~~~~~~~~~~~~~~^~~~
gcc-14/windows:
In file included from /home/goopax-build/goopax/ext/universal/include/sw/universal/native/ieee754_longdouble.hpp:38, from /home/goopax-build/goopax/ext/universal/include/sw/universal/native/ieee754.hpp:35, from /home/goopax-build/goopax/ext/universal/include/sw/universal/number/cfloat/cfloat_impl.hpp:24, from /home/goopax-build/goopax/ext/universal/include/sw/universal/number/cfloat/cfloat.hpp:63, from /home/goopax-build/goopax/lib/bits/vulkan/../gpu.h:18, from /home/goopax-build/goopax/lib/bits/vulkan/../kernelcore.h:5, from /home/goopax-build/goopax/lib/bits/vulkan/../env_implbase.h:8, from /home/goopax-build/goopax/lib/bits/vulkan/../device.h:7, from /home/goopax-build/goopax/lib/bits/vulkan/device.h:3, from /home/goopax-build/goopax/lib/bits/vulkan/device.cpp:1: /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/gcc_long_double.hpp:229:13: error: redefinition of 'void sw::universal::extract_fp_components(long double, bool&, int&, long double&, long long unsigned int&)' 229 | inline void extract_fp_components(long double fp, bool& _sign, int& _exponent, long double& _fr, unsigned long long& _fraction) { | ^~~~~~~~~~~~~~~~~~~~~ In file included from /home/goopax-build/goopax/ext/universal/include/sw/universal/native/ieee754_longdouble.hpp:33: /home/goopax-build/goopax/ext/universal/include/sw/universal/native/nonconstexpr/extract_fp_components.hpp:34:13: note: 'void sw::universal::extract_fp_components(long double, bool&, int&, long double&, uint64_t&)' previously defined here 34 | inline void extract_fp_components(long double fp, bool& _sign, int& _exponent, long double& _fr, std::uint64_t& _fraction) { | ^~~~~~~~~~~~~~~~~~~~~