Make sure that the key-function computation produces the correct
result for a nested class whose first non-pure virtual member function
has an inline body. Previously, we were checking for the key function
before we had seen the (delayed) inline body. 

llvm-svn: 92839
diff --git a/clang/test/SemaCXX/virtual-member-functions-key-function.cpp b/clang/test/SemaCXX/virtual-member-functions-key-function.cpp
index 8da6bf55..2e21fb7 100644
--- a/clang/test/SemaCXX/virtual-member-functions-key-function.cpp
+++ b/clang/test/SemaCXX/virtual-member-functions-key-function.cpp
@@ -16,3 +16,14 @@
   (void)new B;
   (void)new C;
 }
+
+// Make sure that the key-function computation is consistent when the
+// first virtual member function of a nested class has an inline body.
+struct Outer {
+  struct Inner {
+    virtual void f() { }
+    void g();
+  };
+};
+
+void Outer::Inner::g() { }