diff options
| author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-18 08:36:06 +0000 |
|---|---|---|
| committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-18 08:36:06 +0000 |
| commit | a558fd42873865cc1e93a5916713f850c510d76e (patch) | |
| tree | 4b2998e8222d758131a6b3f6b82324e81255caff /libstdc++-v3/include/std/array | |
| parent | ef5c7840b2f35bc1d07401510d60f458bcfc23cd (diff) | |
| download | ppe42-gcc-a558fd42873865cc1e93a5916713f850c510d76e.tar.gz ppe42-gcc-a558fd42873865cc1e93a5916713f850c510d76e.zip | |
2012-10-17 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/move.h (move_if_noexcept): Mark constexpr.
* include/std/array (front, back): Same.
* include/std/chrono: Add comment.
* include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
(operator ==, <, >, !=, <=, >=): Same.
* testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
* testsuite/20_util/forward/f_neg.cc: Same.
* testsuite/20_util/move_if_noexcept/constexpr.cc: New.
* testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
* testsuite/23_containers/array/element_access/
constexpr_element_access.cc: Same.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Same.
* testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
Temporarily add dg-excess-errors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192556 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/std/array')
| -rw-r--r-- | libstdc++-v3/include/std/array | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libstdc++-v3/include/std/array b/libstdc++-v3/include/std/array index c7c0a5ae824..15dd6c13222 100644 --- a/libstdc++-v3/include/std/array +++ b/libstdc++-v3/include/std/array @@ -198,17 +198,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION front() { return *begin(); } - const_reference + constexpr const_reference front() const - { return *begin(); } + { return _AT_Type::_S_ref(_M_elems, 0); } reference back() { return _Nm ? *(end() - 1) : *end(); } - const_reference + constexpr const_reference back() const - { return _Nm ? *(end() - 1) : *end(); } + { + return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) + : _AT_Type::_S_ref(_M_elems, _Nm); + } pointer data() noexcept |

