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