]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/testsuite/26_numerics/random/independent_bits_engine/operators/serialize.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 26_numerics / random / independent_bits_engine / operators / serialize.cc
index a92553e10cd5726b2fdcf4e1f737c11cc5b39cb9..4d2ff22f8a1f6bc9f4af89e69e4b8a48006bf018 100644 (file)
@@ -1,13 +1,14 @@
-// { dg-options "-std=c++0x" }
+// { dg-do run { target c++11 } }
+// { dg-require-cstdint "" }
 //
 // 2008-11-24  Edward M. Smith-Rowland <3dw4rd@verizon.net>
 //
-// Copyright (C) 2008 Free Software Foundation, Inc.
+// Copyright (C) 2008-2020 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
 // terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
+// Free Software Foundation; either version 3, or (at your option)
 // any later version.
 //
 // This library is distributed in the hope that it will be useful,
@@ -16,9 +17,8 @@
 // GNU General Public License for more details.
 //
 // You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-// USA.
+// with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
 
 // 26.4.4.1 class template discard_block_engine [rand.adapt.disc]
 // 26.4.2.3 concept RandomNumberEngineAdaptor [rand.concept.adapt]
 void
 test01()
 {
-  bool test __attribute__((unused)) = true;
-
   std::stringstream str;
   std::independent_bits_engine
     <std::subtract_with_carry_engine<uint_fast64_t, 48, 5, 12>,
-     48, unsigned long> u, v;
+     48, uint_fast64_t> u, v;
 
   u(); // advance
   str << u;
@@ -44,6 +42,20 @@ test01()
 
   str >> v;
   VERIFY( u == v );
+  for (unsigned i = 0; i < 1000; ++i)
+    VERIFY( u() == v() );
+
+  str.clear();
+  str << v;
+
+  u();
+  u();
+  u();
+
+  str >> u;
+  VERIFY( u == v );
+  for (unsigned i = 0; i < 1000; ++i)
+    VERIFY( u() == v() );
 }
 
 int main()