Using the following test program: $ cat test1.cpp #include <math.h> int main() { return 0; } $ g++-8 -mno-float128 test.cpp In file included from /usr/include/c++/8/cmath:47, from /usr/include/c++/8/math.h:36, from test.cpp:1: /usr/include/c++/8/bits/std_abs.h:101:3: error: ‘__float128’ does not name a type; did you mean ‘__floorl’? __float128 ^~~~~~~~~~ __floorl I reproduced this problem on powerpc64le. I have a patch to fix this.
Tulio will handle this.
Fix posted to: https://gcc.gnu.org/ml/gcc-patches/2018-03/msg01389.html
Author: redi Date: Tue May 1 22:47:33 2018 New Revision: 259813 URL: https://gcc.gnu.org/viewcvs?rev=259813&root=gcc&view=rev Log: PR libstdc++/84654 Disable __float128 specializations for -mno-float128 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> PR libstdc++/84654 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128. * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128. * configure: Regenerate. * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128 based on ENABLE_FLOAT128. * include/Makefile.in: Regenerate. * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128. [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine _GLIBCXX_USE_FLOAT128. Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/acinclude.m4 trunk/libstdc++-v3/config.h.in trunk/libstdc++-v3/configure trunk/libstdc++-v3/include/Makefile.am trunk/libstdc++-v3/include/Makefile.in trunk/libstdc++-v3/include/bits/c++config
Fixed for GCC 9. This might be suitable to backport to release branches after some soak time on the trunk.
Author: redi Date: Tue Jul 31 09:38:28 2018 New Revision: 263084 URL: https://gcc.gnu.org/viewcvs?rev=263084&root=gcc&view=rev Log: PR libstdc++/84654 Disable __float128 specializations for -mno-float128 Backport from mainline 2018-05-08 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/85672 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero. * include/Makefile.in: Regenerate. * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition within conditional block. Backport from mainline 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> PR libstdc++/84654 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128. * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128. * configure: Regenerate. * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128 based on ENABLE_FLOAT128. * include/Makefile.in: Regenerate. * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128. [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine _GLIBCXX_USE_FLOAT128. Modified: branches/gcc-8-branch/libstdc++-v3/ChangeLog branches/gcc-8-branch/libstdc++-v3/acinclude.m4 branches/gcc-8-branch/libstdc++-v3/config.h.in branches/gcc-8-branch/libstdc++-v3/configure branches/gcc-8-branch/libstdc++-v3/include/Makefile.am branches/gcc-8-branch/libstdc++-v3/include/Makefile.in branches/gcc-8-branch/libstdc++-v3/include/bits/c++config
Backported to gcc-8-branch for 8.3
Author: redi Date: Tue Aug 7 22:50:49 2018 New Revision: 263382 URL: https://gcc.gnu.org/viewcvs?rev=263382&root=gcc&view=rev Log: PR libstdc++/84654 Disable __float128 specializations for -mno-float128 Backport from mainline 2018-05-08 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/85672 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero. * include/Makefile.in: Regenerate. * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition within conditional block. Backport from mainline 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> PR libstdc++/84654 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128. * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128. * configure: Regenerate. * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128 based on ENABLE_FLOAT128. * include/Makefile.in: Regenerate. * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128. [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine _GLIBCXX_USE_FLOAT128. Modified: branches/gcc-7-branch/libstdc++-v3/ChangeLog branches/gcc-7-branch/libstdc++-v3/acinclude.m4 branches/gcc-7-branch/libstdc++-v3/config.h.in branches/gcc-7-branch/libstdc++-v3/configure branches/gcc-7-branch/libstdc++-v3/include/Makefile.am branches/gcc-7-branch/libstdc++-v3/include/Makefile.in branches/gcc-7-branch/libstdc++-v3/include/bits/c++config
Backported to gcc-7-branch for 7.4