diff options
author | Joseph Myers <joseph@codesourcery.com> | 2016-08-03 17:30:41 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2016-08-03 17:30:41 +0000 |
commit | bf91be88ea90c1ea888d5646270d66363389ce96 (patch) | |
tree | 47698077c37a33c048dd303dfe41366d2f017bca /manual/arith.texi | |
parent | f2de695bf6ab3d346bf0ec4e436f124cff8edfd4 (diff) | |
download | glibc-bf91be88ea90c1ea888d5646270d66363389ce96.zip glibc-bf91be88ea90c1ea888d5646270d66363389ce96.tar.gz glibc-bf91be88ea90c1ea888d5646270d66363389ce96.tar.bz2 |
Support __STDC_WANT_IEC_60559_BFP_EXT__ feature test macro.
This patch implements support for the __STDC_WANT_IEC_60559_BFP_EXT__
feature test macro from ISO/IEC 18661-1:2014, following the
__GLIBC_USE approach now used for __STDC_WANT_LIB_EXT2__. For this
macro, the relevant consideration is whether it is defined or
undefined when an affected header is included (not what its value is
if defined, and not whether it's defined or undefined when any other
unaffected system header is included).
Currently this macro only affects the issignaling macro and the nextup
and nextdown functions (so they can be enabled by defining this macro,
not just by defining _GNU_SOURCE as previously). Any further features
from this TS added in future would also be conditioned on this macro.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
* bits/libc-header-start.h (__GLIBC_USE_IEC_60559_BFP_EXT): New
macro.
* include/features.h (__STDC_WANT_IEC_60559_BFP_EXT__): Document.
* manual/arith.texi (issignaling): Document as ISO from TS
18661-1:2014.
(nextup): Likewise.
(nextupf): Likewise.
(nextupl): Likewise.
(nextdown): Likewise.
(nextdownf): Likewise.
(nextdownl): Likewise.
* manual/creature.texi (__STDC_WANT_IEC_60559_BFP_EXT__): Document
macro.
* math/math.h: Define
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include
<bits/libc-header-start.h> instead of including <features.h>.
(issignaling): Define if [__GLIBC_USE (IEC_60559_BFP_EXT)], not
[__USE_GNU].
* math/bits/mathcalls.h (nextdown): Declare if
[__GLIBC_USE (IEC_60559_BFP_EXT)], not [__USE_GNU].
(nextup): Likewise.
(__issignaling): Likewise.
Diffstat (limited to 'manual/arith.texi')
-rw-r--r-- | manual/arith.texi | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/manual/arith.texi b/manual/arith.texi index f54b1ec..3d8bdd8 100644 --- a/manual/arith.texi +++ b/manual/arith.texi @@ -397,12 +397,11 @@ to @end deftypefn @comment math.h -@comment GNU +@comment ISO @deftypefn {Macro} int issignaling (@emph{float-type} @var{x}) @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} This macro returns a nonzero value if @var{x} is a signaling NaN -(sNaN). It is based on draft TS 18661 and currently enabled as a GNU -extension. +(sNaN). It is from TS 18661-1:2014. @end deftypefn Another set of floating-point classification functions was provided by @@ -1703,13 +1702,13 @@ double}. @end deftypefun @comment math.h -@comment GNU +@comment ISO @deftypefun double nextup (double @var{x}) @comment math.h -@comment GNU +@comment ISO @deftypefunx float nextupf (float @var{x}) @comment math.h -@comment GNU +@comment ISO @deftypefunx {long double} nextupl (long double @var{x}) @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} The @code{nextup} function returns the next representable neighbor of @var{x} @@ -1718,18 +1717,18 @@ subnormal number in the type of @var{x} the function returns @code{-0}. If @math{@var{x} = @code{0}} the function returns the smallest positive subnormal number in the type of @var{x}. If @var{x} is NaN, NaN is returned. If @var{x} is @math{+@infinity{}}, @math{+@infinity{}} is returned. -@code{nextup} is based on TS 18661 and currently enabled as a GNU extension. +@code{nextup} from TS 18661-1:2014. @code{nextup} never raises an exception except for signaling NaNs. @end deftypefun @comment math.h -@comment GNU +@comment ISO @deftypefun double nextdown (double @var{x}) @comment math.h -@comment GNU +@comment ISO @deftypefunx float nextdownf (float @var{x}) @comment math.h -@comment GNU +@comment ISO @deftypefunx {long double} nextdownl (long double @var{x}) @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} The @code{nextdown} function returns the next representable neighbor of @var{x} @@ -1738,7 +1737,7 @@ subnormal number in the type of @var{x} the function returns @code{+0}. If @math{@var{x} = @code{0}} the function returns the smallest negative subnormal number in the type of @var{x}. If @var{x} is NaN, NaN is returned. If @var{x} is @math{-@infinity{}}, @math{-@infinity{}} is returned. -@code{nextdown} is based on TS 18661 and currently enabled as a GNU extension. +@code{nextdown} is from TS 18661-1:2014. @code{nextdown} never raises an exception except for signaling NaNs. @end deftypefun |