From a966f45b7ee6a9c77a7040b51a18c01caac90918 Mon Sep 17 00:00:00 2001 From: Julie Hockett Date: Fri, 22 Dec 2017 16:52:25 +0000 Subject: [clang-tidy] Adding Fuchsia checker for overloaded operators Adds a check to the Fuchsia module to warn if an operator is overloaded, except move and copy operators. See https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md for reference. Differential Revision: https://reviews.llvm.org/D41363 llvm-svn: 321363 --- .../test/clang-tidy/fuchsia-overloaded-operator.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp (limited to 'clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp') diff --git a/clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp b/clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp new file mode 100644 index 00000000000..5c65c5bfa11 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/fuchsia-overloaded-operator.cpp @@ -0,0 +1,18 @@ +// RUN: %check_clang_tidy %s fuchsia-overloaded-operator %t + +class A { +public: + int operator+(int); + // CHECK-MESSAGES: [[@LINE-1]]:3: warning: cannot overload 'operator+' [fuchsia-overloaded-operator] +}; + +class B { +public: + B &operator=(const B &Other); + // CHECK-MESSAGES-NOT: [[@LINE-1]]:3: warning: cannot overload 'operator=' [fuchsia-overloaded-operator] + B &operator=(B &&Other); + // CHECK-MESSAGES-NOT: [[@LINE-1]]:3: warning: cannot overload 'operator=' [fuchsia-overloaded-operator] +}; + +A operator-(const A& AA, const A& BB); +// CHECK-MESSAGES: [[@LINE-1]]:1: warning: cannot overload 'operator-' [fuchsia-overloaded-operator] -- cgit v1.2.3