summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoerg <joerg>2013-04-30 22:24:15 +0000
committerjoerg <joerg>2013-04-30 22:24:15 +0000
commit36d946a90ec00c6f18fe28df4655da3a3d03c247 (patch)
tree9a55ef242bced8094b1c36cd45a231c679939a7e
parente21f0a2fd3523110a8baea71ac70dcd8c52cf3a6 (diff)
downloadpkgsrc-36d946a90ec00c6f18fe28df4655da3a3d03c247.tar.gz
Deal with 16bit ctype table change in NetBSD/current.
-rw-r--r--lang/gcc46/distinfo6
-rw-r--r--lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h69
-rw-r--r--lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h13
-rw-r--r--lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h57
-rw-r--r--lang/gnat-aux/distinfo5
-rw-r--r--lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h61
-rw-r--r--lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h13
-rw-r--r--lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h57
8 files changed, 267 insertions, 14 deletions
diff --git a/lang/gcc46/distinfo b/lang/gcc46/distinfo
index dc5962096a9..426362cea5a 100644
--- a/lang/gcc46/distinfo
+++ b/lang/gcc46/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.12 2013/04/02 22:31:40 jmcneill Exp $
+$NetBSD: distinfo,v 1.13 2013/04/30 22:24:15 joerg Exp $
SHA1 (gcc-4.6.3.tar.bz2) = ce317ca5c8185b58bc9300182b534608c578637f
RMD160 (gcc-4.6.3.tar.bz2) = 9abb2f940d08fc84f2d91b6a6ce8d662ca889269
@@ -14,4 +14,6 @@ SHA1 (patch-ak) = 377d6ab5d454f0af2709680dd656f0449228aca9
SHA1 (patch-al) = 20d16fba8c1b9e578c9df6523397e29a94409990
SHA1 (patch-gcc_config_arm_elf.h) = 28c67bb698ebe9a3aa45c4cff29f028c82cc7606
SHA1 (patch-gcc_config_arm_t-netbsd) = a1682f4f8dc7e393446f19f615737ddfc98fcb7f
-SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = 10bc7a2bad0367c3e13c71606beca429029d098a
+SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = 7e8413cf45d49890ad7634f9276188413c8ed30a
+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/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h
index 4e073b5cd18..14a36d29990 100644
--- a/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h
+++ b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h
@@ -1,22 +1,69 @@
-$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h,v 1.1 2012/06/08 15:42:29 joerg Exp $
+$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h,v 1.2 2013/04/30 22:24:16 joerg Exp $
--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2011-01-30 22:39:36.000000000 +0000
+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
-@@ -31,8 +31,6 @@
+@@ -30,8 +30,6 @@
+ // Full details can be found from the CVS files at:
// anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
// See www.netbsd.org for details of access.
-
+-
-#include <sys/param.h>
--
+
namespace std _GLIBCXX_VISIBILITY(default)
{
- _GLIBCXX_BEGIN_NAMESPACE_VERSION
-@@ -47,7 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+@@ -45,21 +43,21 @@ _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.
++#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;
-
+-
-#if __NetBSD_Version__ < 599004100
-+#if !defined(_CTYPE_U)
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _U | _L;
+- 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
+ static const mask upper = _CTYPE_U;
+ static const mask lower = _CTYPE_L;
+ static const mask alpha = _CTYPE_U | _CTYPE_L;
+@@ -71,6 +69,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/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h
new file mode 100644
index 00000000000..4c306c74a52
--- /dev/null
+++ b/lang/gcc46/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/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h
new file mode 100644
index 00000000000..7b9d9a31c98
--- /dev/null
+++ b/lang/gcc46/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;
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;