[clang] [Clang] Fix warning for non std functions with name `infinity` (PR #123417)
Amr Hesham via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 20 23:50:31 PST 2025
================
@@ -216,11 +244,18 @@ int compareit(float a, float b) {
// no-inf-no-nan-warning at +2 {{use of infinity is undefined behavior due to the currently enabled floating-point options}}
// no-inf-warning at +1 {{use of infinity is undefined behavior due to the currently enabled floating-point options}}
- double y = i * numeric_limits<double>::infinity();
+ double y = i * std::numeric_limits<double>::infinity();
+
+ y = i * numeric_limits<double>::infinity(); // expected-no-diagnostics
// no-inf-no-nan-warning at +2 {{use of infinity is undefined behavior due to the currently enabled floating-point options}}
// no-inf-warning at +1 {{use of infinity is undefined behavior due to the currently enabled floating-point options}}
- j = numeric_limits<float>::infinity();
+ j = std::numeric_limits<float>::infinity();
----------------
AmrDeveloper wrote:
> So what happens if we are using `using namespace std` and use `numeric_limits<...>::infinity()` do we expect a diagnostic?
Yes should expect a diagnostic because we check Decl name space not the call expr,
I will create a pr to cover this case and update minor comment related to namespace
I will tag you as reviewer once I push it
Thanks
https://github.com/llvm/llvm-project/pull/123417
More information about the cfe-commits
mailing list