When checking a using declaration, make sure that the context we're
looking in is complete. Fixes PR8756.

llvm-svn: 122323
diff --git a/clang/test/SemaCXX/using-decl-1.cpp b/clang/test/SemaCXX/using-decl-1.cpp
index 65be0bc..ebe97f6 100644
--- a/clang/test/SemaCXX/using-decl-1.cpp
+++ b/clang/test/SemaCXX/using-decl-1.cpp
@@ -108,3 +108,13 @@
     template <typename T> using A::f<T>; // expected-error {{cannot template a using declaration}}
   };
 }
+
+// PR8756
+namespace foo
+{
+  class Class1; // expected-note{{forward declaration}}
+  class Class2
+  {
+    using ::foo::Class1::Function; // expected-error{{incomplete type 'foo::Class1' named in nested name specifier}}
+  };
+}