From db4cb4668b046ae988914ae49105ff3cc0bc9d92 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sat, 8 Jan 2022 11:10:05 -0800 Subject: [PATCH] [docs] Fix documentation of -fno-strict-float-cast-overflow after D115804. Previously this was documented as having the behavior of the "target's native float-to-int conversion". After D115804, clang uses saturating FP cast intrinsics which have the same behavior on all targets. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D116856 --- clang/docs/ReleaseNotes.rst | 3 +++ clang/docs/UsersManual.rst | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 7e24d06567fc..d7c78c73ceb0 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -243,6 +243,9 @@ Floating Point Support in Clang -ffp-contract=fast, whereas the (now corrected) default behavior is -ffp-contract=on. -ffp-model=precise is now exactly the default mode of the compiler. +- -fstrict-float-cast-overflow no longer has target specific behavior. Clang + will saturate towards the smallest and largest representable integer values. + NaNs will be converted to zero. Internal API Changes -------------------- diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst index d83b7a27bb3b..5f46322f19af 100644 --- a/clang/docs/UsersManual.rst +++ b/clang/docs/UsersManual.rst @@ -1380,8 +1380,8 @@ floating point semantic models: precise (the default), strict, and fast. When a floating-point value is not representable in a destination integer type, the code has undefined behavior according to the language standard. By default, Clang will not guarantee any particular result in that case. - With the 'no-strict' option, Clang attempts to match the overflowing behavior - of the target's native float-to-int conversion instructions. + With the 'no-strict' option, Clang will saturate towards the smallest and + largest representable integer values instead. NaNs will be converted to zero. .. _opt_fmath-errno: