diff options
| -rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
| -rw-r--r-- | libstdc++-v3/include/bits/c++config | 8 | ||||
| -rw-r--r-- | libstdc++-v3/include/bits/forward_list.h | 12 | ||||
| -rw-r--r-- | libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc | 5 |
4 files changed, 23 insertions, 8 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 958482e0213..b794ad9958b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2009-04-16 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/forward_list.h: Remove default std::allocator<_Tp> + from base classes. + * testsuite/23_containers/forward_list/capacity/1.cc: Adjust. + 2009-04-15 Benjamin Kosnik <bkoz@redhat.com> * doc/html: Regenerate. diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index dfbe48c8f1f..46852d04b46 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -314,4 +314,12 @@ _GLIBCXX_END_NAMESPACE #undef min #undef max +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + // End of prewritten config; the discovered settings follow. diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h index d6f42bdf722..d49eb4a0678 100644 --- a/libstdc++-v3/include/bits/forward_list.h +++ b/libstdc++-v3/include/bits/forward_list.h @@ -81,7 +81,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * This is just a linked list with a data value in each node. * There is a sorting utility method. */ - template<typename _Tp, typename _Alloc = std::allocator<_Tp> > + template<typename _Tp, typename _Alloc> struct _Fwd_list_node : public _Fwd_list_node_base<_Alloc> { typedef typename _Alloc::template rebind<_Fwd_list_node<_Tp, _Alloc> > @@ -104,7 +104,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * * All the functions are op overloads. */ - template<typename _Tp, typename _Alloc = std::allocator<_Tp> > + template<typename _Tp, typename _Alloc> struct _Fwd_list_iterator { typedef _Fwd_list_iterator<_Tp, _Alloc> _Self; @@ -171,7 +171,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * * All the functions are op overloads. */ - template<typename _Tp, typename _Alloc = std::allocator<_Tp> > + template<typename _Tp, typename _Alloc> struct _Fwd_list_const_iterator { typedef _Fwd_list_const_iterator<_Tp, _Alloc> _Self; @@ -240,7 +240,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /** * @brief Forward list iterator equality comparison. */ - template<typename _Tp,class _Alloc> + template<typename _Tp, typename _Alloc> inline bool operator==(const _Fwd_list_iterator<_Tp, _Alloc>& __x, const _Fwd_list_const_iterator<_Tp, _Alloc>& __y) @@ -249,7 +249,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /** * @brief Forward list iterator inequality comparison. */ - template<typename _Tp,class _Alloc> + template<typename _Tp, typename _Alloc> inline bool operator!=(const _Fwd_list_iterator<_Tp, _Alloc>& __x, const _Fwd_list_const_iterator<_Tp, _Alloc>& __y) @@ -258,7 +258,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /** * @brief Base class for %forward_list. */ - template<typename _Tp, typename _Alloc = allocator<_Tp> > + template<typename _Tp, typename _Alloc> struct _Fwd_list_base { protected: diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc index 99b336bab77..97355824404 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc @@ -38,8 +38,9 @@ test01() fld.resize(0); VERIFY(fld.empty() == true); - VERIFY( fld.max_size() - == std::allocator<std::_Fwd_list_node<double> >().max_size() ); + VERIFY( (fld.max_size() + == std::allocator<std::_Fwd_list_node<double, + std::allocator<double> > >().max_size()) ); } int |

