Hello,
this patch documents that __builtin_isinf_sign returns +-1 for +-Inf. This
builtin was created so it could be used by a libc that has a stronger
guarantee than the standard, and for glibc that means returning +-1, which
is what the code already does.
2013-06-10 Marc Glisse <[email protected]>
PR middle-end/57219
* doc/extend.texi (__builtin_isinf_sign): Restrict the return
values to -1, 0 and 1.
--
Marc GlisseIndex: doc/extend.texi
===================================================================
--- doc/extend.texi (revision 199867)
+++ doc/extend.texi (working copy)
@@ -8603,22 +8603,23 @@ Similar to @code{__builtin_inf}, except
Similar to @code{__builtin_inf}, except the return type is @code{float}.
This function is suitable for implementing the ISO C99 macro @code{INFINITY}.
@end deftypefn
@deftypefn {Built-in Function} {long double} __builtin_infl (void)
Similar to @code{__builtin_inf}, except the return
type is @code{long double}.
@end deftypefn
@deftypefn {Built-in Function} int __builtin_isinf_sign (...)
-Similar to @code{isinf}, except the return value is negative for
-an argument of @code{-Inf}. Note while the parameter list is an
+Similar to @code{isinf}, except the return value is -1 for
+an argument of @code{-Inf} and 1 for an argument of @code{+Inf}.
+Note while the parameter list is an
ellipsis, this function only accepts exactly one floating-point
argument. GCC treats this parameter as type-generic, which means it
does not do default promotion from float to double.
@end deftypefn
@deftypefn {Built-in Function} double __builtin_nan (const char *str)
This is an implementation of the ISO C99 function @code{nan}.
Since ISO C99 defines this function in terms of @code{strtod}, which we
do not implement, a description of the parsing is in order. The string