aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/include/std/memory_resource2
-rw-r--r--libstdc++-v3/include/std/vector7
3 files changed, 15 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 89b94a8..3003852 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2019-01-29 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/memory_resource (__pool_resource::_M_unpooled): Use
+ normal mode vector, even for debug mode.
+ * include/std/vector [_GLIBCXX_DEBUG] (_GLIBCXX_STD_C::pmr::vector):
+ Define alias template for normal mode vector.
+
2019-01-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/68737
diff --git a/libstdc++-v3/include/std/memory_resource b/libstdc++-v3/include/std/memory_resource
index 5573494..93b2ebd 100644
--- a/libstdc++-v3/include/std/memory_resource
+++ b/libstdc++-v3/include/std/memory_resource
@@ -354,7 +354,7 @@ namespace pmr
struct _BigBlock;
// Collection of blocks too big for any pool, sorted by address.
// This also stores the only copy of the upstream memory resource pointer.
- pmr::vector<_BigBlock> _M_unpooled;
+ _GLIBCXX_STD_C::pmr::vector<_BigBlock> _M_unpooled;
const int _M_npools;
};
diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector
index 2c90765..e5e13ab 100644
--- a/libstdc++-v3/include/std/vector
+++ b/libstdc++-v3/include/std/vector
@@ -89,6 +89,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp>
using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
} // namespace pmr
+# ifdef _GLIBCXX_DEBUG
+ namespace _GLIBCXX_STD_C::pmr {
+ template<typename _Tp>
+ using vector
+ = _GLIBCXX_STD_C::vector<_Tp, std::pmr::polymorphic_allocator<_Tp>>;
+ } // namespace _GLIBCXX_STD_C::pmr
+# endif
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
#endif // C++17