From e32ca426242f0e3c650f3122342792ad42255511 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Thu, 28 Jul 2022 14:04:33 +0100 Subject: [PATCH] doc: Clarify FENV_ACCESS pragma semantics WRT `-ftrapping-math' Our documentation indicates that it is the `-frounding-math' invocation option that controls whether we respect what the FENV_ACCESS pragma would imply, should we implement it, regarding the floating point environment. It is only a part of the picture however, because the `-ftrapping-math' invocation option also affects how we handle said environment. Clarify that in the description of both options then, as well as the FENV_ACCESS pragma itself. gcc/ * doc/implement-c.texi (Floating point implementation): Mention `-fno-trapping-math' in the context of FENV_ACCESS pragma. * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma implication in the descriptions of `-fno-trapping-math' and `-frounding-math'. --- gcc/doc/implement-c.texi | 3 ++- gcc/doc/invoke.texi | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/doc/implement-c.texi b/gcc/doc/implement-c.texi index 93b8ddadd11e..c2088ffa777d 100644 --- a/gcc/doc/implement-c.texi +++ b/gcc/doc/implement-c.texi @@ -339,7 +339,8 @@ This is subject to change. 7.6.1).} This pragma is not implemented, but the default is to ``off'' unless -@option{-frounding-math} is used in which case it is ``on''. +@option{-frounding-math} is used and @option{-fno-trapping-math} is not +in which case it is ``on''. @item @cite{Additional floating-point exceptions, rounding modes, environments, diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index fa23fbeaaaa2..fd7edd1938d2 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13674,6 +13674,11 @@ math functions. The default is @option{-ftrapping-math}. +Future versions of GCC may provide finer control of this setting +using C99's @code{FENV_ACCESS} pragma. This command-line option +will be used along with @option{-frounding-math} to specify the +default state for @code{FENV_ACCESS}. + @item -frounding-math @opindex frounding-math Disable transformations and optimizations that assume default floating-point @@ -13692,7 +13697,8 @@ This option is experimental and does not currently guarantee to disable all GCC optimizations that are affected by rounding mode. Future versions of GCC may provide finer control of this setting using C99's @code{FENV_ACCESS} pragma. This command-line option -will be used to specify the default state for @code{FENV_ACCESS}. +will be used along with @option{-ftrapping-math} to specify the +default state for @code{FENV_ACCESS}. @item -fsignaling-nans @opindex fsignaling-nans -- 2.47.2