--- /dev/null
+//Check association of member pointer in overload resolution.
+struct A {
+ int m_val;
+ friend int operator ->* (A & other, int A::*pm)
+ { return 31; }
+};
+
+int A::*pi = & A::m_val;
+
+int
+main(void)
+{
+ A c;
+ c.m_val = 42;
+ int j = c ->* pi;
+
+ if (j == 31)
+ return 0;
+ else
+ return 1;
+}
--- /dev/null
+//Build don't link:
+typedef unsigned int size_t;
+void *operator new(size_t, unsigned int);
+
+struct X{
+ X();
+ X(int);
+};
+
+
+void f(X *x = new X); // ERROR -
+
+void f(X *x = new X(4)); // ERROR -
+
+void f(X *x = new X[4]); // ERROR -
+
+void f(X *x = new (3) X(6)); // ERROR -
+
+void f(X *x = new (2) X[10]); // ERROR -
+
+void f(X *x = new X[10][5]); // ERROR -
+