[clang] [Clang][doc] -ffp-contract options and standard compliance (PR #127621)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 18 09:52:39 PST 2025
================
@@ -1681,19 +1681,25 @@ for more details.
permitted to produce more precise results than performing the same
operations separately.
- The C standard permits intermediate floating-point results within an
+ The C/C++ standard permits intermediate floating-point results within an
expression to be computed with more precision than their type would
normally allow. This permits operation fusing, and Clang takes advantage
- of this by default. This behavior can be controlled with the ``FP_CONTRACT``
- and ``clang fp contract`` pragmas. Please refer to the pragma documentation
- for a description of how the pragmas interact with this option.
+ of this by default (``on``). Fusion across statements is non-C/C++ standard
+ compliant behavior and can be enabled (``fast``).
+
+ Fusion can be controlled with the ``FP_CONTRACT`` and ``clang fp contract``
----------------
andykaylor wrote:
It's probably worth a mention here that `-ffp-contract=fast` ignores pragmas, though I still think that behavior should be changed.
https://github.com/llvm/llvm-project/pull/127621
More information about the cfe-commits
mailing list