Rewrite PureVirtualMethodCollector to use the overridden methods. Fixes <rdar://problem/6854087>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71970 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/abstract.cpp b/test/SemaCXX/abstract.cpp
index 20b35da..f5ec9ab 100644
--- a/test/SemaCXX/abstract.cpp
+++ b/test/SemaCXX/abstract.cpp
@@ -82,3 +82,16 @@
class Abstract {
virtual void f() = 0; // expected-note {{pure virtual function 'f'}}
};
+
+// <rdar://problem/6854087>
+class foo {
+public:
+ virtual foo *getFoo() = 0;
+};
+
+class bar : public foo {
+public:
+ virtual bar *getFoo();
+};
+
+bar x;