1// { dg-do compile }
2
3#include <set>
4
5class SyAccess;
6class VamsBase
7{
8	public:
9	virtual ~VamsBase(void);
10};
11
12class VamsFnct : public VamsBase
13{
14	public:
15	~VamsFnct(void);
16	std::set<SyAccess*> getNullDependencies(void) const
17	{	return std::set<SyAccess*>();
18	}
19};
20
21class VamsFnctSystem:public VamsFnct
22{	public:
23	VamsFnctSystem(
24		const bool _bPassDependencies);
25};
26
27template< std::set<SyAccess*> (VamsFnct::*__GET_DEP__)(void) const >
28class VamsSystemFunction:public VamsFnctSystem
29{	public:
30	VamsSystemFunction()
31	    :VamsFnctSystem(
32		__GET_DEP__ != &VamsFnct::getNullDependencies
33		)
34	{
35	}
36};
37
38VamsSystemFunction<&VamsFnct::getNullDependencies> s;
39