// Contributed by Dodji Seketeli // Origin PR c++/37093 struct A {}; template int foo(A* q) // { dg-message "note" } { 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)" } // { dg-message "candidate" "candidate note" { target *-*-* } 17 } } int i = bar(0);