Opened 9 years ago
Closed 9 years ago
#8838 closed Bugs (fixed)
clang/libc++ doesn't define boost::mutex::scoped_lock
| Reported by: | timblechmann | Owned by: | viboes |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | lockfree |
| Version: | Boost 1.54.0 | Severity: | Problem |
| Keywords: | Cc: |
Description
the boost.lockfree testsuite currently does not compile with clang/libc++/linux:
In file included from ../libs/lockfree/test/spsc_queue_stress_test.cpp:20:
../libs/lockfree/test/test_helpers.hpp:41:23: error: no member named 'scoped_lock' in 'boost::mutex'
boost::mutex::scoped_lock lock (ref_mutex[index]);
compare: http://www.boost.org/development/tests/trunk/developer/lockfree.html
Change History (4)
comment:1 by , 9 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 9 years ago
| Component: | thread → lockfree |
|---|
comment:3 by , 9 years ago
i see ... will adapt my code ... but removing this typedef has the potential of breaking a lot of legacy code, so i hope it is just about this one tester. also, would it be possible to mark the typedef as deprecated to get a compiler warning?
comment:4 by , 9 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.

I suspect that the tester is defining BOOST_THREAD_VERSION to 4 so that this deprecated typedef is not included. I suggest you to replace them by lock_guard or unique_lock.