Since std::allocator<void> is not specialized anymore in
_GLIBCXX_INLINE_VERSION mode _ExtPtr_allocator<void> specialization do
not compile
because std::allocator<void> is incomplete.
So I think primary _ExtPtr_allocator template should also be prefered in
_GLIBCXX_INLINE_VERSION mode.
Ok to commit ?
François
diff --git a/libstdc++-v3/include/ext/extptr_allocator.h b/libstdc++-v3/include/ext/extptr_allocator.h
index 7d8aaac7cee..78ee1fa039f 100644
--- a/libstdc++-v3/include/ext/extptr_allocator.h
+++ b/libstdc++-v3/include/ext/extptr_allocator.h
@@ -162,6 +162,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
std::allocator<_Tp> _M_real_alloc;
};
+#if ! _GLIBCXX_INLINE_VERSION
// _ExtPtr_allocator<void> specialization.
template<>
class _ExtPtr_allocator<void>
@@ -183,6 +184,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
private:
std::allocator<void> _M_real_alloc;
};
+#endif
template<typename _Tp>
inline void