From a4e9686f8a0258bc30f9da2abab65673d6b9bd50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jupp=20M=C3=BCller?= <jupp0r@gmail.com>
Date: Wed, 23 Dec 2015 09:18:51 +0100
Subject: [PATCH] Fix declaration changes meaning error with GCC 4.4.7 (#11856)

Backported from a4e9686f8a0258bc30f9da2abab65673d6b9bd50

[Jörg Krause: adjust pathes to match sourceforge release tarball]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>

---
 libs/container/src/pool_resource.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libs/container/src/pool_resource.cpp b/libs/container/src/pool_resource.cpp
index 4df7ee2..45f1564 100644
--- a/libs/container/src/pool_resource.cpp
+++ b/libs/container/src/pool_resource.cpp
@@ -32,11 +32,11 @@ namespace pmr {
 class pool_data_t
    : public block_slist_base<>
 {
-   typedef block_slist_base<> block_slist_base;
+   typedef block_slist_base<> block_slist_base_t;
 
    public:
    explicit pool_data_t(std::size_t initial_blocks_per_chunk)
-      : block_slist_base(), next_blocks_per_chunk(initial_blocks_per_chunk)
+      : block_slist_base_t(), next_blocks_per_chunk(initial_blocks_per_chunk)
    {  slist_algo::init_header(&free_slist);  }
 
    void *allocate_block() BOOST_NOEXCEPT
@@ -59,7 +59,7 @@ class pool_data_t
    void release(memory_resource &upstream)
    {
       slist_algo::init_header(&free_slist);
-      this->block_slist_base::release(upstream);
+      this->block_slist_base_t::release(upstream);
       next_blocks_per_chunk = pool_options_minimum_max_blocks_per_chunk;
    }
 
@@ -72,7 +72,7 @@ class pool_data_t
       
       //Minimum block size is at least max_align, so all pools allocate sizes that are multiple of max_align,
       //meaning that all blocks are max_align-aligned.
-      char *p = static_cast<char *>(block_slist_base::allocate(blocks_per_chunk*pool_block, mr));
+      char *p = static_cast<char *>(block_slist_base_t::allocate(blocks_per_chunk*pool_block, mr));
 
       //Create header types. This is no-throw
       for(std::size_t i = 0, max = blocks_per_chunk; i != max; ++i){
