diff options
author | James Greenhalgh <james.greenhalgh@arm.com> | 2016-11-23 17:20:37 +0000 |
---|---|---|
committer | James Greenhalgh <jgreenhalgh@gcc.gnu.org> | 2016-11-23 17:20:37 +0000 |
commit | 04f0fcf7bdfa1b4d153ca37df8843c44ed8c4d93 (patch) | |
tree | 343934567075da4bb109dc150aba66e28db9662b /gcc/doc | |
parent | b89de1b8ddc95632605c599c0e2555307a68a2af (diff) | |
download | gcc-04f0fcf7bdfa1b4d153ca37df8843c44ed8c4d93.zip gcc-04f0fcf7bdfa1b4d153ca37df8843c44ed8c4d93.tar.gz gcc-04f0fcf7bdfa1b4d153ca37df8843c44ed8c4d93.tar.bz2 |
[Patch 5/17] Add -fpermitted-flt-eval-methods=[c11|ts-18661-3]
gcc/c-family/
* c-opts.c (c_common_post_options): Add logic to handle the default
case for -fpermitted-flt-eval-methods.
gcc/
* common.opt (fpermitted-flt-eval-methods): New.
* doc/invoke.texi (-fpermitted-flt-eval-methods): Document it.
* flag_types.h (permitted_flt_eval_methods): New.
gcc/testsuite/
* gcc.dg/fpermitted-flt-eval-methods_1.c: New.
* gcc.dg/fpermitted-flt-eval-methods_2.c: New.
From-SVN: r242775
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 32c7a08..a9d0609 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -178,6 +178,7 @@ in the following sections. @item C Language Options @xref{C Dialect Options,,Options Controlling C Dialect}. @gccoptlist{-ansi -std=@var{standard} -fgnu89-inline @gol +-fpermitted-flt-eval-methods=@var{standard} @gol -aux-info @var{filename} -fallow-parameterless-variadic-functions @gol -fno-asm -fno-builtin -fno-builtin-@var{function} -fgimple@gol -fhosted -ffreestanding -fopenacc -fopenmp -fopenmp-simd @gol @@ -1867,6 +1868,30 @@ The preprocessor macros @code{__GNUC_GNU_INLINE__} and in effect for @code{inline} functions. @xref{Common Predefined Macros,,,cpp,The C Preprocessor}. +@item -fpermitted-flt-eval-methods=@var{style} +@opindex fpermitted-flt-eval-methods +@opindex fpermitted-flt-eval-methods=c11 +@opindex fpermitted-flt-eval-methods=ts-18661-3 +ISO/IEC TS 18661-3 defines new permissible values for +@code{FLT_EVAL_METHOD} that indicate that operations and constants with +a semantic type that is an interchange or extended format should be +evaluated to the precision and range of that type. These new values are +a superset of those permitted under C99/C11, which does not specify the +meaning of other positive values of @code{FLT_EVAL_METHOD}. As such, code +conforming to C11 may not have been written expecting the possibility of +the new values. + +@option{-fpermitted-flt-eval-methods} specifies whether the compiler +should allow only the values of @code{FLT_EVAL_METHOD} specified in C99/C11, +or the extended set of values specified in ISO/IEC TS 18661-3. + +@var{style} is either @code{c11} or @code{ts-18661-3} as appropriate. + +The default when in a standards compliant mode (@option{-std=c11} or similar) +is @option{-fpermitted-flt-eval-methods=c11}. The default when in a GNU +dialect (@option{-std=gnu11} or similar) is +@option{-fpermitted-flt-eval-methods=ts-18661-3}. + @item -aux-info @var{filename} @opindex aux-info Output to the given filename prototyped declarations for all functions |