From a79ccd146ab1a9efaf59012083a1fa2d35aafe15 Mon Sep 17 00:00:00 2001
From: Richard Guenther <rguenther@suse.de>
Date: Tue, 27 Apr 2010 11:27:18 +0000
Subject: [PATCH] re PR c++/40561 (code does not compile -- compiles fine when
 replacing != with !(==))

2010-04-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40561
	* g++.dg/other/pr40561.C: New testcase.

From-SVN: r158778
---
 gcc/testsuite/ChangeLog              |  5 ++++
 gcc/testsuite/g++.dg/other/pr40561.C | 38 ++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+)
 create mode 100644 gcc/testsuite/g++.dg/other/pr40561.C

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9c0afd60faac..523fbcbf3c99 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-27  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/40561
+	* g++.dg/other/pr40561.C: New testcase.
+
 2010-04-27  Martin Jambor  <mjambor@suse.cz>
 
 	PR middle-end/43812
diff --git a/gcc/testsuite/g++.dg/other/pr40561.C b/gcc/testsuite/g++.dg/other/pr40561.C
new file mode 100644
index 000000000000..c94dfa4bd625
--- /dev/null
+++ b/gcc/testsuite/g++.dg/other/pr40561.C
@@ -0,0 +1,38 @@
+// { 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;
-- 
GitLab