patches/gcc/4.2.0/130-uclibc-locale-no__x.patch
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Mon Apr 16 15:25:36 2012 +0200 (2012-04-16)
changeset 2941 13e40098fffc
parent 111 2e16b9fc302d
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.04

Update Linaro GCC with the latest available revisions.

The 4.7 revision is also released, but the infrastructure is not yet ready for
it in CT-NG.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
     1 --- gcc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h.uclibc200no__x~	2006-03-10 15:06:17 +0100
     2 +++ gcc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h	2006-03-10 15:32:37 +0100
     3 @@ -60,4 +60,49 @@
     4  extern "C" __typeof(wctype_l) __wctype_l;
     5  #endif 
     6  
     7 +# define __nl_langinfo_l nl_langinfo_l
     8 +# define __strcoll_l strcoll_l
     9 +# define __strftime_l strftime_l
    10 +# define __strtod_l strtod_l
    11 +# define __strtof_l strtof_l
    12 +# define __strtold_l strtold_l
    13 +# define __strxfrm_l strxfrm_l
    14 +# define __newlocale newlocale
    15 +# define __freelocale freelocale
    16 +# define __duplocale duplocale
    17 +# define __uselocale uselocale
    18 +
    19 +# ifdef _GLIBCXX_USE_WCHAR_T
    20 +#  define __iswctype_l iswctype_l
    21 +#  define __towlower_l towlower_l
    22 +#  define __towupper_l towupper_l
    23 +#  define __wcscoll_l wcscoll_l
    24 +#  define __wcsftime_l wcsftime_l
    25 +#  define __wcsxfrm_l wcsxfrm_l
    26 +#  define __wctype_l wctype_l
    27 +# endif
    28 +
    29 +#else
    30 +# define __nl_langinfo_l(N, L)       nl_langinfo((N))
    31 +# define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
    32 +# define __strtod_l(S, E, L)         strtod((S), (E))
    33 +# define __strtof_l(S, E, L)         strtof((S), (E))
    34 +# define __strtold_l(S, E, L)        strtold((S), (E))
    35 +# define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
    36 +# warning should dummy __newlocale check for C|POSIX ?
    37 +# define __newlocale(a, b, c)        NULL
    38 +# define __freelocale(a)             ((void)0)
    39 +# define __duplocale(a)              __c_locale()
    40 +//# define __uselocale ?
    41 +//
    42 +# ifdef _GLIBCXX_USE_WCHAR_T
    43 +#  define __iswctype_l(C, M, L)       iswctype((C), (M))
    44 +#  define __towlower_l(C, L)          towlower((C))
    45 +#  define __towupper_l(C, L)          towupper((C))
    46 +#  define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
    47 +//#  define __wcsftime_l(S, M, F, T, L)  wcsftime((S), (M), (F), (T)) 
    48 +#  define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
    49 +#  define __wctype_l(S, L)            wctype((S))
    50 +# endif
    51 +
    52  #endif // GLIBC 2.3 and later
    53 --- gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
    54 +++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc	2006-03-10 15:32:37 +0100
    55 @@ -39,20 +39,6 @@
    56  #include <langinfo.h>
    57  #include <bits/c++locale_internal.h>
    58  
    59 -#ifndef __UCLIBC_HAS_XLOCALE__
    60 -#define __strtol_l(S, E, B, L)      strtol((S), (E), (B))
    61 -#define __strtoul_l(S, E, B, L)     strtoul((S), (E), (B))
    62 -#define __strtoll_l(S, E, B, L)     strtoll((S), (E), (B))
    63 -#define __strtoull_l(S, E, B, L)    strtoull((S), (E), (B))
    64 -#define __strtof_l(S, E, L)         strtof((S), (E))
    65 -#define __strtod_l(S, E, L)         strtod((S), (E))
    66 -#define __strtold_l(S, E, L)        strtold((S), (E))
    67 -#warning should dummy __newlocale check for C|POSIX ?
    68 -#define __newlocale(a, b, c)        NULL
    69 -#define __freelocale(a)             ((void)0)
    70 -#define __duplocale(a)              __c_locale()
    71 -#endif
    72 -
    73  namespace std 
    74  {
    75    template<>
    76 --- gcc/libstdc++-v3/config/locale/uclibc/collate_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
    77 +++ gcc/libstdc++-v3/config/locale/uclibc/collate_members.cc	2006-03-10 15:32:37 +0100
    78 @@ -36,13 +36,6 @@
    79  #include <locale>
    80  #include <bits/c++locale_internal.h>
    81  
    82 -#ifndef __UCLIBC_HAS_XLOCALE__
    83 -#define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
    84 -#define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
    85 -#define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
    86 -#define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
    87 -#endif
    88 -
    89  namespace std
    90  {
    91    // These are basically extensions to char_traits, and perhaps should
    92 --- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
    93 +++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc	2006-03-10 15:32:37 +0100
    94 @@ -43,10 +43,6 @@
    95  #warning tailor for stub locale support
    96  #endif
    97  
    98 -#ifndef __UCLIBC_HAS_XLOCALE__
    99 -#define __nl_langinfo_l(N, L)         nl_langinfo((N))
   100 -#endif
   101 -
   102  namespace std
   103  {
   104    // Construct and return valid pattern consisting of some combination of:
   105 --- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
   106 +++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc	2006-03-10 15:32:37 +0100
   107 @@ -41,9 +41,6 @@
   108  #ifdef __UCLIBC_MJN3_ONLY__
   109  #warning tailor for stub locale support
   110  #endif
   111 -#ifndef __UCLIBC_HAS_XLOCALE__
   112 -#define __nl_langinfo_l(N, L)         nl_langinfo((N))
   113 -#endif
   114  
   115  namespace std
   116  {
   117 --- gcc/libstdc++-v3/config/locale/uclibc/time_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
   118 +++ gcc/libstdc++-v3/config/locale/uclibc/time_members.cc	2006-03-10 15:32:37 +0100
   119 @@ -40,9 +40,6 @@
   120  #ifdef __UCLIBC_MJN3_ONLY__
   121  #warning tailor for stub locale support
   122  #endif
   123 -#ifndef __UCLIBC_HAS_XLOCALE__
   124 -#define __nl_langinfo_l(N, L)         nl_langinfo((N))
   125 -#endif
   126  
   127  namespace std
   128  {
   129 --- gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
   130 +++ gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc	2006-03-10 15:32:37 +0100
   131 @@ -38,13 +38,6 @@
   132  #undef _LIBC
   133  #include <bits/c++locale_internal.h>
   134  
   135 -#ifndef __UCLIBC_HAS_XLOCALE__
   136 -#define __wctype_l(S, L)           wctype((S))
   137 -#define __towupper_l(C, L)         towupper((C))
   138 -#define __towlower_l(C, L)         towlower((C))
   139 -#define __iswctype_l(C, M, L)      iswctype((C), (M))
   140 -#endif
   141 -
   142  namespace std
   143  {
   144    // NB: The other ctype<char> specializations are in src/locale.cc and
   145 --- gcc/libstdc++-v3/config/locale/uclibc/messages_members.cc.uclibc200no__x~	2006-03-10 15:06:17 +0100
   146 +++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.cc	2006-03-10 15:32:37 +0100
   147 @@ -39,13 +39,10 @@
   148  #ifdef __UCLIBC_MJN3_ONLY__
   149  #warning fix gettext stuff
   150  #endif
   151 -#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
   152 -extern "C" char *__dcgettext(const char *domainname,
   153 -			     const char *msgid, int category);
   154  #undef gettext
   155 -#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
   156 +#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
   157 +#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
   158  #else
   159 -#undef gettext
   160  #define gettext(msgid) (msgid)
   161  #endif
   162  
   163 --- gcc/libstdc++-v3/config/locale/uclibc/messages_members.h.uclibc200no__x~	2006-03-10 15:06:17 +0100
   164 +++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.h	2006-03-10 15:32:37 +0100
   165 @@ -36,15 +36,11 @@
   166  #ifdef __UCLIBC_MJN3_ONLY__
   167  #warning fix prototypes for *textdomain funcs
   168  #endif
   169 -#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
   170 -extern "C" char *__textdomain(const char *domainname);
   171 -extern "C" char *__bindtextdomain(const char *domainname,
   172 -				  const char *dirname);
   173 -#else
   174 -#undef __textdomain
   175 -#undef __bindtextdomain
   176 -#define __textdomain(D)           ((void)0)
   177 -#define __bindtextdomain(D,P)     ((void)0)
   178 +#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
   179 +#undef textdomain
   180 +#undef bindtextdomain
   181 +#define textdomain(D)           ((void)0)
   182 +#define bindtextdomain(D,P)     ((void)0)
   183  #endif
   184  
   185    // Non-virtual member functions.
   186 @@ -70,7 +66,7 @@
   187      messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc, 
   188  			   const char* __dir) const
   189      { 
   190 -      __bindtextdomain(__s.c_str(), __dir);
   191 +      bindtextdomain(__s.c_str(), __dir);
   192        return this->do_open(__s, __loc); 
   193      }
   194  
   195 @@ -90,7 +86,7 @@
   196      { 
   197        // No error checking is done, assume the catalog exists and can
   198        // be used.
   199 -      __textdomain(__s.c_str());
   200 +      textdomain(__s.c_str());
   201        return 0;
   202      }
   203  
   204 --- gcc/libstdc++-v3/config/locale/uclibc/c_locale.h.uclibc200no__x~	2006-03-10 15:06:17 +0100
   205 +++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.h	2006-03-10 15:32:37 +0100
   206 @@ -68,6 +68,7 @@
   207  {
   208    extern "C" __typeof(uselocale) __uselocale;
   209  }
   210 +#define __uselocale uselocale
   211  #endif
   212  
   213  namespace std