patches/gcc/4.2.0/140-uclibc-locale-wchar_fix.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:53:32 2012 +0100 (2012-12-27)
changeset 3153 f6740f9e42de
parent 111 2e16b9fc302d
permissions -rw-r--r--
scripts/addToolsVersion: handle elf2flt

The one was missing from the list.

It is very improbable that we ever need it, as elf2flt does no release,
and we always get it from CVS head. But for the sake of consistency, we
just add it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
yann@111
     1
--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_wchar~	2006-03-10 15:32:37 +0100
yann@111
     2
+++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc	2006-03-10 15:37:27 +0100
yann@111
     3
@@ -401,7 +401,7 @@
yann@111
     4
 # ifdef __UCLIBC_HAS_XLOCALE__
yann@111
     5
 	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
yann@111
     6
 	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
yann@111
     7
-# else
yann@111
     8
+# elif defined __UCLIBC_HAS_LOCALE__
yann@111
     9
 	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
yann@111
    10
 	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
yann@111
    11
 # endif
yann@111
    12
@@ -556,7 +556,7 @@
yann@111
    13
 # ifdef __UCLIBC_HAS_XLOCALE__
yann@111
    14
 	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
yann@111
    15
 	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
yann@111
    16
-# else
yann@111
    17
+# elif defined __UCLIBC_HAS_LOCALE__
yann@111
    18
 	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
yann@111
    19
 	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
yann@111
    20
 # endif
yann@111
    21
--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200_wchar~	2006-03-10 15:32:37 +0100
yann@111
    22
+++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc	2006-03-10 15:37:27 +0100
yann@111
    23
@@ -127,12 +127,25 @@
yann@111
    24
 	{
yann@111
    25
 	  // Named locale.
yann@111
    26
 	  // NB: In the GNU model wchar_t is always 32 bit wide.
yann@111
    27
+#ifdef __UCLIBC_MJN3_ONLY__
yann@111
    28
+#warning fix this... should be numeric
yann@111
    29
+#endif
yann@111
    30
+#ifdef __UCLIBC__
yann@111
    31
+# ifdef __UCLIBC_HAS_XLOCALE__
yann@111
    32
+	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
yann@111
    33
+	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
yann@111
    34
+# elif defined __UCLIBC_HAS_LOCALE__
yann@111
    35
+	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
yann@111
    36
+	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
yann@111
    37
+# endif
yann@111
    38
+#else
yann@111
    39
 	  union { char *__s; wchar_t __w; } __u;
yann@111
    40
 	  __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
yann@111
    41
 	  _M_data->_M_decimal_point = __u.__w;
yann@111
    42
 
yann@111
    43
 	  __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
yann@111
    44
 	  _M_data->_M_thousands_sep = __u.__w;
yann@111
    45
+#endif
yann@111
    46
 
yann@111
    47
 	  if (_M_data->_M_thousands_sep == L'\0')
yann@111
    48
 	    _M_data->_M_grouping = "";