[Boost-bugs] [Boost C++ Libraries] #1243: ODR violation by boost::detail::lightweight_mutex

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