// 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); };