Ticket #11856: boost_11856.patch

File boost_11856.patch, 1.6 KB (added by jupp0r@…, 7 years ago)

This fixes #11856 for me using Red Hat Enterprise Linux Server release 6.7 (Santiago)

  • libs/container/src/pool_resource.cpp

    diff -bur boost_1_60_0/libs/container/src/pool_resource.cpp boost_1_60_0_patched/libs/container/src/pool_resource.cpp
    old new  
    3232class pool_data_t
    3333   : public block_slist_base<>
    3434{
    35    typedef block_slist_base<> block_slist_base;
     35   typedef block_slist_base<> block_slist_base_t;
    3636
    3737   public:
    3838   explicit pool_data_t(std::size_t initial_blocks_per_chunk)
    39       : block_slist_base(), next_blocks_per_chunk(initial_blocks_per_chunk)
     39      : block_slist_base_t(), next_blocks_per_chunk(initial_blocks_per_chunk)
    4040   {  slist_algo::init_header(&free_slist);  }
    4141
    4242   void *allocate_block() BOOST_NOEXCEPT
     
    5959   void release(memory_resource &upstream)
    6060   {
    6161      slist_algo::init_header(&free_slist);
    62       this->block_slist_base::release(upstream);
     62      this->block_slist_base_t::release(upstream);
    6363      next_blocks_per_chunk = pool_options_minimum_max_blocks_per_chunk;
    6464   }
    6565
     
    7272     
    7373      //Minimum block size is at least max_align, so all pools allocate sizes that are multiple of max_align,
    7474      //meaning that all blocks are max_align-aligned.
    75       char *p = static_cast<char *>(block_slist_base::allocate(blocks_per_chunk*pool_block, mr));
     75      char *p = static_cast<char *>(block_slist_base_t::allocate(blocks_per_chunk*pool_block, mr));
    7676
    7777      //Create header types. This is no-throw
    7878      for(std::size_t i = 0, max = blocks_per_chunk; i != max; ++i){