diff options
author | joerg <joerg@pkgsrc.org> | 2013-04-30 22:24:15 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2013-04-30 22:24:15 +0000 |
commit | 19a08a9d618dd48d18778d284cd779a993c3d135 (patch) | |
tree | 9a55ef242bced8094b1c36cd45a231c679939a7e /lang/gnat-aux | |
parent | 5191e1a408367d8e683eb543e6e114e939e68cb1 (diff) | |
download | pkgsrc-19a08a9d618dd48d18778d284cd779a993c3d135.tar.gz |
Deal with 16bit ctype table change in NetBSD/current.
Diffstat (limited to 'lang/gnat-aux')
4 files changed, 135 insertions, 1 deletions
diff --git a/lang/gnat-aux/distinfo b/lang/gnat-aux/distinfo index ac590ab2d36..a5bafc14b68 100644 --- a/lang/gnat-aux/distinfo +++ b/lang/gnat-aux/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.10 2013/04/27 06:03:39 marino Exp $ +$NetBSD: distinfo,v 1.11 2013/04/30 22:24:16 joerg Exp $ SHA1 (gcc-ada-4.6.4.tar.bz2) = 64a18fa78262f0f0dfa6f92fb8cad75997e22b57 RMD160 (gcc-ada-4.6.4.tar.bz2) = 9e12200c1b250cb0e8841d4074ddd1726a150ad3 @@ -33,3 +33,6 @@ Size (gnat-bootstrap.x86_64.dragonfly.tar.bz2) = 31380342 bytes SHA1 (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 84f0e9179998daa643046a5d139321c4130ea84d RMD160 (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 0b2943349536c323a62b56dc05ff1fedd6d7e17a Size (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 30572187 bytes +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = cf1327efb559ca310a131b3446da0449d8845b61 +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 830038744cbbb713ecc3f960a9509bef16176db9 +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = ce481809b051cb281772a0ad4d561241731f7556 diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h new file mode 100644 index 00000000000..9f758276185 --- /dev/null +++ b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h @@ -0,0 +1,61 @@ +$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h,v 1.1 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2012-06-20 08:30:55.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +@@ -43,21 +43,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + // NB: Offsets into ctype<char>::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. +- typedef unsigned char mask; + +-#ifndef _CTYPE_U +- static const mask upper = _U; +- static const mask lower = _L; +- static const mask alpha = _U | _L; +- static const mask digit = _N; +- static const mask xdigit = _N | _X; +- static const mask space = _S; +- static const mask print = _P | _U | _L | _N | _B; +- static const mask graph = _P | _U | _L | _N; +- static const mask cntrl = _C; +- static const mask punct = _P; +- static const mask alnum = _U | _L | _N; +-#else ++#if defined(_CTYPE_BL) ++ typedef unsigned short mask; ++ static const mask upper = _CTYPE_U; ++ static const mask lower = _CTYPE_L; ++ static const mask alpha = _CTYPE_A; ++ static const mask digit = _CTYPE_D; ++ static const mask xdigit = _CTYPE_X; ++ static const mask space = _CTYPE_S; ++ static const mask print = _CTYPE_R; ++ static const mask graph = _CTYPE_G; ++ static const mask cntrl = _CTYPE_C; ++ static const mask punct = _CTYPE_P; ++ static const mask alnum = _CTYPE_A | _CTYPE_D; ++#elif defined(_CTYPE_U) ++ typedef unsigned char mask; + static const mask upper = _CTYPE_U; + static const mask lower = _CTYPE_L; + static const mask alpha = _CTYPE_U | _CTYPE_L; +@@ -69,6 +70,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + static const mask cntrl = _CTYPE_C; + static const mask punct = _CTYPE_P; + static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N; ++#else ++ typedef unsigned char mask; ++ static const mask upper = _U; ++ static const mask lower = _L; ++ static const mask alpha = _U | _L; ++ static const mask digit = _N; ++ static const mask xdigit = _N | _X; ++ static const mask space = _S; ++ static const mask print = _P | _U | _L | _N | _B; ++ static const mask graph = _P | _U | _L | _N; ++ static const mask cntrl = _C; ++ static const mask punct = _P; ++ static const mask alnum = _U | _L | _N; + #endif + }; + diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h new file mode 100644 index 00000000000..4c306c74a52 --- /dev/null +++ b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h @@ -0,0 +1,13 @@ +$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h,v 1.1 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h.orig 2011-01-30 22:39:36.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) +- *__vec++ = _M_table[*__low++]; ++ *__vec++ = _M_table[(unsigned char)*__low++]; + return __high; + } + diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h new file mode 100644 index 00000000000..7b9d9a31c98 --- /dev/null +++ b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h @@ -0,0 +1,57 @@ +$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h,v 1.1 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h.orig 2011-01-03 20:52:22.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h +@@ -34,11 +34,17 @@ + + // Information as gleaned from /usr/include/ctype.h + ++#ifndef _CTYPE_BL + extern "C" const u_int8_t _C_ctype_[]; ++#endif + + const ctype_base::mask* + ctype<char>::classic_table() throw() +- { return _C_ctype_ + 1; } ++#ifdef _CTYPE_BL ++ { return _C_ctype_tab_ + 1; } ++#else ++ { return _C_ctype_ + 1; } ++#endif + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) +@@ -65,14 +71,14 @@ + + char + ctype<char>::do_toupper(char __c) const +- { return ::toupper((int) __c); } ++ { return ::toupper((int)(unsigned char) __c); } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::toupper((int) *__low); ++ *__low = ::toupper((int)(unsigned char) *__low); + ++__low; + } + return __high; +@@ -80,14 +86,14 @@ + + char + ctype<char>::do_tolower(char __c) const +- { return ::tolower((int) __c); } ++ { return ::tolower((int)(unsigned char) __c); } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::tolower((int) *__low); ++ *__low = ::tolower((int)(unsigned char) *__low); + ++__low; + } + return __high; |