https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107815
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to r...@cebitec.uni-bielefeld.de from comment #10) > It's only necessary on sparc: i386-pc-solaris2.11 PASSed even before. > That's what I've been using successfully last night: > > +// Solaris has non-conforming printf, see PR98384 and PR107815. > +#if !(defined(__sun__) && defined(__svr4__) && defined(__sparc__)) > std::numeric_limits<std::float128_t>::max() > +#endif I think i386-pc-solaris2.11 doesn't do anything for the test. While __STDCPP_FLOAT128_T__ is defined there, _GLIBCXX_LDOUBLE_IS_IEEE_BINARY128 shouldn't be (long double I bet is Intel extended 80-bit format) and _GLIBCXX_HAVE_FLOAT128_MATH is defined for now only on glibc 2.26 or later (where the library provides sinf128 etc. APIs for _Float128).