Subject: [Boost-bugs] [Boost C++ Libraries] #1243: ODR violation by boost::detail::lightweight_mutex
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2007-09-10 13:14:11
#1243: ODR violation by boost::detail::lightweight_mutex
------------------------------+---------------------------------------------
Reporter: joaquin | Owner: pdimov
Type: Bugs | Status: new
Milestone: To Be Determined | Component: None
Version: Boost 1.34.1 | Severity: Problem
Keywords: |
------------------------------+---------------------------------------------
boost/detail/flyweight_mutex.hpp implements a mutex class based on a
Win32 CRITICAL_SECTION or using Pthreads according to the
following pp logic:
{{{
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
// based on CRITICAL_SECTION
#elif defined(BOOST_HAS_PTHREADS)
// based on Pthreads
}}}
which violates ODR on those environments, such as Cygwin,
where WIN32 or similar is not a predefined macro but depends
on the inclusion of <windows.h>.
A more detailed discussion of the issue at:
http://lists.boost.org/Archives/boost/2007/09/127115.php
--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1243>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:56 UTC