This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[v3] Fix codecvt_members_char.cc for big endian machines
- From: Paolo Carlini <pcarlini at unitus dot it>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 25 Mar 2002 14:26:20 +0100
- Subject: [v3] Fix codecvt_members_char.cc for big endian machines
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;