summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-05-20 14:01:22 -0400
committerJason Merrill <jason@gcc.gnu.org>2011-05-20 14:01:22 -0400
commit94df301fa033641561145d44ed48cf4c85d43a2c (patch)
treea133483f2142f1c02de48fd4af4865636ad9ed75 /libstdc++-v3
parent6e04dcd56f7d94288467234f065fca6006761cfe (diff)
downloadgcc-94df301fa033641561145d44ed48cf4c85d43a2c.tar.gz
re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template)
PR c++/24163 PR c++/29131 gcc/cp/ * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating unqualified lookup. * semantics.c (perform_koenig_lookup): Add complain parm. * cp-tree.h: Adjust. * parser.c (cp_parser_postfix_expression): Adjust. (cp_parser_perform_range_for_lookup): Adjust. libstdc++-v3/ * include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to functions from dependent bases. * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/rb_tree_map_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/splay_tree_/ split_join_fn_imps.hpp: Likewise. * include/ext/pb_ds/detail/tree_policy/ order_statistics_imp.hpp: Likewise. * include/ext/pb_ds/detail/trie_policy/ prefix_search_node_update_imp.hpp: Likewise. * include/ext/rc_string_base.h: Likewise. * include/ext/rope: Likewise. * include/ext/ropeimpl.h: Likewise. * testsuite/util/exception/safety.h: Likewise. * testsuite/util/native_type/native_priority_queue.hpp: Likewise. * testsuite/util/testsuite_io.h: Likewise. * include/std/functional: Declare mem_fn earlier. * include/tr1/functional: Likewise. * include/tr1/exp_integral.tcc: Declare __expint_E1 earlier. From-SVN: r173965
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog26
-rw-r--r--libstdc++-v3/include/ext/pb_ds/assoc_container.hpp8
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp10
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp4
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp6
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp6
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp4
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp4
-rw-r--r--libstdc++-v3/include/ext/rc_string_base.h18
-rw-r--r--libstdc++-v3/include/ext/rope6
-rw-r--r--libstdc++-v3/include/ext/ropeimpl.h14
-rw-r--r--libstdc++-v3/include/std/functional9
-rw-r--r--libstdc++-v3/include/tr1/exp_integral.tcc2
-rw-r--r--libstdc++-v3/include/tr1/functional3
-rw-r--r--libstdc++-v3/testsuite/util/exception/safety.h16
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_io.h2
19 files changed, 89 insertions, 55 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index f6b9159d235..68edbdba5c4 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,29 @@
+2011-05-20 Jason Merrill <jason@redhat.com>
+
+ * include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
+ functions from dependent bases.
+ * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
+ * include/ext/pb_ds/detail/rb_tree_map_/
+ split_join_fn_imps.hpp: Likewise.
+ * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
+ * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
+ * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
+ * include/ext/pb_ds/detail/splay_tree_/
+ split_join_fn_imps.hpp: Likewise.
+ * include/ext/pb_ds/detail/tree_policy/
+ order_statistics_imp.hpp: Likewise.
+ * include/ext/pb_ds/detail/trie_policy/
+ prefix_search_node_update_imp.hpp: Likewise.
+ * include/ext/rc_string_base.h: Likewise.
+ * include/ext/rope: Likewise.
+ * include/ext/ropeimpl.h: Likewise.
+ * testsuite/util/exception/safety.h: Likewise.
+ * testsuite/util/native_type/native_priority_queue.hpp: Likewise.
+ * testsuite/util/testsuite_io.h: Likewise.
+ * include/std/functional: Declare mem_fn earlier.
+ * include/tr1/functional: Likewise.
+ * include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
+
2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (tuple_element<__i, const _Tp>,
diff --git a/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp b/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
index 9cec3b72c54..12a3fc501c9 100644
--- a/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/assoc_container.hpp
@@ -234,7 +234,7 @@ namespace __gnu_pbds
template<typename It>
cc_hash_table(It first, It last, const hash_fn& h)
: base_type(h)
- { copy_from_range(first, last); }
+ { this->copy_from_range(first, last); }
// Constructor taking __iterators to a range of value_types and
// some policy objects The value_types between first_it and
@@ -245,7 +245,7 @@ namespace __gnu_pbds
template<typename It>
cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e)
: base_type(h, e)
- { copy_from_range(first, last); }
+ { this->copy_from_range(first, last); }
// Constructor taking __iterators to a range of value_types and
// some policy objects The value_types between first_it and
@@ -258,7 +258,7 @@ namespace __gnu_pbds
cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
const comb_hash_fn& ch)
: base_type(h, e, ch)
- { copy_from_range(first, last); }
+ { this->copy_from_range(first, last); }
// Constructor taking __iterators to a range of value_types and
// some policy objects The value_types between first_it and
@@ -272,7 +272,7 @@ namespace __gnu_pbds
cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
const comb_hash_fn& ch, const resize_policy& rp)
: base_type(h, e, ch, rp)
- { copy_from_range(first, last); }
+ { this->copy_from_range(first, last); }
cc_hash_table(const cc_hash_table& other)
: base_type((const base_type&)other)
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
index 5a335a6dd47..0ef925f079e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
@@ -43,7 +43,7 @@ inline bool
PB_DS_CLASS_C_DEC::
erase(const_key_reference r_key)
{
- point_iterator it = find(r_key);
+ point_iterator it = this->find(r_key);
if (it == base_type::end())
return false;
erase(it);
@@ -121,7 +121,7 @@ void
PB_DS_CLASS_C_DEC::
remove_node(node_pointer p_z)
{
- update_min_max_for_erased_node(p_z);
+ this->update_min_max_for_erased_node(p_z);
node_pointer p_y = p_z;
node_pointer p_x = 0;
node_pointer p_new_x_parent = 0;
@@ -185,7 +185,7 @@ remove_node(node_pointer p_z)
p_y = p_z;
}
- update_to_top(p_new_x_parent, (node_update* )this);
+ this->update_to_top(p_new_x_parent, (node_update* )this);
if (p_y->m_red)
return;
@@ -238,7 +238,7 @@ remove_fixup(node_pointer p_x, node_pointer p_new_x_parent)
p_w->m_p_right->m_red = false;
base_type::rotate_left(p_new_x_parent);
- update_to_top(p_new_x_parent, (node_update* )this);
+ this->update_to_top(p_new_x_parent, (node_update* )this);
break;
}
}
@@ -279,7 +279,7 @@ remove_fixup(node_pointer p_x, node_pointer p_new_x_parent)
p_w->m_p_left->m_red = false;
base_type::rotate_right(p_new_x_parent);
- update_to_top(p_new_x_parent, (node_update* )this);
+ this->update_to_top(p_new_x_parent, (node_update* )this);
break;
}
}
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
index a0d079b142f..198caca8868 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
@@ -246,7 +246,7 @@ split(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
PB_DS_STRUCT_ONLY_ASSERT_VALID((*this))
PB_DS_STRUCT_ONLY_ASSERT_VALID(other)
- node_pointer p_nd = upper_bound(r_key).m_p_nd;
+ node_pointer p_nd = this->upper_bound(r_key).m_p_nd;
do
{
node_pointer p_next_nd = p_nd->m_p_parent;
@@ -292,7 +292,7 @@ split_at_node(node_pointer p_nd, PB_DS_CLASS_C_DEC& other)
if (p_l != 0)
p_l->m_p_parent = p_parent;
- update_to_top(p_parent, (node_update* )this);
+ this->update_to_top(p_parent, (node_update* )this);
if (!p_nd->m_red)
remove_fixup(p_l, p_parent);
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
index 207577cf492..22f8e68c440 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
@@ -142,7 +142,7 @@ erase_node(node_pointer p_nd)
if (p_l != 0)
p_l->m_p_parent = p_target_r;
PB_DS_ASSERT_VALID((*this))
- apply_update(p_target_r, (node_update* )this);
+ this->apply_update(p_target_r, (node_update* )this);
}
PB_DS_CLASS_T_DEC
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
index 97441c9df46..4e1179ead2f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
@@ -90,5 +90,5 @@ insert_leaf_imp(const_reference r_value)
while (p_nd->m_p_right != 0)
p_nd = p_nd->m_p_right;
- return std::make_pair(insert_leaf_new(r_value, p_nd, false), true);
+ return std::make_pair(this->insert_leaf_new(r_value, p_nd, false), true);
}
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
index ec38cf81314..b1523662c43 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
@@ -274,9 +274,9 @@ splay_zz_end(node_pointer p_nd, node_pointer p_parent,
if (p_nd->m_p_parent == base_type::m_p_head)
base_type::m_p_head->m_p_parent = p_nd;
- apply_update(p_grandparent, (node_update* )this);
- apply_update(p_parent, (node_update* )this);
- apply_update(p_nd, (node_update* )this);
+ this->apply_update(p_grandparent, (node_update* )this);
+ this->apply_update(p_parent, (node_update* )this);
+ this->apply_update(p_nd, (node_update* )this);
PB_DS_ASSERT_BASE_NODE_CONSISTENT(p_nd)
}
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
index cb04d656933..fe4cfa57bf7 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
@@ -66,7 +66,7 @@ join(PB_DS_CLASS_C_DEC& other)
base_type::m_p_head->m_p_parent = p_target_r;
p_target_r->m_p_parent = base_type::m_p_head;
- apply_update(p_target_r, (node_update* )this);
+ this->apply_update(p_target_r, (node_update* )this);
base_type::join_finish(other);
@@ -89,7 +89,7 @@ split(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
return;
}
- node_pointer p_upper_bound = upper_bound(r_key).m_p_nd;
+ node_pointer p_upper_bound = this->upper_bound(r_key).m_p_nd;
_GLIBCXX_DEBUG_ASSERT(p_upper_bound != 0);
splay(p_upper_bound);
@@ -103,7 +103,7 @@ split(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
other.m_p_head->m_p_parent = p_upper_bound;
p_upper_bound->m_p_parent = other.m_p_head;
p_upper_bound->m_p_left = 0;
- apply_update(p_upper_bound, (node_update* )this);
+ this->apply_update(p_upper_bound, (node_update* )this);
base_type::split_finish(other);
PB_DS_ASSERT_VALID((*this))
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
index 1d33767a2c0..d3b27925f7e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
@@ -96,9 +96,9 @@ order_of_key(const_key_reference r_key) const
{
const_node_iterator l_it = it.get_l_child();
- if (r_cmp_fn(r_key, extract_key(*(*it))))
+ if (r_cmp_fn(r_key, this->extract_key(*(*it))))
it = l_it;
- else if (r_cmp_fn(extract_key(*(*it)), r_key))
+ else if (r_cmp_fn(this->extract_key(*(*it)), r_key))
{
ord += (l_it == end_it)?
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
index cdd8989295c..ff2799e3e95 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
@@ -104,9 +104,9 @@ prefix_range(typename e_access_traits::const_iterator b, typename e_access_trait
if (common_range_length >= given_range_length)
{
- iterator ret_b = leftmost_it(nd_it);
+ iterator ret_b = this->leftmost_it(nd_it);
- iterator ret_e = rightmost_it(nd_it);
+ iterator ret_e = this->rightmost_it(nd_it);
return (std::make_pair(ret_b, ++ret_e));
}
diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h
index 4a27ff6ef5b..afd4d9e3688 100644
--- a/libstdc++-v3/include/ext/rc_string_base.h
+++ b/libstdc++-v3/include/ext/rc_string_base.h
@@ -461,7 +461,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__alloc);
if (_M_info._M_length)
- _S_copy(__r->_M_refdata(), _M_refdata(), _M_info._M_length);
+ __rc_string_base::_S_copy(__r->_M_refdata(), _M_refdata(), _M_info._M_length);
__r->_M_set_length(_M_info._M_length);
return __r->_M_refdata();
@@ -569,7 +569,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Check for out_of_range and length_error exceptions.
_Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a);
__try
- { _S_copy_chars(__r->_M_refdata(), __beg, __end); }
+ { __rc_string_base::_S_copy_chars(__r->_M_refdata(), __beg, __end); }
__catch(...)
{
__r->_M_destroy(__a);
@@ -590,7 +590,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Check for out_of_range and length_error exceptions.
_Rep* __r = _Rep::_S_create(__n, size_type(0), __a);
if (__n)
- _S_assign(__r->_M_refdata(), __n, __c);
+ __rc_string_base::_S_assign(__r->_M_refdata(), __n, __c);
__r->_M_set_length(__n);
return __r->_M_refdata();
@@ -659,11 +659,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_capacity(), _M_get_allocator());
if (__pos)
- _S_copy(__r->_M_refdata(), _M_data(), __pos);
+ this->_S_copy(__r->_M_refdata(), _M_data(), __pos);
if (__s && __len2)
- _S_copy(__r->_M_refdata() + __pos, __s, __len2);
+ this->_S_copy(__r->_M_refdata() + __pos, __s, __len2);
if (__how_much)
- _S_copy(__r->_M_refdata() + __pos + __len2,
+ this->_S_copy(__r->_M_refdata() + __pos + __len2,
_M_data() + __pos + __len1, __how_much);
_M_dispose();
@@ -685,9 +685,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_get_allocator());
if (__pos)
- _S_copy(__r->_M_refdata(), _M_data(), __pos);
+ this->_S_copy(__r->_M_refdata(), _M_data(), __pos);
if (__how_much)
- _S_copy(__r->_M_refdata() + __pos,
+ this->_S_copy(__r->_M_refdata() + __pos,
_M_data() + __pos + __n, __how_much);
_M_dispose();
@@ -696,7 +696,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
else if (__how_much && __n)
{
// Work in-place.
- _S_move(_M_data() + __pos,
+ this->_S_move(_M_data() + __pos,
_M_data() + __pos + __n, __how_much);
}
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index 42921516e40..5e82811757c 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -729,7 +729,7 @@ protected:
if (_M_data != this->_M_c_string)
this->_M_free_c_string();
- __STL_FREE_STRING(_M_data, this->_M_size, this->_M_get_allocator());
+ this->__STL_FREE_STRING(_M_data, this->_M_size, this->_M_get_allocator());
}
#endif
protected:
@@ -1170,7 +1170,7 @@ protected:
operator*()
{
if (0 == this->_M_buf_ptr)
- _S_setcache(*this);
+ this->_S_setcache(*this);
return *this->_M_buf_ptr;
}
@@ -1299,7 +1299,7 @@ protected:
_M_root_rope(__r)
{ _RopeRep::_S_ref(this->_M_root);
if (!(__r -> empty()))
- _S_setcache(*this);
+ this->_S_setcache(*this);
}
void _M_check();
diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
index 467b8fd93d2..3ee06104c60 100644
--- a/libstdc++-v3/include/ext/ropeimpl.h
+++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -380,7 +380,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Rope_RopeLeaf<_CharT, _Alloc>* __l
= (_Rope_RopeLeaf<_CharT, _Alloc>*)this;
__l->_Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf();
- _L_deallocate(__l, 1);
+ this->_L_deallocate(__l, 1);
break;
}
case __detail::_S_concat:
@@ -389,7 +389,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
= (_Rope_RopeConcatenation<_CharT, _Alloc>*)this;
__c->_Rope_RopeConcatenation<_CharT, _Alloc>::
~_Rope_RopeConcatenation();
- _C_deallocate(__c, 1);
+ this->_C_deallocate(__c, 1);
break;
}
case __detail::_S_function:
@@ -397,7 +397,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Rope_RopeFunction<_CharT, _Alloc>* __f
= (_Rope_RopeFunction<_CharT, _Alloc>*)this;
__f->_Rope_RopeFunction<_CharT, _Alloc>::~_Rope_RopeFunction();
- _F_deallocate(__f, 1);
+ this->_F_deallocate(__f, 1);
break;
}
case __detail::_S_substringfn:
@@ -406,7 +406,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
(_Rope_RopeSubstring<_CharT, _Alloc>*)this;
__ss->_Rope_RopeSubstring<_CharT, _Alloc>::
~_Rope_RopeSubstring();
- _S_deallocate(__ss, 1);
+ this->_S_deallocate(__ss, 1);
break;
}
}
@@ -430,7 +430,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
size_t __old_len = __r->_M_size;
_CharT* __new_data = (_CharT*)
- _Data_allocate(_S_rounded_up_size(__old_len + __len));
+ rope::_Data_allocate(_S_rounded_up_size(__old_len + __len));
_RopeLeaf* __result;
uninitialized_copy_n(__r->_M_data, __old_len, __new_data);
@@ -511,7 +511,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
__catch(...)
{
- _C_deallocate(__result,1);
+ rope::_C_deallocate(__result,1);
__throw_exception_again;
}
// In case of exception, we need to deallocate
@@ -814,7 +814,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (__result_len > __lazy_threshold)
goto lazy;
__section = (_CharT*)
- _Data_allocate(_S_rounded_up_size(__result_len));
+ rope::_Data_allocate(_S_rounded_up_size(__result_len));
__try
{ (*(__f->_M_fn))(__start, __result_len, __section); }
__catch(...)
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index f8ea41cc3ee..40cf87030b5 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -62,6 +62,12 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
+ template<typename _MemberPointer>
+ class _Mem_fn;
+ template<typename _Tp, typename _Class>
+ _Mem_fn<_Tp _Class::*>
+ mem_fn(_Tp _Class::*);
+
_GLIBCXX_HAS_NESTED_TYPE(result_type)
/// If we have found a result_type, extract it.
@@ -496,9 +502,6 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
// @} group functors
- template<typename _MemberPointer>
- class _Mem_fn;
-
/**
* Derives from @c unary_function or @c binary_function, or perhaps
* nothing, depending on the number of arguments provided. The
diff --git a/libstdc++-v3/include/tr1/exp_integral.tcc b/libstdc++-v3/include/tr1/exp_integral.tcc
index cf3bd63536b..6a49b354cae 100644
--- a/libstdc++-v3/include/tr1/exp_integral.tcc
+++ b/libstdc++-v3/include/tr1/exp_integral.tcc
@@ -59,6 +59,8 @@ namespace tr1
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
+ template<typename _Tp> _Tp __expint_E1(const _Tp);
+
/**
* @brief Return the exponential integral @f$ E_1(x) @f$
* by series summation. This should be good
diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional
index 31e72d63ab5..7651326955a 100644
--- a/libstdc++-v3/include/tr1/functional
+++ b/libstdc++-v3/include/tr1/functional
@@ -52,6 +52,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _MemberPointer>
class _Mem_fn;
+ template<typename _Tp, typename _Class>
+ _Mem_fn<_Tp _Class::*>
+ mem_fn(_Tp _Class::*);
/**
* Actual implementation of _Has_result_type, which uses SFINAE to
diff --git a/libstdc++-v3/testsuite/util/exception/safety.h b/libstdc++-v3/testsuite/util/exception/safety.h
index 9468bffd8d5..b85f7fe4e5f 100644
--- a/libstdc++-v3/testsuite/util/exception/safety.h
+++ b/libstdc++-v3/testsuite/util/exception/safety.h
@@ -1196,20 +1196,20 @@ namespace __gnu_test
// constructor or assignment operator of value_type throws.
if (!traits<container_type>::has_throwing_erase::value)
{
- _M_erasep(_M_container);
- _M_eraser(_M_container);
+ this->_M_erasep(_M_container);
+ this->_M_eraser(_M_container);
}
- _M_popf(_M_container);
- _M_popb(_M_container);
+ this->_M_popf(_M_container);
+ this->_M_popb(_M_container);
- _M_iops(_M_container);
- _M_ciops(_M_container);
+ this->_M_iops(_M_container);
+ this->_M_ciops(_M_container);
- _M_swap(_M_container);
+ this->_M_swap(_M_container);
// Last.
- _M_clear(_M_container);
+ this->_M_clear(_M_container);
}
}
};
diff --git a/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp b/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
index 4367fca3016..dad913fa0ab 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
@@ -188,7 +188,7 @@ namespace __gnu_pbds
modify(const_reference r_old, const_reference r_new)
{
erase(r_old);
- push(r_new);
+ this->push(r_new);
}
void
diff --git a/libstdc++-v3/testsuite/util/testsuite_io.h b/libstdc++-v3/testsuite/util/testsuite_io.h
index 681448aa51f..4251b710715 100644
--- a/libstdc++-v3/testsuite/util/testsuite_io.h
+++ b/libstdc++-v3/testsuite/util/testsuite_io.h
@@ -144,7 +144,7 @@ namespace __gnu_test
{
p[0] = char_type('s');
p[1] = char_type();
- setg(p, p, p + 1);
+ this->setg(p, p, p + 1);
}
virtual int_type underflow()