// Contributed by Dodji Seketeli // Origin PR c++/37093 struct A {}; template int foo(A* q) { return q->*p; } template int bar(int T::* p) { return foo

(0);// { dg-error "(not a valid template arg|no matching func|pointer-to-member|could not convert|constant)" } } int i = bar(0);