PR8800: When building a conversion to A& using a member operatorA&(), do not require A to be a complete type.

llvm-svn: 135101
diff --git a/clang/test/SemaCXX/conversion-function.cpp b/clang/test/SemaCXX/conversion-function.cpp
index aa47ae0..a7a1782 100644
--- a/clang/test/SemaCXX/conversion-function.cpp
+++ b/clang/test/SemaCXX/conversion-function.cpp
@@ -378,3 +378,17 @@
   generic_list<generic_list<int> > l;
   array<array<int> > a = l;
 }
+
+namespace PR8800 {
+  struct A;
+  struct C {
+    operator A&();
+  };
+  void f() {
+    C c;
+    A& a1(c);
+    A& a2 = c;
+    A& a3 = static_cast<A&>(c);
+    A& a4 = (A&)c;
+  }
+}