From eee9d6bb447489f7251c3b5bc041d6497f690417 Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Tue, 10 Dec 2002 07:32:04 +0000 Subject: [PATCH] * include/bits/slice_array.h (slice_array<>::operator=): Fix typo. From-SVN: r59983 --- libstdc++-v3/ChangeLog | 4 ++++ libstdc++-v3/include/bits/slice_array.h | 3 ++- .../testsuite/26_numerics/slice_array_assignment.cc | 16 +++++++++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 68ca964..1396496 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2002-12-09 Gabriel Dos Reis + + * include/bits/slice_array.h (slice_array<>::operator=): Fix typo. + 2002-12-09 Mark Mitchell * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it. diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h index 1ab351b..2502ef4 100644 --- a/libstdc++-v3/include/bits/slice_array.h +++ b/libstdc++-v3/include/bits/slice_array.h @@ -157,7 +157,8 @@ namespace std inline slice_array<_Tp>& slice_array<_Tp>::operator=(const slice_array<_Tp>& __a) { - __valarray_copy(_M_array, _M_sz, _M_stride, __a._M_array, __a._M_stride); + __valarray_copy(__a._M_array, __a._M_sz, __a._M_stride, + _M_array, _M_stride); return *this; } diff --git a/libstdc++-v3/testsuite/26_numerics/slice_array_assignment.cc b/libstdc++-v3/testsuite/26_numerics/slice_array_assignment.cc index f2e2086..52dcfe0 100644 --- a/libstdc++-v3/testsuite/26_numerics/slice_array_assignment.cc +++ b/libstdc++-v3/testsuite/26_numerics/slice_array_assignment.cc @@ -1,6 +1,6 @@ // 20010613 gdr -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -30,15 +30,21 @@ // This is DR-253. Test for accessible assignment-operators. #include +#include int main() { - std::valarray v(10), w(10); - std::slice s(0, 0, 0); + using std::valarray; + using std::slice; + valarray v(1, 10), w(2, 10); - v[s] = w[s]; // dg-do compile + w[slice(0, 3, 3)] = v[slice(2, 3, 3)]; - std::slice_array t = v[s]; + VERIFY(v[0] == 1 && w[0] == 1); + VERIFY(v[3] == 1 && w[3] == 1); + VERIFY(v[6] == 1 && w[6] == 1); + + std::slice_array t = v[slice(0, 10, 1)]; return 0; } -- 2.7.4