Opened 8 years ago
Closed 8 years ago
#10662 closed Bugs (fixed)
Simple signal fails to compile using clang with -std=c++11
Reported by: | Owned by: | Frank Mori Hess | |
---|---|---|---|
Milestone: | To Be Determined | Component: | signals2 |
Version: | Boost 1.55.0 | Severity: | Problem |
Keywords: | Cc: |
Description
This test case fails to build using clang 3.0 and boost 1.55:
#include <boost/signals2/signal.hpp> int main() { boost::signals2::signal<void()> s; s(); }
Error:
In file included from scratch.cpp:1: In file included from /usr/include/boost/signals2/signal.hpp:38: In file included from /usr/include/boost/signals2/variadic_signal.hpp:21: /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:81:18: error: call to member function 'm_invoke' is ambiguous return m_invoke(resolver, func, indices_type(), args); ^~~~~~~~
This is the same test case as #8260 which was marked a duplicate of #8102 and fixed in 1.54. Note that this test case results in a different error in 1.55.
Attachments (2)
Change History (5)
by , 8 years ago
Attachment: | scratch.cpp added |
---|
comment:1 by , 8 years ago
Have you tried a newer version of clang? I'm inclined to just blame this on clang 3.0 as other compilers do not have this problem even when variadic templates are being used.
comment:3 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
This may work now on the develop branch, even with the buggy version of clang.
Note:
See TracTickets
for help on using tickets.
Simple test case demonstrating issue in clang 3.0: clang++ -std=c++11 scratch.cpp