[v3] Fix codecvt_members_char.cc for big endian machines

Paolo Carlini pcarlini@unitus.it
Mon Mar 25 05:27:00 GMT 2002


Hi,

the below tested on i686-pc-linux-gnu and s390-linux-gnu, fixes a wrong 
endianness assumption of the test. Approved by Benjamin Kosnik.

Ciao, Paolo.

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

2002-03-25  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
            Paolo Carlini  <pcarlini@unitus.it>

        * testsuite/22_locale/codecvt_members_unicode_char.cc
        (test01, test02): Fix i_lit_base arrays, making them
        independent from the endianness of the platform.

===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/22_locale/codecvt_members_unicode_char.cc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gcc/libstdc++-v3/testsuite/22_locale/codecvt_members_unicode_char.cc	2002/02/08 01:34:41	1.2
+++ gcc/libstdc++-v3/testsuite/22_locale/codecvt_members_unicode_char.cc	2002/03/25 13:22:20	1.3
@@ -72,13 +72,14 @@
   const ext_type* 	e_lit = "black pearl jasmine tea";
   int 			size = strlen(e_lit);
 
-  int_type 		i_lit_base[25] = 
+  char 		        i_lit_base[50] = 
   { 
-    0x6200, 0x6c00, 0x6100, 0x6300, 0x6b00, 0x2000, 0x7000, 0x6500, 0x6100, 
-    0x7200, 0x6c00, 0x2000, 0x6a00, 0x6100, 0x7300, 0x6d00, 0x6900, 0x6e00, 
-    0x6500, 0x2000, 0x7400, 0x6500, 0x6100, 0xa000
+    0x00, 0x62, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6b, 0x00, 0x20,
+    0x00, 0x70, 0x00, 0x65, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6c, 0x00, 0x20,
+    0x00, 0x6a, 0x00, 0x61, 0x00, 0x73, 0x00, 0x6d, 0x00, 0x69, 0x00, 0x6e,
+    0x00, 0x65, 0x00, 0x20, 0x00, 0x74, 0x00, 0x65, 0x00, 0x61, 0x00, 0xa0
   };
-  const int_type* 	i_lit = i_lit_base;
+  const int_type* 	i_lit = reinterpret_cast<int_type*>(i_lit_base);
 
   const ext_type*       efrom_next;
   const int_type*       ifrom_next;
@@ -158,13 +159,14 @@
   const ext_type* 	e_lit = "black pearl jasmine tea";
   int 			size = strlen(e_lit);
 
-  int_type 		i_lit_base[25] = 
+  char                  i_lit_base[50] = 
   { 
-    0x0062, 0x006c, 0x0061, 0x0063, 0x006b, 0x0020, 0x0070, 0x0065, 0x0061, 
-    0x0072, 0x006c, 0x0020, 0x006a, 0x0061, 0x0073, 0x006d, 0x0069, 0x006e, 
-    0x0065, 0x0020, 0x0074, 0x0065, 0x0061, 0x00a0
+    0x62, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x63, 0x00, 0x6b, 0x00, 0x20, 0x00,
+    0x70, 0x00, 0x65, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6c, 0x00, 0x20, 0x00,
+    0x6a, 0x00, 0x61, 0x00, 0x73, 0x00, 0x6d, 0x00, 0x69, 0x00, 0x6e, 0x00,
+    0x65, 0x00, 0x20, 0x00, 0x74, 0x00, 0x65, 0x00, 0x61, 0x00, 0xa0, 0x00
   };
-  const int_type* 	i_lit = i_lit_base;
+  const int_type* 	i_lit = reinterpret_cast<int_type*>(i_lit_base);
 
   const ext_type*       efrom_next;

   const int_type*       ifrom_next;





More information about the Gcc-patches mailing list