]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libstdc++/23550 (char_traits requirements/1.cc test bad math)
authorLawrence Lim <llim@redhat.com>
Wed, 24 Aug 2005 20:31:01 +0000 (20:31 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Wed, 24 Aug 2005 20:31:01 +0000 (20:31 +0000)
2005-08-24  Lawrence Lim  <llim@redhat.com>
            Jakub Jelinek  <jakub@redhat.com>
    Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/23550
* testsuite/21_strings/char_traits/requirements/char/1.cc
(test01): Simplify counting.
* testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
(test02): Same.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r103453

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc
libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc

index 6e645d79c149ac24717872034354717703ab5da2..6ac703c3d38b1d0506d0fde988325c20a8f04956 100644 (file)
@@ -1,3 +1,13 @@
+2005-08-24  Lawrence Lim  <llim@redhat.com>
+            Jakub Jelinek  <jakub@redhat.com>
+           Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/23550
+       * testsuite/21_strings/char_traits/requirements/char/1.cc
+       (test01): Simplify counting.
+       * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
+       (test02): Same.
+
 2005-07-18  Paolo Carlini  <pcarlini@suse.de>
            Nathan Myers  <ncm@cantrip.org>
 
index 15500b0dce2fafe5a9525a87d3b42b8675cc3f96..c3848734aedad120456c3a26327c2e44066dd5bb 100644 (file)
@@ -1,6 +1,7 @@
 // 1999-06-03 bkoz
 
-// Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005
+// 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
@@ -32,12 +33,12 @@ void test01(void)
   // 21.1.1 character traits requirements
 
   // Key for decoding what function signatures really mean:
-  // X                == char_traits<_CharT>
+  // X        == char_traits<_CharT>
   // [c,d]    == _CharT
   // [p,q]    == const _CharT*
-  // s                == _CharT*
+  // s        == _CharT*
   // [n,i,j]  == size_t
-  // f                == X::int_type
+  // f        == X::int_type
   // pos      == X::pos_type
   // state    == X::state_type
 
@@ -54,9 +55,11 @@ void test01(void)
   // correctly even where p is in [s, s + n), and yields s.   
   char array1[] = {'z', 'u', 'm', 'a', ' ', 'b', 'e', 'a', 'c', 'h',  0};
   const char str_lit1[] = "montara and ocean beach";
-  int len = sizeof(str_lit1) + sizeof(array1) - 1; // two terminating chars
-  char array2[len];
-  std::char_traits<char>::copy(array2, "boracay, philippines", len);
+  const char str_lit2[] = "boracay, philippines";
+  const int len1 = sizeof(str_lit1)/sizeof(char);
+  const int len2 = sizeof(str_lit2)/sizeof(char);
+  char array2[len1 + len2 - 1]; // two terminating chars
+  std::char_traits<char>::copy(array2, str_lit2, len2);
 
   VERIFY( str_lit1[0] == 'm' );
   c1 = array2[0];
index d7582ca4cc107a921c6a2da058f1e0efb0c64078..f52cfaf49978a3c2ef8dd94ab8cd1ad5bb449f01 100644 (file)
@@ -1,6 +1,7 @@
 // 1999-06-03 bkoz
 
-// Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005
+// 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
@@ -54,9 +55,11 @@ void test02(void)
   // correctly even where p is in [s, s + n), and yields s.   
   wchar_t array1[] = {L'z', L'u', L'm', L'a', L' ', L'b', L'e', L'a', L'c', L'h',  0};
   const wchar_t str_lit1[] = L"montara and ocean beach";
-  int len = sizeof(str_lit1) + sizeof(array1) - 1; // two terminating chars
-  wchar_t array2[len];
-  std::char_traits<wchar_t>::copy(array2, L"boracay, philippines", len);
+  const wchar_t str_lit2[] = L"boracay, philippines";
+  const int len1 = sizeof(str_lit1)/sizeof(wchar_t);
+  const int len2 = sizeof(str_lit2)/sizeof(wchar_t);
+  wchar_t array2[len1 + len2 - 1]; // two terminating chars
+  std::char_traits<wchar_t>::copy(array2, str_lit2, len2);
 
   VERIFY( str_lit1[0] == 'm' );
   c1 = array2[0];