1// { dg-do run } 2// Test that partial ordering ignores defaulted parms and 'this'. 3 4struct A { 5 template<class T> int f(T) { return 1; } 6 template<class T> int f(T*, int=0) { return 0; } 7 template<class T> int g(T*) { return 0; } 8 template<class T> static int g(T, int=0) { return 1; } 9 template<class T> int h(T*) { return 0; } 10 template<class T> static int h(T, int=0) { return 1; } 11 template<class T> static int j(T*, short y=0) { return 0; } 12 template<class T> static int j(T, int=0) { return 1; } 13}; 14 15int main(void) { 16 A a; 17 int *p; 18 return (a.f(p) || a.g(p) || a.h(p) || a.j(p)); 19} 20