[LLVMbugs] [Bug 8173] New: clang++ (rev. 114175) fails inference of struct type template param from pointer to overloaded member function
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Sep 17 09:06:51 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8173
Summary: clang++ (rev. 114175) fails inference of struct type
template param from pointer to overloaded member
function
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: whatwasthataddress at gmail.com
CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com
Created an attachment (id=5506)
--> (http://llvm.org/bugs/attachment.cgi?id=5506)
Reduced program that exercises the problem.
clang++ fails to compile this simple program. g++ and MSVC do. Also attached.
#include <boost/bind.hpp>
#include <boost/signal.hpp>
struct A
{
boost::signal<void (char)> signal;
};
class B
{
public:
void slot (char) {}
void slot (double) {}
};
template <typename ReturnType,
typename Combiner,
class MemberObj,
class TargetObj,
typename Arg1>
inline boost::signals::connection
connect (boost::signal<ReturnType (Arg1), Combiner> &signalObj,
TargetObj* target,
ReturnType (MemberObj:: *fn) (Arg1),
int group = 0)
{
return signalObj.connect(group, boost::bind(fn, target, _1));
}
int main()
{
A a;
B* mB = new B;
::connect(a.signal, mB, &B::slot);
return 0;
}
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list