Closed jengelh closed 1 year ago
abuild@a4:~> echo -en '_Float16 x;' >x.cpp
abuild@a4:~> g++ -v -c x.cpp
Using built-in specs.
Reading specs from /usr/lib/gcc/i586-suse-linux/13/defaults.spec
COLLECT_GCC=g++
Target: i586-suse-linux
Configured with: ../configure CFLAGS=' -fomit-frame-pointer -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' CXXFLAGS=' -fomit-frame-pointer -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' XCFLAGS=' -fomit-frame-pointer -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' TCFLAGS=' -fomit-frame-pointer -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' GDCFLAGS=' -fomit-frame-pointer -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,obj-c++,ada,go,d,jit,m2 --enable-host-shared --enable-checking=release --disable-werror --with-gxx-include-dir=/usr/include/c++/13 --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --enable-ssp --disable-libssp --disable-libvtv --enable-cet=auto --disable-libcc1 --enable-plugin --with-bugurl=https://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --with-slibdir=/lib --with-system-zlib --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-libphobos --enable-version-specific-runtime-libs --with-gcc-major-version-only --enable-linker-build-id --enable-linux-futex --enable-gnu-indirect-function --program-suffix=-13 --without-system-libunwind --with-arch-32=i586 --with-tune=generic --enable-link-serialization --build=i586-suse-linux --host=i586-suse-linux
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.1 20230803 [revision cc279d6c64562f05019e1d12d0d825f9391b5553] (SUSE Linux)
COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' '-fPIE' '-pie' '-mtune=generic' '-march=i586'
/usr/lib/gcc/i586-suse-linux/13/cc1plus -quiet -v -D_GNU_SOURCE x.cpp -quiet -dumpbase x.cpp -dumpbase-ext .cpp -mtune=generic -march=i586 -version -fPIE -o /tmp/ccXTEU23.s
GNU C++17 (SUSE Linux) version 13.2.1 20230803 [revision cc279d6c64562f05019e1d12d0d825f9391b5553] (i586-suse-linux)
compiled by GNU C version 13.2.1 20230803 [revision cc279d6c64562f05019e1d12d0d825f9391b5553], GMP version 6.3.0, MPFR version 4.2.0-p9, MPC version 1.3.1, isl version isl-0.26-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/13
/usr/include/c++/13/i586-suse-linux
/usr/include/c++/13/backward
/usr/lib/gcc/i586-suse-linux/13/include
/usr/local/include
/usr/lib/gcc/i586-suse-linux/13/include-fixed
/usr/lib/gcc/i586-suse-linux/13/../../../../i586-suse-linux/include
/usr/include
End of search list.
Compiler executable checksum: 00000000000000000000000000000000
x.cpp:1:1: error: '_Float16' is not supported on this target
1 | _Float16 x;
| ^~~~~~~~
x.cpp:1:1: error: expected unqualified-id before '_Float16'
Regressed by 9b80d372f5bd (GCC) and 4d7947a69ce0 (Clang). Also affects FreeBSD i386.
Thanks for reporting this. _Float16 has caused a bunch of trouble :/ I haven't found exact documentation on where exactly it is supported, only 'It will be supported on more targets as they define ABIs for it.'. On x86 it seems to require SSE2, so we're checking for that in #1664. I will suggest that libjxl update to a later release that includes this fix.
It appears it also fails on i686-w64-mingw32.
FYI we are planning a 1.0.7 release soon that will include this fix.
1.0.7 is released. Marking as fixed :)
Version: 1.0.6
This release outright fails to build on contemporary i586-linux