Opened 10 years ago
Closed 10 years ago
#7052 closed Bugs (fixed)
Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 only masks thread::operator==, thread::operator!= forward declarations, not definitions
Reported by: | Owned by: | viboes | |
---|---|---|---|
Milestone: | Boost 1.51.0 | Component: | thread |
Version: | Boost 1.50.0 | Severity: | Problem |
Keywords: | thread BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 thread::operator== thread::operator!= | Cc: |
Description
If BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0
is not defined, it only masks thread::operator==
and thread::operator!=
declarations at boost/thread/detail/thread.hpp:411-416
but not the actual definitions at lines 585-593.
This naturally leads to a compile error, as we're trying to define operators are not declared.
Attached a proposed patch. Simply adds the same define guard around the definitions.
Attachments (1)
Change History (3)
by , 10 years ago
Attachment: | boost_1_50_0_thread_no_depr_feat_v3.patch added |
---|
comment:1 by , 10 years ago
Milestone: | To Be Determined → Boost 1.51.0 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
Thanks for the report and the patch. I don't know why the regression tests don't catch the error.
Just for curiosity, what compiler are you using? Could you attach the example and the command line that show the error?
Committed in trunk revision 79237.
Do not define thread::operator== and thread::operator!= unless deprecated features are explicitly requested.