[clang-tools-extra] Limit modernize-use-nullptr to C++11/C23 and later (PR #132816)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 24 12:17:48 PDT 2025
https://github.com/higher-performance created https://github.com/llvm/llvm-project/pull/132816
`nullptr` is not supported on earlier versions of either standard, so the tidy should not diagnose earlier uses.
>From d9e38b44a4fbcea9800b14ec3fb0aba814d05722 Mon Sep 17 00:00:00 2001
From: higher-performance <higher.performance.github at gmail.com>
Date: Mon, 24 Mar 2025 15:16:58 -0400
Subject: [PATCH] Limit modernize-use-nullptr to C++11/C23 and later
`nullptr` is not supported on earlier versions of either standard, so the tidy should not diagnose earlier uses.
---
clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
index 108717e151b57..771ea3875a71a 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
@@ -505,7 +505,10 @@ void UseNullptrCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
}
void UseNullptrCheck::registerMatchers(MatchFinder *Finder) {
- Finder->addMatcher(makeCastSequenceMatcher(IgnoredTypes), this);
+ // nullptr is supported starting from C++11 and C23.
+ if (getLangOpts().CPlusPlus11 || getLangOpts().C23) {
+ Finder->addMatcher(makeCastSequenceMatcher(IgnoredTypes), this);
+ }
}
void UseNullptrCheck::check(const MatchFinder::MatchResult &Result) {
More information about the cfe-commits
mailing list