// { dg-do compile }
#include <set>
class SyAccess;
class VamsBase 
{
	public:
	virtual ~VamsBase(void);
};
class VamsFnct : public VamsBase 
{	
	public:
	~VamsFnct(void);
	std::set<SyAccess*> getNullDependencies(void) const
	{	return std::set<SyAccess*>();
	}
};
class VamsFnctSystem:public VamsFnct
{	public:
	VamsFnctSystem(
		const bool _bPassDependencies);
};
template< std::set<SyAccess*> (VamsFnct::*__GET_DEP__)(void) const >
class VamsSystemFunction:public VamsFnctSystem
{	public:
	VamsSystemFunction()
	    :VamsFnctSystem(
		__GET_DEP__ != &VamsFnct::getNullDependencies
		)
	{
	}
};
VamsSystemFunction<&VamsFnct::getNullDependencies> s;