[clang] [CLANG] Add warning when INF or NAN are used in a binary operation or as function argument in fast math mode. (PR #76873)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 11 05:14:54 PST 2024


================
@@ -6771,6 +6771,9 @@ def warn_pointer_sub_null_ptr : Warning<
 def warn_floatingpoint_eq : Warning<
   "comparing floating point with == or != is unsafe">,
   InGroup<DiagGroup<"float-equal">>, DefaultIgnore;
+def warn_fast_floatingpoint_eq : Warning<
+  "explicit comparison with %0 when the program is assumed to not use or produce %0">,
----------------
AaronBallman wrote:

Ah, good point! How about... 

`explicit comparison of an expression involving %select{an infinity|a NaN}0 constant will always return '%select{false|true}1' because %select{infinity|NaN}0 will not be produced according to the currently enabled floating-point options`

? It's a bit wordy, so maybe "use of infinity|NaN will always" is okay as well.

https://github.com/llvm/llvm-project/pull/76873


More information about the cfe-commits mailing list