summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2019-01-16 08:29:54 +0000
committerSam McCall <sam.mccall@gmail.com>2019-01-16 08:29:54 +0000
commitba595fda49ec5e4db6d3f8d90804f2e601272799 (patch)
tree9d8c45b65ffebd03f8c9b72875c736c43827c731
parent6f8dfe3883f9d5503747771d856f80d3d760acb4 (diff)
[clang-tidy] Avoid fuchsia-overloaded-operator false positive with lambdas after r351047
-rw-r--r--clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp2
-rw-r--r--clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp b/clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp
index 8e6c74f322e..4aab1e01d48 100644
--- a/clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp
+++ b/clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp
@@ -21,6 +21,8 @@ AST_MATCHER(FunctionDecl, isFuchsiaOverloadedOperator) {
if (CXXMethodNode->isCopyAssignmentOperator() ||
CXXMethodNode->isMoveAssignmentOperator())
return false;
+ if (CXXMethodNode->getParent()->isLambda())
+ return false;
}
return Node.isOverloadedOperator();
}
diff --git a/clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp b/clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp
index be65a329dc6..7f7a36e8c98 100644
--- a/clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp
+++ b/clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp
@@ -19,3 +19,5 @@ A operator-(const A &A1, const A &A2);
void operator delete(void*, void*) throw();
// CHECK-MESSAGES: [[@LINE-1]]:1: warning: overloading 'operator delete' is disallowed
+
+auto x = []{};