This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix collate_members_char[wchar_t].cc


Sorry, the patch posted had a typo in it. This is what I have really tested:

Ciao, Paolo.

////////////

diff -urN libstdc++-v3-orig/testsuite/22_locale/collate_members_char.cc
libstdc++-v3/testsuite/22_locale/collate_members_char.cc
--- libstdc++-v3-orig/testsuite/22_locale/collate_members_char.cc Mon Feb 11
19:56:24 2002
+++ libstdc++-v3/testsuite/22_locale/collate_members_char.cc Wed Mar 13 22:34:59
2002
@@ -86,10 +86,10 @@

   string str1 = coll_c.transform(strlit1, strlit1 + size1);
   string str2 = coll_c.transform(strlit2, strlit2 + size2);
-  i1 = coll_c.compare(str1.c_str(), str1.c_str() + size1,
-         str2.c_str(), str2.c_str() + size2);
+  i1 = str1.compare(str2);
   i2 = coll_c.compare(strlit1, strlit1 + size1, strlit2, strlit2 + size2);
-  VERIFY(i1 == i2);
+  VERIFY(i2 == 1);
+  VERIFY(i1 * i2 > 0);

   // Check German "de_DE" locale.
   const char* strlit3 = "Äuglein Augment"; // "C" == "Augment Äuglein"
@@ -123,10 +123,10 @@

   string str3 = coll_de.transform(strlit3, strlit3 + size3);
   string str4 = coll_de.transform(strlit4, strlit4 + size4);
-  i1 = coll_de.compare(str3.c_str(), str3.c_str() + size3,
-         str4.c_str(), str4.c_str() + size4);
+  i1 = str3.compare(str4);
   i2 = coll_de.compare(strlit3, strlit3 + size3, strlit4, strlit4 + size4);
-  VERIFY(i1 == i2);
+  VERIFY(i2 == -1);
+  VERIFY(i1 * i2 > 0);
 }

 // libstdc++/5280
diff -urN libstdc++-v3-orig/testsuite/22_locale/collate_members_wchar_t.cc
libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc
--- libstdc++-v3-orig/testsuite/22_locale/collate_members_wchar_t.cc Mon Feb 11
19:56:24 2002
+++ libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc Wed Mar 13 21:57:47
2002
@@ -86,10 +86,10 @@

   wstring str1 = coll_c.transform(strlit1, strlit1 + size1);
   wstring str2 = coll_c.transform(strlit2, strlit2 + size2);
-  i1 = coll_c.compare(str1.c_str(), str1.c_str() + size1,
-        str2.c_str(), str2.c_str() + size2);
+  i1 = str1.compare(str2);
   i2 = coll_c.compare(strlit1, strlit1 + size1, strlit2, strlit2 + size2);
-  VERIFY(i1 == i2);
+  VERIFY(i2 == 1);
+  VERIFY(i1 * i2 > 0);

   // Check German "de_DE" locale.
   const wchar_t* strlit3 = L"Äuglein Augment"; // "C" == "Augment Äuglein"
@@ -123,10 +123,10 @@

   wstring str3 = coll_de.transform(strlit3, strlit3 + size3);
   wstring str4 = coll_de.transform(strlit4, strlit4 + size4);
-  i1 = coll_de.compare(str3.c_str(), str3.c_str() + size3,
-         str4.c_str(), str4.c_str() + size4);
+  i1 = str3.compare(str4);
   i2 = coll_de.compare(strlit3, strlit3 + size3, strlit4, strlit4 + size4);
-  VERIFY(i1 == i2);
+  VERIFY(i2 == -1);
+  VERIFY(i1 * i2 > 0);
 }

 // libstdc++/5280



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]