Remove an implemented FIXME and extend test cases. Follow-up on Doug's review.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63032 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/SemaCXX/member-pointer.cpp b/test/SemaCXX/member-pointer.cpp
index 4aa3098..bcd3dd6 100644
--- a/test/SemaCXX/member-pointer.cpp
+++ b/test/SemaCXX/member-pointer.cpp
@@ -4,6 +4,9 @@
 enum B { Dummy };
 namespace C {}
 struct D : A {};
+struct E : A {};
+struct F : D, E {};
+struct G : virtual D {};
 
 int A::*pdi1;
 int (::A::*pdi2);
@@ -29,4 +32,8 @@
   // Conversion to member of derived.
   int D::*pdid = pdi1;
   pdid = pdi2;
+
+  // Fail conversion due to ambiguity and virtuality.
+  int F::*pdif = pdi1; // expected-error {{ambiguous conversion from pointer to member of base class 'struct A' to pointer to member of derived class 'struct F'}} expected-error {{incompatible type}}
+  int G::*pdig = pdi1; // expected-error {{conversion from pointer to member of class 'struct A' to pointer to member of class 'struct G' via virtual base 'struct D' is not allowed}} expected-error {{incompatible type}}
 }