[Boost-bugs] [Boost C++ Libraries] #4100: some boost classes have sizeof that depends on NDEBUG

Subject: [Boost-bugs] [Boost C++ Libraries] #4100: some boost classes have sizeof that depends on NDEBUG
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-04-14 16:15:40


#4100: some boost classes have sizeof that depends on NDEBUG
---------------------------------+------------------------------------------
 Reporter: fjoe@… | Owner:
     Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: None
  Version: Boost 1.42.0 | Severity: Problem
 Keywords: |
---------------------------------+------------------------------------------
 In boost 1.42:

 1) boost::range_iterator: range/iterator_range.hpp:

             #ifndef NDEBUG
             bool singular;
             #endif

 Seems already fixed in trunk

 2) boost::circular_buffer: circular_buffer/base.hpp:

 template <class T, class Alloc>
 class circular_buffer
 /*! \cond */
 #if BOOST_CB_ENABLE_DEBUG
 : public cb_details::debug_iterator_registry
 #endif

 3) statechart::detail::id_provider: statechart/detail/rtti_policy.hpp

 struct id_provider
 {
   const void * pCustomId_;
   #if defined( BOOST_ENABLE_ASSERT_HANDLER ) || !defined( NDEBUG )
   const std::type_info * pCustomIdType_;
   #endif
 };

 The problem is rather serious if two binaries that are loaded into the
 same address space (e.g. a library and a program, or two libraries) are
 built with different defines (one with NDEBUG, the other without it).

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4100>
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:50:02 UTC