Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2011-01-04 22:53:31 +0300
committerHoward Hinnant <hhinnant@apple.com>2011-01-04 22:53:31 +0300
commit36fd9f96cffba43c75cfd482c1491ef9ad5e89dc (patch)
treef57730648dd7d8a518ef8494f92cac42a6a70f94 /libcxx/include/__split_buffer
parente45a2389cef8937ea8de278711f387b625fca7f7 (diff)
Reverting an old optimization that conflicts with the new allocator model, and causes some test casees to compile that shouldn't.
llvm-svn: 122830
Diffstat (limited to 'libcxx/include/__split_buffer')
-rw-r--r--libcxx/include/__split_buffer39
1 files changed, 0 insertions, 39 deletions
diff --git a/libcxx/include/__split_buffer b/libcxx/include/__split_buffer
index 718fd88716cb..ea9d3d0463ef 100644
--- a/libcxx/include/__split_buffer
+++ b/libcxx/include/__split_buffer
@@ -98,11 +98,7 @@ public:
_LIBCPP_INLINE_VISIBILITY void pop_back() {__destruct_at_end(__end_-1);}
void __construct_at_end(size_type __n);
- void __construct_at_end(size_type __n, false_type);
- void __construct_at_end(size_type __n, true_type);
void __construct_at_end(size_type __n, const_reference __x);
- void __construct_at_end(size_type __n, const_reference __x, false_type);
- void __construct_at_end(size_type __n, const_reference __x, true_type);
template <class _InputIter>
typename enable_if
<
@@ -192,17 +188,9 @@ __split_buffer<_Tp, _Allocator>::__invariants() const
// Precondition: size() + __n <= capacity()
// Postcondition: size() == size() + __n
template <class _Tp, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY inline
void
__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n)
{
- __construct_at_end(__n, __is_zero_default_constructible<value_type>());
-}
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, false_type)
-{
__alloc_rr& __a = this->__alloc();
do
{
@@ -212,15 +200,6 @@ __split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, false_type)
} while (__n > 0);
}
-template <class _Tp, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY inline
-void
-__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, true_type)
-{
- _STD::memset(this->__end_, 0, __n*sizeof(value_type));
- this->__end_ += __n;
-}
-
// Copy constructs __n objects starting at __end_ from __x
// throws if construction throws
// Precondition: __n > 0
@@ -228,18 +207,9 @@ __split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, true_type)
// Postcondition: size() == old size() + __n
// Postcondition: [i] == __x for all i in [size() - __n, __n)
template <class _Tp, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY inline
void
__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x)
{
- __construct_at_end(__n, __x, integral_constant<bool, is_trivially_copy_constructible<value_type>::value &&
- is_trivially_copy_assignable<value_type>::value>());
-}
-
-template <class _Tp, class _Allocator>
-void
-__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x, false_type)
-{
__alloc_rr& __a = this->__alloc();
do
{
@@ -250,15 +220,6 @@ __split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_referen
}
template <class _Tp, class _Allocator>
-_LIBCPP_INLINE_VISIBILITY inline
-void
-__split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x, true_type)
-{
- _STD::fill_n(this->__end_, __n, __x);
- this->__end_ += __n;
-}
-
-template <class _Tp, class _Allocator>
template <class _InputIter>
typename enable_if
<