summaryrefslogtreecommitdiffstats
path: root/test/SemaCXX/warn-overloaded-virtual.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/warn-overloaded-virtual.cpp')
-rw-r--r--test/SemaCXX/warn-overloaded-virtual.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/SemaCXX/warn-overloaded-virtual.cpp b/test/SemaCXX/warn-overloaded-virtual.cpp
index 9b0f5aa..629d59d 100644
--- a/test/SemaCXX/warn-overloaded-virtual.cpp
+++ b/test/SemaCXX/warn-overloaded-virtual.cpp
@@ -120,3 +120,21 @@ struct MostDerived: Derived3, Derived2 {
void func();
};
}
+
+namespace {
+ class A {
+ virtual int foo(bool) const;
+ // expected-note@-1{{type mismatch at 1st parameter ('bool' vs 'int')}}
+ virtual int foo(int, int) const;
+ // expected-note@-1{{different number of parameters (2 vs 1)}}
+ virtual int foo(int*) const;
+ // expected-note@-1{{type mismatch at 1st parameter ('int *' vs 'int')}}
+ virtual int foo(int) volatile;
+ // expected-note@-1{{different qualifiers (volatile vs const)}}
+ };
+
+ class B : public A {
+ virtual int foo(int) const;
+ // expected-warning@-1{{hides overloaded virtual functions}}
+ };
+}
OpenPOWER on IntegriCloud