[clang-tools-extra] [clang-tidy][readability-redundant-parentheses] add option to prevent widely used work around (PR #164827)

Baranov Victor via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 24 13:15:15 PDT 2025


================
@@ -47,6 +60,15 @@ void RedundantParenthesesCheck::registerMatchers(MatchFinder *Finder) {
 
 void RedundantParenthesesCheck::check(const MatchFinder::MatchResult &Result) {
   const auto *PE = Result.Nodes.getNodeAs<ParenExpr>("dup");
+  if (auto *DRE = dyn_cast<DeclRefExpr>(PE->getSubExpr())) {
+    const std::string Name = DRE->getDecl()->getQualifiedNameAsString();
+    llvm::errs() << Name << "\n";
+    bool Allowed = llvm::any_of(AllowedDecls, [&Name](const llvm::Regex &NM) {
----------------
vbvictor wrote:

> The AllowedTypes in the other check use regex, maybe provide a common interface is easier to understand.

Yes, that's preferable. Could we then write in matchers: `declRefExpr(to(namedDecl(unless(matchers::matchesAnyListedName(AllowedTypes)))))` and remove logic from `match`?

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


More information about the cfe-commits mailing list