When a member pointer is dereferenced, the class it points into must be complete. Enforce this.

llvm-svn: 100925
diff --git a/clang/test/SemaCXX/member-pointer.cpp b/clang/test/SemaCXX/member-pointer.cpp
index ebdc921..aa941a1 100644
--- a/clang/test/SemaCXX/member-pointer.cpp
+++ b/clang/test/SemaCXX/member-pointer.cpp
@@ -88,7 +88,7 @@
   void (HasMembers::*pmd)() = &HasMembers::d;
 }
 
-struct Incomplete;
+struct Incomplete; // expected-note {{forward declaration}}
 
 void h() {
   HasMembers hm, *phm = &hm;
@@ -123,7 +123,7 @@
 
   Incomplete *inc;
   int Incomplete::*pii = 0;
-  (void)(inc->*pii); // okay
+  (void)(inc->*pii); // expected-error {{pointer into incomplete}}
 }
 
 struct OverloadsPtrMem