(From OE-Core rev: f051216ea373f166016b15bbd2a2a6f136430372) (From OE-Core rev: d4573cb750bfde488682244d30266dfe675bac06) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
258 lines
9.4 KiB
Diff
258 lines
9.4 KiB
Diff
From 6a3e8506a12c12728d8b29901defd738be43757f Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Fri, 29 Mar 2013 08:42:36 +0400
|
|
Subject: [PATCH 05/35] uclibc-locale-no__x
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
Upstream-Status: Pending
|
|
---
|
|
.../config/locale/uclibc/c++locale_internal.h | 45 ++++++++++++++++++++
|
|
libstdc++-v3/config/locale/uclibc/c_locale.cc | 14 ------
|
|
libstdc++-v3/config/locale/uclibc/c_locale.h | 1 +
|
|
.../config/locale/uclibc/collate_members.cc | 7 ---
|
|
libstdc++-v3/config/locale/uclibc/ctype_members.cc | 7 ---
|
|
.../config/locale/uclibc/messages_members.cc | 7 +--
|
|
.../config/locale/uclibc/messages_members.h | 18 +++-----
|
|
.../config/locale/uclibc/monetary_members.cc | 4 --
|
|
.../config/locale/uclibc/numeric_members.cc | 3 --
|
|
libstdc++-v3/config/locale/uclibc/time_members.cc | 3 --
|
|
10 files changed, 55 insertions(+), 54 deletions(-)
|
|
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
|
|
index 2ae3e4a..e74fddf 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
|
|
+++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
|
|
@@ -60,4 +60,49 @@ extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
|
|
extern "C" __typeof(wctype_l) __wctype_l;
|
|
#endif
|
|
|
|
+# define __nl_langinfo_l nl_langinfo_l
|
|
+# define __strcoll_l strcoll_l
|
|
+# define __strftime_l strftime_l
|
|
+# define __strtod_l strtod_l
|
|
+# define __strtof_l strtof_l
|
|
+# define __strtold_l strtold_l
|
|
+# define __strxfrm_l strxfrm_l
|
|
+# define __newlocale newlocale
|
|
+# define __freelocale freelocale
|
|
+# define __duplocale duplocale
|
|
+# define __uselocale uselocale
|
|
+
|
|
+# ifdef _GLIBCXX_USE_WCHAR_T
|
|
+# define __iswctype_l iswctype_l
|
|
+# define __towlower_l towlower_l
|
|
+# define __towupper_l towupper_l
|
|
+# define __wcscoll_l wcscoll_l
|
|
+# define __wcsftime_l wcsftime_l
|
|
+# define __wcsxfrm_l wcsxfrm_l
|
|
+# define __wctype_l wctype_l
|
|
+# endif
|
|
+
|
|
+#else
|
|
+# define __nl_langinfo_l(N, L) nl_langinfo((N))
|
|
+# define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
|
|
+# define __strtod_l(S, E, L) strtod((S), (E))
|
|
+# define __strtof_l(S, E, L) strtof((S), (E))
|
|
+# define __strtold_l(S, E, L) strtold((S), (E))
|
|
+# define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
|
|
+# warning should dummy __newlocale check for C|POSIX ?
|
|
+# define __newlocale(a, b, c) NULL
|
|
+# define __freelocale(a) ((void)0)
|
|
+# define __duplocale(a) __c_locale()
|
|
+//# define __uselocale ?
|
|
+//
|
|
+# ifdef _GLIBCXX_USE_WCHAR_T
|
|
+# define __iswctype_l(C, M, L) iswctype((C), (M))
|
|
+# define __towlower_l(C, L) towlower((C))
|
|
+# define __towupper_l(C, L) towupper((C))
|
|
+# define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
|
|
+//# define __wcsftime_l(S, M, F, T, L) wcsftime((S), (M), (F), (T))
|
|
+# define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
|
|
+# define __wctype_l(S, L) wctype((S))
|
|
+# endif
|
|
+
|
|
#endif // GLIBC 2.3 and later
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.cc b/libstdc++-v3/config/locale/uclibc/c_locale.cc
|
|
index 5081dc1..21430d0 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/c_locale.cc
|
|
+++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
|
|
@@ -39,20 +39,6 @@
|
|
#include <langinfo.h>
|
|
#include <bits/c++locale_internal.h>
|
|
|
|
-#ifndef __UCLIBC_HAS_XLOCALE__
|
|
-#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
|
|
-#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
|
|
-#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
|
|
-#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
|
|
-#define __strtof_l(S, E, L) strtof((S), (E))
|
|
-#define __strtod_l(S, E, L) strtod((S), (E))
|
|
-#define __strtold_l(S, E, L) strtold((S), (E))
|
|
-#warning should dummy __newlocale check for C|POSIX ?
|
|
-#define __newlocale(a, b, c) NULL
|
|
-#define __freelocale(a) ((void)0)
|
|
-#define __duplocale(a) __c_locale()
|
|
-#endif
|
|
-
|
|
namespace std
|
|
{
|
|
template<>
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.h b/libstdc++-v3/config/locale/uclibc/c_locale.h
|
|
index da07c1f..4bca5f1 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/c_locale.h
|
|
+++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
|
|
@@ -68,6 +68,7 @@ namespace __gnu_cxx
|
|
{
|
|
extern "C" __typeof(uselocale) __uselocale;
|
|
}
|
|
+#define __uselocale uselocale
|
|
#endif
|
|
|
|
namespace std
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/collate_members.cc b/libstdc++-v3/config/locale/uclibc/collate_members.cc
|
|
index c2664a7..ec5c329 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/collate_members.cc
|
|
+++ b/libstdc++-v3/config/locale/uclibc/collate_members.cc
|
|
@@ -36,13 +36,6 @@
|
|
#include <locale>
|
|
#include <bits/c++locale_internal.h>
|
|
|
|
-#ifndef __UCLIBC_HAS_XLOCALE__
|
|
-#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
|
|
-#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
|
|
-#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
|
|
-#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
|
|
-#endif
|
|
-
|
|
namespace std
|
|
{
|
|
// These are basically extensions to char_traits, and perhaps should
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/ctype_members.cc b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
|
|
index 7294e3a..7b12861 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/ctype_members.cc
|
|
+++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
|
|
@@ -38,13 +38,6 @@
|
|
#undef _LIBC
|
|
#include <bits/c++locale_internal.h>
|
|
|
|
-#ifndef __UCLIBC_HAS_XLOCALE__
|
|
-#define __wctype_l(S, L) wctype((S))
|
|
-#define __towupper_l(C, L) towupper((C))
|
|
-#define __towlower_l(C, L) towlower((C))
|
|
-#define __iswctype_l(C, M, L) iswctype((C), (M))
|
|
-#endif
|
|
-
|
|
namespace std
|
|
{
|
|
// NB: The other ctype<char> specializations are in src/locale.cc and
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.cc b/libstdc++-v3/config/locale/uclibc/messages_members.cc
|
|
index 13594d9..d7693b4 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/messages_members.cc
|
|
+++ b/libstdc++-v3/config/locale/uclibc/messages_members.cc
|
|
@@ -39,13 +39,10 @@
|
|
#ifdef __UCLIBC_MJN3_ONLY__
|
|
#warning fix gettext stuff
|
|
#endif
|
|
-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
|
|
-extern "C" char *__dcgettext(const char *domainname,
|
|
- const char *msgid, int category);
|
|
#undef gettext
|
|
-#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
|
|
+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
|
|
+#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
|
|
#else
|
|
-#undef gettext
|
|
#define gettext(msgid) (msgid)
|
|
#endif
|
|
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
|
|
index 1424078..d89da33 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/messages_members.h
|
|
+++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
|
|
@@ -36,15 +36,11 @@
|
|
#ifdef __UCLIBC_MJN3_ONLY__
|
|
#warning fix prototypes for *textdomain funcs
|
|
#endif
|
|
-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
|
|
-extern "C" char *__textdomain(const char *domainname);
|
|
-extern "C" char *__bindtextdomain(const char *domainname,
|
|
- const char *dirname);
|
|
-#else
|
|
-#undef __textdomain
|
|
-#undef __bindtextdomain
|
|
-#define __textdomain(D) ((void)0)
|
|
-#define __bindtextdomain(D,P) ((void)0)
|
|
+#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
|
|
+#undef textdomain
|
|
+#undef bindtextdomain
|
|
+#define textdomain(D) ((void)0)
|
|
+#define bindtextdomain(D,P) ((void)0)
|
|
#endif
|
|
|
|
// Non-virtual member functions.
|
|
@@ -70,7 +66,7 @@ extern "C" char *__bindtextdomain(const char *domainname,
|
|
messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
|
|
const char* __dir) const
|
|
{
|
|
- __bindtextdomain(__s.c_str(), __dir);
|
|
+ bindtextdomain(__s.c_str(), __dir);
|
|
return this->do_open(__s, __loc);
|
|
}
|
|
|
|
@@ -90,7 +86,7 @@ extern "C" char *__bindtextdomain(const char *domainname,
|
|
{
|
|
// No error checking is done, assume the catalog exists and can
|
|
// be used.
|
|
- __textdomain(__s.c_str());
|
|
+ textdomain(__s.c_str());
|
|
return 0;
|
|
}
|
|
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
|
|
index aa52731..2e6f80a 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
|
|
+++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
|
|
@@ -43,10 +43,6 @@
|
|
#warning tailor for stub locale support
|
|
#endif
|
|
|
|
-#ifndef __UCLIBC_HAS_XLOCALE__
|
|
-#define __nl_langinfo_l(N, L) nl_langinfo((N))
|
|
-#endif
|
|
-
|
|
namespace std
|
|
{
|
|
// Construct and return valid pattern consisting of some combination of:
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
|
|
index 883ec1a..2c70642 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
|
|
+++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
|
|
@@ -41,9 +41,6 @@
|
|
#ifdef __UCLIBC_MJN3_ONLY__
|
|
#warning tailor for stub locale support
|
|
#endif
|
|
-#ifndef __UCLIBC_HAS_XLOCALE__
|
|
-#define __nl_langinfo_l(N, L) nl_langinfo((N))
|
|
-#endif
|
|
|
|
namespace std
|
|
{
|
|
diff --git a/libstdc++-v3/config/locale/uclibc/time_members.cc b/libstdc++-v3/config/locale/uclibc/time_members.cc
|
|
index e0707d7..d848ed5 100644
|
|
--- a/libstdc++-v3/config/locale/uclibc/time_members.cc
|
|
+++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
|
|
@@ -40,9 +40,6 @@
|
|
#ifdef __UCLIBC_MJN3_ONLY__
|
|
#warning tailor for stub locale support
|
|
#endif
|
|
-#ifndef __UCLIBC_HAS_XLOCALE__
|
|
-#define __nl_langinfo_l(N, L) nl_langinfo((N))
|
|
-#endif
|
|
|
|
namespace std
|
|
{
|
|
--
|
|
1.7.10.4
|
|
|