[PATCH] D114299: [clang-tidy] Fix `readability-redundant-declaration` false positive for template friend declaration
Fabian Wolff via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 17 11:57:14 PST 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rG42bc3275d368: [clang-tidy] Fix `readability-redundant-declaration` false positive for… (authored by fwolff).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114299/new/
https://reviews.llvm.org/D114299
Files:
clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
clang-tools-extra/test/clang-tidy/checkers/readability-redundant-declaration.cpp
Index: clang-tools-extra/test/clang-tidy/checkers/readability-redundant-declaration.cpp
===================================================================
--- clang-tools-extra/test/clang-tidy/checkers/readability-redundant-declaration.cpp
+++ clang-tools-extra/test/clang-tidy/checkers/readability-redundant-declaration.cpp
@@ -70,6 +70,32 @@
void enemy();
+template <typename>
+struct TemplateFriendly {
+ template <typename T>
+ friend void generic_friend();
+};
+
+template <typename T>
+void generic_friend() {}
+
+TemplateFriendly<int> template_friendly;
+
+template <typename>
+struct TemplateFriendly2 {
+ template <typename T>
+ friend void generic_friend2() {}
+};
+
+template <typename T>
+void generic_friend2();
+
+void generic_friend_caller() {
+ TemplateFriendly2<int> f;
+ generic_friend2<int>();
+}
+
+
namespace macros {
#define DECLARE(x) extern int x
#define DEFINE(x) extern int x; int x = 42
Index: clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
===================================================================
--- clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
+++ clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
@@ -37,7 +37,7 @@
functionDecl(unless(anyOf(
isDefinition(), isDefaulted(),
doesDeclarationForceExternallyVisibleDefinition(),
- hasParent(friendDecl()))))))
+ hasAncestor(friendDecl()))))))
.bind("Decl"),
this);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114299.400613.patch
Type: text/x-patch
Size: 1586 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220117/3bca263f/attachment.bin>
More information about the cfe-commits
mailing list