https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70117
--- Comment #11 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- On Mon, 14 Mar 2016, rguenth at gcc dot gnu.org wrote: > but it will end up with libcalls for isinf, isfinite and isnormal for > IBM extended double. I'm told glibc does the right thing for the gnulib And corresponding libcalls don't exist (or at least GCC doesn't know of them; glibc has some functions such as __isinfl internally). For the question of correctness of LDBL_MAX - and the related question of whether LDBL_EPSILON, although correct by the current standard definition, should change - see DR#467 (open). (But the reference there to DBL_MAX*2 as a finite number does not apply to the IBM long double format implemented by GCC, because of the rule about the round-to-nearest sum of the two parts equalling the top part.) (libgcc/config/rs6000/ibm-ldouble-format defines values with more than 106 mantissa bits not to be normal - denormal but not subnormal.)