aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2007-11-25 12:07:55 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-11-25 12:07:55 +0000
commit64f6a0efdfa5c03132c45952bd1986a8adc2c19d (patch)
treeb6a98ac0c2f374d16f8be381965ebed1efbf7dfe /libstdc++-v3
parentba940b7cb30a2f9671d43572fed6c77fd5125b6b (diff)
downloadgcc-64f6a0efdfa5c03132c45952bd1986a8adc2c19d.zip
gcc-64f6a0efdfa5c03132c45952bd1986a8adc2c19d.tar.gz
gcc-64f6a0efdfa5c03132c45952bd1986a8adc2c19d.tar.bz2
array (array<>::_M_check): Remove, not necessary anymore.
2007-11-25 Paolo Carlini <pcarlini@suse.de> * include/tr1_impl/array (array<>::_M_check): Remove, not necessary anymore. (array<>::at): Adjust. * docs/html/17_intro/c++0x_status.html: Fix array::data entry. From-SVN: r130405
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/docs/html/17_intro/c++0x_status.html2
-rw-r--r--libstdc++-v3/include/tr1_impl/array23
3 files changed, 14 insertions, 19 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 91aba14..0688b26 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,13 @@
2007-11-25 Paolo Carlini <pcarlini@suse.de>
+ * include/tr1_impl/array (array<>::_M_check): Remove, not necessary
+ anymore.
+ (array<>::at): Adjust.
+
+ * docs/html/17_intro/c++0x_status.html: Fix array::data entry.
+
+2007-11-25 Paolo Carlini <pcarlini@suse.de>
+
* include/bits/stl_algobase.h (__lexicographical_compare<>::__lc):
Move out of line.
diff --git a/libstdc++-v3/docs/html/17_intro/c++0x_status.html b/libstdc++-v3/docs/html/17_intro/c++0x_status.html
index 5627d6f..e4e07e0 100644
--- a/libstdc++-v3/docs/html/17_intro/c++0x_status.html
+++ b/libstdc++-v3/docs/html/17_intro/c++0x_status.html
@@ -771,9 +771,9 @@ particular release.
<tr>
<td>23.2.1.4</td>
<td><code>array </code>data</td>
+ <td>done</td>
<td></td>
<td></td>
- <td>missing</td>
<td></td>
</tr>
<tr>
diff --git a/libstdc++-v3/include/tr1_impl/array b/libstdc++-v3/include/tr1_impl/array
index 425b87c..7a13ba8 100644
--- a/libstdc++-v3/include/tr1_impl/array
+++ b/libstdc++-v3/include/tr1_impl/array
@@ -136,15 +136,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
reference
at(size_type __n)
- {
- _M_check<_Nm>(__n);
+ {
+ if (__builtin_expect(__n >= _Nm, false))
+ std::__throw_out_of_range(__N("array::at"));
return _M_instance[__n];
}
const_reference
at(size_type __n) const
{
- _M_check<_Nm>(__n);
+ if (__builtin_expect(__n >= _Nm, false))
+ std::__throw_out_of_range(__N("array::at"));
return _M_instance[__n];
}
@@ -171,21 +173,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
const _Tp*
data() const
{ return &_M_instance[0]; }
-
- private:
- template<std::size_t _Mm>
- typename __gnu_cxx::__enable_if<_Mm, void>::__type
- _M_check(size_type __n) const
- {
- if (__builtin_expect(__n >= _Mm, false))
- std::__throw_out_of_range(__N("array::_M_check"));
- }
-
- // Avoid "unsigned comparison with zero" warnings.
- template<std::size_t _Mm>
- typename __gnu_cxx::__enable_if<!_Mm, void>::__type
- _M_check(size_type) const
- { std::__throw_out_of_range(__N("array::_M_check")); }
};
// Array comparisons.