// { dg-do assemble  }
// Origin: Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

double f(double);
typedef double (*M)(double);

class A {
public:
	template <const M n> void g(); 
};

class B: public A {
public:
	void g() { A::g<f>(); }
};
