summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-12-14 06:23:08 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-22 16:08:49 +0000
commit4b83f1fef986b72c59ac438372c4a576745b9d4f (patch)
tree0c7d793e70eb3bd5704bcf8268321a97a31b6016 /meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch
parent0381b78aa4dfc0d338fba69502e8f03a0c0f21e7 (diff)
downloadpoky-4b83f1fef986b72c59ac438372c4a576745b9d4f.tar.gz
gcc5: Upgrade gcc-5.2 -> gcc-5.3
Minor bugfix upgrade to gcc 5.3 for detailed list of fixes in 5.3 see https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&list_id=132738&resolution=FIXED&target_milestone=5.3 (From OE-Core rev: 8b664a7d6bba89a8221d7fd1a52915fef0002d71) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch b/meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch
new file mode 100644
index 0000000000..d7dbe68bd2
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-5.3/0006-uclibc-locale-wchar_fix.patch
@@ -0,0 +1,68 @@
1From b1298344f0c221c382a95af689f7f3ecd864f531 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 08:45:57 +0400
4Subject: [PATCH 06/46] uclibc-locale-wchar_fix
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9---
10 libstdc++-v3/config/locale/uclibc/monetary_members.cc | 4 ++--
11 libstdc++-v3/config/locale/uclibc/numeric_members.cc | 13 +++++++++++++
12 2 files changed, 15 insertions(+), 2 deletions(-)
13
14diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
15index 2e6f80a..31ebb9f 100644
16--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
17+++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
18@@ -401,7 +401,7 @@ namespace std
19 # ifdef __UCLIBC_HAS_XLOCALE__
20 _M_data->_M_decimal_point = __cloc->decimal_point_wc;
21 _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
22-# else
23+# elif defined __UCLIBC_HAS_LOCALE__
24 _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
25 _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
26 # endif
27@@ -556,7 +556,7 @@ namespace std
28 # ifdef __UCLIBC_HAS_XLOCALE__
29 _M_data->_M_decimal_point = __cloc->decimal_point_wc;
30 _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
31-# else
32+# elif defined __UCLIBC_HAS_LOCALE__
33 _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
34 _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
35 # endif
36diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
37index 2c70642..d5c8961 100644
38--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
39+++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
40@@ -127,12 +127,25 @@ namespace std
41 {
42 // Named locale.
43 // NB: In the GNU model wchar_t is always 32 bit wide.
44+#ifdef __UCLIBC_MJN3_ONLY__
45+#warning fix this... should be numeric
46+#endif
47+#ifdef __UCLIBC__
48+# ifdef __UCLIBC_HAS_XLOCALE__
49+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
50+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
51+# elif defined __UCLIBC_HAS_LOCALE__
52+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
53+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
54+# endif
55+#else
56 union { char *__s; wchar_t __w; } __u;
57 __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
58 _M_data->_M_decimal_point = __u.__w;
59
60 __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
61 _M_data->_M_thousands_sep = __u.__w;
62+#endif
63
64 if (_M_data->_M_thousands_sep == L'\0')
65 _M_data->_M_grouping = "";
66--
672.6.3
68