summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/google-default-arguments.cpp
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2016-05-09 13:43:58 +0000
committerHaojian Wu <hokein@google.com>2016-05-09 13:43:58 +0000
commit11726686820358e49dba86b0ee07002bd54965b6 (patch)
tree636353529305d03d0b492e080e3204d207883282 /clang-tools-extra/test/clang-tidy/google-default-arguments.cpp
parente473dc937f59a9fefe450725ca4774a5245826a2 (diff)
downloadbcm5719-llvm-11726686820358e49dba86b0ee07002bd54965b6.tar.gz
bcm5719-llvm-11726686820358e49dba86b0ee07002bd54965b6.zip
[clang-tidy] new google-default-arguments check
Summary: To check the google style guide rule here: https://google.github.io/styleguide/cppguide.html#Default_Arguments Patch by Clement Courbet! Reviewers: hokein Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19534 llvm-svn: 268919
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/google-default-arguments.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/google-default-arguments.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/google-default-arguments.cpp b/clang-tools-extra/test/clang-tidy/google-default-arguments.cpp
new file mode 100644
index 00000000000..48d3f2d2bd7
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/google-default-arguments.cpp
@@ -0,0 +1,29 @@
+// RUN: %check_clang_tidy %s google-default-arguments %t
+
+struct A {
+ virtual void f(int I, int J = 3);
+ // CHECK-MESSAGES: :[[@LINE-1]]:16: warning: default arguments on virtual or override methods are prohibited [google-default-arguments]
+};
+
+struct B : public A {
+ void f(int I, int J = 5);
+ // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: default arguments on virtual or override methods are prohibited
+};
+
+struct C : public B {
+ void f(int I, int J = 5) override;
+ // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: default arguments on virtual or override methods are prohibited
+};
+
+// Negatives.
+struct D : public B {
+ void f(int I, int J) override;
+};
+
+struct X {
+ void f(int I, int J = 3);
+};
+
+struct Y : public X {
+ void f(int I, int J = 5);
+};
OpenPOWER on IntegriCloud