]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
authorGabriel Dos Reis <gdr@integrable-solutions.net>
Tue, 10 Dec 2002 07:39:51 +0000 (07:39 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Tue, 10 Dec 2002 07:39:51 +0000 (07:39 +0000)
From-SVN: r59984

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/slice_array.h
libstdc++-v3/testsuite/26_numerics/slice_array_assignment.cc

index d3e059243a0ee1ca7698a1383522f53d460c2d1d..3580244894e8a458b074b85bd263317c4a05e95f 100644 (file)
@@ -1,3 +1,7 @@
+2002-12-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
+
 2002-12-05  Benjamin Kosnik  <bkoz@redhat.com>
 
        * config/linker-map.gnu: Put _S_force_new into GLIBCPP_3.2.2.
index c8908f8bb53bbec1c6699088938ba8275710908e..cca3e63f0ae57d725485b3740e5d36d458eca4d1 100644 (file)
@@ -120,7 +120,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;
   }
 
index f2e20860b6c361e04cbbf5412479623c47fc2768..52dcfe08336002c8fee86e6741a1196d901980b9 100644 (file)
@@ -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
 
 // This is DR-253.  Test for accessible assignment-operators.
 #include <valarray>
+#include <testsuite_hooks.h>
 
 int main()
 {
-  std::valarray<double> v(10), w(10);
-  std::slice s(0, 0, 0);
+  using std::valarray;
+  using std::slice;
+  valarray<int> 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<double> 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<int> t = v[slice(0, 10, 1)];
   
   return 0;
 }