summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/warn-overloaded-virtual.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaCXX/warn-overloaded-virtual.cpp')
-rw-r--r--clang/test/SemaCXX/warn-overloaded-virtual.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/warn-overloaded-virtual.cpp b/clang/test/SemaCXX/warn-overloaded-virtual.cpp
index 79635a62f8a..9b0f5aa9f33 100644
--- a/clang/test/SemaCXX/warn-overloaded-virtual.cpp
+++ b/clang/test/SemaCXX/warn-overloaded-virtual.cpp
@@ -80,3 +80,43 @@ struct C: B {
using A::f;
};
}
+
+namespace UnbalancedVirtual {
+struct Base {
+ virtual void func();
+};
+
+struct Derived1: virtual Base {
+ virtual void func();
+};
+
+struct Derived2: virtual Base {
+};
+
+struct MostDerived: Derived1, Derived2 {
+ void func(int);
+ void func();
+};
+}
+
+namespace UnbalancedVirtual2 {
+struct Base {
+ virtual void func();
+};
+
+struct Derived1: virtual Base {
+ virtual void func();
+};
+
+struct Derived2: virtual Base {
+};
+
+struct Derived3: Derived1 {
+ virtual void func();
+};
+
+struct MostDerived: Derived3, Derived2 {
+ void func(int);
+ void func();
+};
+}
OpenPOWER on IntegriCloud