summaryrefslogtreecommitdiffstats
path: root/contrib/libstdc++/config/os
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2007-05-19 01:25:07 +0000
committerkan <kan@FreeBSD.org>2007-05-19 01:25:07 +0000
commit7865836f4b0f698454c31b4593effcb032c22c1e (patch)
treeea6c2718dc1e45ed535d194df808ef31f0ebac92 /contrib/libstdc++/config/os
parent1f9ea4d0a40cca64d60cf4dab152349da7b9dddf (diff)
downloadFreeBSD-src-7865836f4b0f698454c31b4593effcb032c22c1e.zip
FreeBSD-src-7865836f4b0f698454c31b4593effcb032c22c1e.tar.gz
GCC 4.2.0 release C++ standard library and runtime support code.
Diffstat (limited to 'contrib/libstdc++/config/os')
-rw-r--r--contrib/libstdc++/config/os/aix/atomic_word.h43
-rw-r--r--contrib/libstdc++/config/os/aix/atomicity.h21
-rw-r--r--contrib/libstdc++/config/os/aix/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/aix/ctype_inline.h20
-rw-r--r--contrib/libstdc++/config/os/aix/ctype_noninline.h9
-rw-r--r--contrib/libstdc++/config/os/aix/os_defines.h21
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ctype_base.h76
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h152
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h96
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/os_defines.h47
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver1
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h8
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h50
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/os_defines.h2
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/os_defines.h2
-rw-r--r--contrib/libstdc++/config/os/djgpp/ctype_base.h8
-rw-r--r--contrib/libstdc++/config/os/djgpp/ctype_inline.h21
-rw-r--r--contrib/libstdc++/config/os/djgpp/ctype_noninline.h23
-rw-r--r--contrib/libstdc++/config/os/djgpp/os_defines.h12
-rw-r--r--contrib/libstdc++/config/os/generic/ctype_base.h8
-rw-r--r--contrib/libstdc++/config/os/generic/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/generic/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/generic/os_defines.h6
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ctype_base.h14
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver26
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/os_defines.h7
-rw-r--r--contrib/libstdc++/config/os/hpux/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/hpux/ctype_inline.h13
-rw-r--r--contrib/libstdc++/config/os/hpux/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/hpux/os_defines.h13
-rw-r--r--contrib/libstdc++/config/os/irix/atomic_word.h2
-rw-r--r--contrib/libstdc++/config/os/irix/atomicity.h13
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/os_defines.h8
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/os_defines.h6
-rw-r--r--contrib/libstdc++/config/os/mingw32/ctype_base.h8
-rw-r--r--contrib/libstdc++/config/os/mingw32/ctype_inline.h14
-rw-r--r--contrib/libstdc++/config/os/mingw32/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/mingw32/os_defines.h11
-rw-r--r--contrib/libstdc++/config/os/newlib/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/newlib/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/newlib/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/newlib/os_defines.h16
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h2
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h10
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h15
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h10
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h13
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h10
-rw-r--r--contrib/libstdc++/config/os/tpf/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/tpf/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/tpf/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/tpf/os_defines.h7
-rw-r--r--contrib/libstdc++/config/os/uclibc/ctype_base.h68
-rw-r--r--contrib/libstdc++/config/os/uclibc/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/uclibc/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/uclibc/os_defines.h49
-rw-r--r--contrib/libstdc++/config/os/vxworks/ctype_base.h8
-rw-r--r--contrib/libstdc++/config/os/vxworks/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/vxworks/ctype_noninline.h8
-rw-r--r--contrib/libstdc++/config/os/vxworks/os_defines.h6
-rw-r--r--contrib/libstdc++/config/os/windiss/ctype_base.h7
-rw-r--r--contrib/libstdc++/config/os/windiss/ctype_inline.h11
-rw-r--r--contrib/libstdc++/config/os/windiss/ctype_noninline.h7
-rw-r--r--contrib/libstdc++/config/os/windiss/os_defines.h6
86 files changed, 1286 insertions, 188 deletions
diff --git a/contrib/libstdc++/config/os/aix/atomic_word.h b/contrib/libstdc++/config/os/aix/atomic_word.h
new file mode 100644
index 0000000..9ac823c
--- /dev/null
+++ b/contrib/libstdc++/config/os/aix/atomic_word.h
@@ -0,0 +1,43 @@
+// Low-level type for atomic operations -*- C++ -*-
+
+// Copyright (C) 2004 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+#ifndef _GLIBCXX_ATOMIC_WORD_H
+#define _GLIBCXX_ATOMIC_WORD_H 1
+
+typedef int _Atomic_word;
+
+#ifdef _ARCH_PPC
+#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("isync":::"memory")
+#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
+#else
+#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory")
+#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory")
+#endif
+
+#endif
diff --git a/contrib/libstdc++/config/os/aix/atomicity.h b/contrib/libstdc++/config/os/aix/atomicity.h
index dad8aae..38c1ee3 100644
--- a/contrib/libstdc++/config/os/aix/atomicity.h
+++ b/contrib/libstdc++/config/os/aix/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: AIX version -*- C++ -*-
-// Copyright (C) 2000, 2001, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,7 +27,7 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
-#include <bits/atomicity.h>
+#include <ext/atomicity.h>
/* We cannot use the cpu/powerpc/bits/atomicity.h inline assembly
definitions for these operations since they depend on operations
@@ -43,19 +43,16 @@ extern "C"
#include <sys/atomic_op.h>
}
-namespace __gnu_cxx
-{
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
_Atomic_word
__attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word* __mem, int __val)
- {
- return ::fetch_and_add (const_cast<atomic_p>(__mem), __val);
- }
+ { return ::fetch_and_add(const_cast<atomic_p>(__mem), __val); }
void
__attribute__ ((__unused__))
__atomic_add (volatile _Atomic_word* __mem, int __val)
- {
- (void) ::fetch_and_add (const_cast<atomic_p>(__mem), __val);
- }
-} // namespace __gnu_cxx
+ { (void) ::fetch_and_add(const_cast<atomic_p>(__mem), __val); }
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/aix/ctype_base.h b/contrib/libstdc++/config/os/aix/ctype_base.h
index adcd1ce..bc29ff1 100644
--- a/contrib/libstdc++/config/os/aix/ctype_base.h
+++ b/contrib/libstdc++/config/os/aix/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/aix/ctype_inline.h b/contrib/libstdc++/config/os/aix/ctype_inline.h
index d9df620..de00a9e 100644
--- a/contrib/libstdc++/config/os/aix/ctype_inline.h
+++ b/contrib/libstdc++/config/os/aix/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -26,14 +26,21 @@
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
//
// ISO C++ 14882: 22.1 Locales
//
-
+
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -66,11 +73,4 @@
return __low;
}
-
-
-
-
-
-
-
-
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/aix/ctype_noninline.h b/contrib/libstdc++/config/os/aix/ctype_noninline.h
index edd8d82..1c789bc 100644
--- a/contrib/libstdc++/config/os/aix/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/aix/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,10 +27,15 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
-
+
// Information as gleaned from /usr/include/ctype.h
const ctype_base::mask*
diff --git a/contrib/libstdc++/config/os/aix/os_defines.h b/contrib/libstdc++/config/os/aix/os_defines.h
index 7888fa7..8f1f813 100644
--- a/contrib/libstdc++/config/os/aix/os_defines.h
+++ b/contrib/libstdc++/config/os/aix/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for AIX -*- C++ -*-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,17 +27,17 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
-#undef _XOPEN_SOURCE
-#define _XOPEN_SOURCE 500
-#undef _XOPEN_SOURCE_EXTENDED
-#define _XOPEN_SOURCE_EXTENDED 1
-
// off64_t
#ifndef _LARGE_FILE_API
#define _LARGE_FILE_API
@@ -48,11 +48,4 @@
#define _ALL_SOURCE
#endif
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
-#undef _G_USING_THUNKS
-#define _G_USING_THUNKS 0
-
#endif
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ctype_base.h b/contrib/libstdc++/config/os/bsd/darwin/ctype_base.h
new file mode 100644
index 0000000..6dbac95
--- /dev/null
+++ b/contrib/libstdc++/config/os/bsd/darwin/ctype_base.h
@@ -0,0 +1,76 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 22.1 Locales
+//
+
+// Information as gleaned from /usr/include/ctype.h on FreeBSD 3.4,
+// 4.0 and all versions of the CVS managed file at:
+// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
+ struct ctype_base
+ {
+ // Non-standard typedefs.
+ typedef const int* __to_type;
+
+ typedef unsigned long mask;
+#ifdef _CTYPE_S
+ // FreeBSD 4.0 uses this style of define.
+ 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_A | _CTYPE_D | _CTYPE_P;
+ static const mask cntrl = _CTYPE_C;
+ static const mask punct = _CTYPE_P;
+ static const mask alnum = _CTYPE_A | _CTYPE_D;
+#else
+ // Older versions, including Free BSD 3.4, use this style of define.
+ static const mask upper = _U;
+ static const mask lower = _L;
+ static const mask alpha = _A;
+ static const mask digit = _D;
+ static const mask xdigit = _X;
+ static const mask space = _S;
+ static const mask print = _R;
+ static const mask graph = _A | _D | _P;
+ static const mask cntrl = _C;
+ static const mask punct = _P;
+ static const mask alnum = _A | _D;
+#endif
+ };
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h b/contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h
new file mode 100644
index 0000000..1fcb3ab
--- /dev/null
+++ b/contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h
@@ -0,0 +1,152 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
+//
+// ISO C++ 14882: 22.1 Locales
+//
+
+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
+// functions go in ctype.cc
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ bool
+ ctype<char>::
+ is(mask __m, char __c) const
+ {
+ if (_M_table)
+ return _M_table[static_cast<unsigned char>(__c)] & __m;
+ else
+ return __istype(__c, __m);
+ }
+
+ const char*
+ ctype<char>::
+ is(const char* __low, const char* __high, mask* __vec) const
+ {
+ if (_M_table)
+ while (__low < __high)
+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
+ else
+ for (;__low < __high; ++__vec, ++__low)
+ {
+#if defined (_CTYPE_S) || defined (__istype)
+ *__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
+ | space | print | graph | cntrl | punct | alnum);
+#else
+ mask __m = 0;
+ if (this->is(upper, *__low)) __m |= upper;
+ if (this->is(lower, *__low)) __m |= lower;
+ if (this->is(alpha, *__low)) __m |= alpha;
+ if (this->is(digit, *__low)) __m |= digit;
+ if (this->is(xdigit, *__low)) __m |= xdigit;
+ if (this->is(space, *__low)) __m |= space;
+ if (this->is(print, *__low)) __m |= print;
+ if (this->is(graph, *__low)) __m |= graph;
+ if (this->is(cntrl, *__low)) __m |= cntrl;
+ if (this->is(punct, *__low)) __m |= punct;
+ // Do not include explicit line for alnum mask since it is a
+ // pure composite of masks on FreeBSD.
+ *__vec = __m;
+#endif
+ }
+ return __high;
+ }
+
+ const char*
+ ctype<char>::
+ scan_is(mask __m, const char* __low, const char* __high) const
+ {
+ if (_M_table)
+ while (__low < __high
+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
+ ++__low;
+ else
+ while (__low < __high && !this->is(__m, *__low))
+ ++__low;
+ return __low;
+ }
+
+ const char*
+ ctype<char>::
+ scan_not(mask __m, const char* __low, const char* __high) const
+ {
+ if (_M_table)
+ while (__low < __high
+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
+ ++__low;
+ else
+ while (__low < __high && this->is(__m, *__low) != 0)
+ ++__low;
+ return __low;
+ }
+
+#ifdef _GLIBCXX_USE_WCHAR_T
+ inline bool
+ ctype<wchar_t>::
+ do_is(mask __m, wchar_t __c) const
+ {
+ return __istype (__c, __m);
+ }
+
+ inline const wchar_t*
+ ctype<wchar_t>::
+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
+ {
+ for (; __lo < __hi; ++__vec, ++__lo)
+ *__vec = __maskrune (*__lo, upper | lower | alpha | digit | xdigit
+ | space | print | graph | cntrl | punct | alnum);
+ return __hi;
+ }
+
+ inline const wchar_t*
+ ctype<wchar_t>::
+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
+ {
+ while (__lo < __hi && ! __istype (*__lo, __m))
+ ++__lo;
+ return __lo;
+ }
+
+ inline const wchar_t*
+ ctype<wchar_t>::
+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
+ {
+ while (__lo < __hi && __istype (*__lo, __m))
+ ++__lo;
+ return __lo;
+ }
+#endif
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h
new file mode 100644
index 0000000..f7dd533
--- /dev/null
+++ b/contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h
@@ -0,0 +1,96 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
+//
+// ISO C++ 14882: 22.1 Locales
+//
+
+// Information as gleaned from /usr/include/ctype.h
+
+ const ctype_base::mask*
+ ctype<char>::classic_table() throw()
+ { return 0; }
+
+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
+ size_t __refs)
+ : facet(__refs), _M_del(__table != 0 && __del),
+ _M_toupper(NULL), _M_tolower(NULL),
+ _M_table(__table ? __table : classic_table())
+ {
+ memset(_M_widen, 0, sizeof(_M_widen));
+ _M_widen_ok = 0;
+ memset(_M_narrow, 0, sizeof(_M_narrow));
+ _M_narrow_ok = 0;
+ }
+
+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
+ : facet(__refs), _M_del(__table != 0 && __del),
+ _M_toupper(NULL), _M_tolower(NULL),
+ _M_table(__table ? __table : classic_table())
+ {
+ memset(_M_widen, 0, sizeof(_M_widen));
+ _M_widen_ok = 0;
+ memset(_M_narrow, 0, sizeof(_M_narrow));
+ _M_narrow_ok = 0;
+ }
+
+ char
+ ctype<char>::do_toupper(char __c) const
+ { return ::toupper((int) __c); }
+
+ const char*
+ ctype<char>::do_toupper(char* __low, const char* __high) const
+ {
+ while (__low < __high)
+ {
+ *__low = ::toupper((int) *__low);
+ ++__low;
+ }
+ return __high;
+ }
+
+ char
+ ctype<char>::do_tolower(char __c) const
+ { return ::tolower((int) __c); }
+
+ const char*
+ ctype<char>::do_tolower(char* __low, const char* __high) const
+ {
+ while (__low < __high)
+ {
+ *__low = ::tolower((int) *__low);
+ ++__low;
+ }
+ return __high;
+ }
diff --git a/contrib/libstdc++/config/os/bsd/darwin/os_defines.h b/contrib/libstdc++/config/os/bsd/darwin/os_defines.h
new file mode 100644
index 0000000..f95e587
--- /dev/null
+++ b/contrib/libstdc++/config/os/bsd/darwin/os_defines.h
@@ -0,0 +1,47 @@
+// Specific definitions for Darwin -*- C++ -*-
+
+// Copyright (C) 2004 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+
+#ifndef _GLIBCXX_OS_DEFINES
+#define _GLIBCXX_OS_DEFINES 1
+
+// System-specific #define, typedefs, corrections, etc, go here. This
+// file will come before all others.
+
+/* Darwin has the pthread routines in libSystem, which every program
+ links to, so there's no need for weak-ness for that. */
+#define _GLIBCXX_GTHREAD_USE_WEAK 0
+
+// On Darwin, in order to enable overriding of operator new and delete,
+// GCC makes the definition of these functions weak, relies on the
+// loader to implement weak semantics properly, and uses
+// -flat_namespace to work around the way that it doesn't.
+#define _GLIBCXX_WEAK_DEFINITION __attribute__ ((weak))
+
+#endif
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver b/contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver
new file mode 100644
index 0000000..ffe32b6
--- /dev/null
+++ b/contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver
@@ -0,0 +1 @@
+ __eprintf;
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h
index f44a7c7..56411ca 100644
--- a/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h
+++ b/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -35,6 +35,9 @@
// 4.0 and all versions of the CVS managed file at:
// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -72,5 +75,4 @@
#endif
};
-
-
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h
index d69324a..bbd53a8 100644
--- a/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h
+++ b/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -104,3 +111,42 @@
++__low;
return __low;
}
+
+#ifdef _GLIBCXX_USE_WCHAR_T
+ inline bool
+ ctype<wchar_t>::
+ do_is(mask __m, wchar_t __c) const
+ {
+ return __istype (__c, __m);
+ }
+
+ inline const wchar_t*
+ ctype<wchar_t>::
+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
+ {
+ for (; __lo < __hi; ++__vec, ++__lo)
+ *__vec = __maskrune (*__lo, upper | lower | alpha | digit | xdigit
+ | space | print | graph | cntrl | punct | alnum);
+ return __hi;
+ }
+
+ inline const wchar_t*
+ ctype<wchar_t>::
+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
+ {
+ while (__lo < __hi && ! __istype (*__lo, __m))
+ ++__lo;
+ return __lo;
+ }
+
+ inline const wchar_t*
+ ctype<wchar_t>::
+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
+ {
+ while (__lo < __hi && __istype (*__lo, __m))
+ ++__lo;
+ return __lo;
+ }
+#endif
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h
index ec5b575..f7dd533 100644
--- a/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h b/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h
index 1e46712..7f3e7d8 100644
--- a/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h
+++ b/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h
index ceea8ac..bee7daf 100644
--- a/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h
+++ b/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -36,6 +36,9 @@
// anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
// See www.netbsd.org for details of access.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -56,3 +59,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h
index f6dfc4d..a00104c 100644
--- a/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h
+++ b/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -66,7 +73,7 @@
return __low;
}
-
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h
index 70bf41c..5a6031c 100644
--- a/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h b/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h
index a7f2530..d406366 100644
--- a/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h
+++ b/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/contrib/libstdc++/config/os/djgpp/ctype_base.h b/contrib/libstdc++/config/os/djgpp/ctype_base.h
index 778847c..0664634 100644
--- a/contrib/libstdc++/config/os/djgpp/ctype_base.h
+++ b/contrib/libstdc++/config/os/djgpp/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -31,6 +31,9 @@
// ISO C++ 14882: 22.1 Locales
//
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
typedef unsigned short mask;
@@ -53,5 +56,4 @@
static const mask graph = __dj_ISALPHA | __dj_ISDIGIT | __dj_ISPUNCT; // Graphical
};
-
-
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/djgpp/ctype_inline.h b/contrib/libstdc++/config/os/djgpp/ctype_inline.h
index 21958c4..d46656e 100644
--- a/contrib/libstdc++/config/os/djgpp/ctype_inline.h
+++ b/contrib/libstdc++/config/os/djgpp/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,10 +39,12 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c + 1)] & __m; }
+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
const char*
ctype<char>::
@@ -52,7 +59,8 @@
ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && !this->is(__m, *__low))
+ while (__low < __high
+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
++__low;
return __low;
}
@@ -61,7 +69,10 @@
ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const
{
- while (__low < __high && this->is(__m, *__low) != 0)
+ while (__low < __high
+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/djgpp/ctype_noninline.h b/contrib/libstdc++/config/os/djgpp/ctype_noninline.h
index eda2679..d2b9aab 100644
--- a/contrib/libstdc++/config/os/djgpp/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/djgpp/ctype_noninline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -35,13 +40,13 @@
const ctype_base::mask*
ctype<char>::classic_table() throw()
- { return 0; }
+ { return __dj_ctype_flags+1; }
ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
size_t __refs)
: facet(__refs), _M_del(__table != 0 && __del),
_M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower),
- _M_table(__table ? __table : __dj_ctype_flags)
+ _M_table(__table ? __table : classic_table())
{
memset(_M_widen, 0, sizeof(_M_widen));
_M_widen_ok = 0;
@@ -52,7 +57,7 @@
ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
: facet(__refs), _M_del(__table != 0 && __del),
_M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower),
- _M_table(__table ? __table : __dj_ctype_flags)
+ _M_table(__table ? __table : classic_table())
{
memset(_M_widen, 0, sizeof(_M_widen));
_M_widen_ok = 0;
@@ -62,14 +67,14 @@
char
ctype<char>::do_toupper(char __c) const
- { return _M_toupper[static_cast<int>(__c)+1]; }
+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
const char*
ctype<char>::do_toupper(char* __low, const char* __high) const
{
while (__low < __high)
{
- *__low = ::toupper(static_cast<int> (*__low));
+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
++__low;
}
return __high;
@@ -77,14 +82,14 @@
char
ctype<char>::do_tolower(char __c) const
- { return _M_tolower[static_cast<int>(__c)+1]; }
+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
const char*
ctype<char>::do_tolower(char* __low, const char* __high) const
{
while (__low < __high)
{
- *__low = ::tolower(static_cast<int> (*__low));
+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
++__low;
}
return __high;
diff --git a/contrib/libstdc++/config/os/djgpp/os_defines.h b/contrib/libstdc++/config/os/djgpp/os_defines.h
index 5a43c06..417d8b6 100644
--- a/contrib/libstdc++/config/os/djgpp/os_defines.h
+++ b/contrib/libstdc++/config/os/djgpp/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for DJGPP -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES 1
@@ -34,10 +38,6 @@
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
// FIXME: should there be '#undef POSIX_SOURCE'?
#endif
diff --git a/contrib/libstdc++/config/os/generic/ctype_base.h b/contrib/libstdc++/config/os/generic/ctype_base.h
index 03fccce..1fd5f0a 100644
--- a/contrib/libstdc++/config/os/generic/ctype_base.h
+++ b/contrib/libstdc++/config/os/generic/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Default information, may not be appropriate for specific host.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -54,5 +57,4 @@
static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
};
-
-
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/generic/ctype_inline.h b/contrib/libstdc++/config/os/generic/ctype_inline.h
index 5f24fe6..511bf9d 100644
--- a/contrib/libstdc++/config/os/generic/ctype_inline.h
+++ b/contrib/libstdc++/config/os/generic/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -41,6 +46,8 @@
// Constructing a synthetic "C" table should be seriously considered...
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -159,3 +166,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/generic/ctype_noninline.h b/contrib/libstdc++/config/os/generic/ctype_noninline.h
index e30348e..f3e169f 100644
--- a/contrib/libstdc++/config/os/generic/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/generic/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,6 +28,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/generic/os_defines.h b/contrib/libstdc++/config/os/generic/os_defines.h
index 303049b..bcc533c 100644
--- a/contrib/libstdc++/config/os/generic/os_defines.h
+++ b/contrib/libstdc++/config/os/generic/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES 1
diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_base.h b/contrib/libstdc++/config/os/gnu-linux/ctype_base.h
index fc27a3f..0cd7242 100644
--- a/contrib/libstdc++/config/os/gnu-linux/ctype_base.h
+++ b/contrib/libstdc++/config/os/gnu-linux/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -32,8 +32,16 @@
// ISO C++ 14882: 22.1 Locales
//
+/** @file ctype_base.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
// Information as gleaned from /usr/include/ctype.h
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -54,3 +62,5 @@
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h b/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h
index af409c8..6aeaa7a 100644
--- a/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h
+++ b/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -67,3 +74,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h b/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h
index 925a5d0..0b895e2 100644
--- a/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,6 +28,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver b/contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver
new file mode 100644
index 0000000..d1e09ec
--- /dev/null
+++ b/contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver
@@ -0,0 +1,26 @@
+# Appended to version file.
+
+GLIBCXX_LDBL_3.4 {
+ _ZNSt14numeric_limitsIg*;
+ _ZNSirsERg;
+ _ZNSolsEg;
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg;
+ _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP*;
+ _ZStlsIg[cw]St11char_traitsI[cw]EERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E;
+ _ZStrsIg[cw]St11char_traitsI[cw]EERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E;
+ *__gnu_cxx_ldbl128*;
+};
+
+GLIBCXX_LDBL_3.4.7 {
+ _ZNSi10_M_extractIgEERSiRT_;
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_;
+ _ZNSo9_M_insertIgEERSoT_;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_;
+} GLIBCXX_LDBL_3.4;
+
+CXXABI_LDBL_1.3 {
+ _ZT[IS]g;
+ _ZT[IS]Pg;
+ _ZT[IS]PKg;
+};
diff --git a/contrib/libstdc++/config/os/gnu-linux/os_defines.h b/contrib/libstdc++/config/os/gnu-linux/os_defines.h
index 0e0194a..188b8a8 100644
--- a/contrib/libstdc++/config/os/gnu-linux/os_defines.h
+++ b/contrib/libstdc++/config/os/gnu-linux/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES 1
diff --git a/contrib/libstdc++/config/os/hpux/ctype_base.h b/contrib/libstdc++/config/os/hpux/ctype_base.h
index 53bbe23..0d6cb5f 100644
--- a/contrib/libstdc++/config/os/hpux/ctype_base.h
+++ b/contrib/libstdc++/config/os/hpux/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Default information, may not be appropriate for specific host.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/hpux/ctype_inline.h b/contrib/libstdc++/config/os/hpux/ctype_inline.h
index af409c8..455e5a9 100644
--- a/contrib/libstdc++/config/os/hpux/ctype_inline.h
+++ b/contrib/libstdc++/config/os/hpux/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -26,14 +26,21 @@
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
//
// ISO C++ 14882: 22.1 Locales
//
-
+
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -67,3 +74,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/hpux/ctype_noninline.h b/contrib/libstdc++/config/os/hpux/ctype_noninline.h
index 00e338b..6e47061 100644
--- a/contrib/libstdc++/config/os/hpux/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/hpux/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,6 +28,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/hpux/os_defines.h b/contrib/libstdc++/config/os/hpux/os_defines.h
index 6cba739..c7ff485 100644
--- a/contrib/libstdc++/config/os/hpux/os_defines.h
+++ b/contrib/libstdc++/config/os/hpux/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for HPUX -*- C++ -*-
-// Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,16 +27,17 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES 1
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
// Use macro form of ctype functions to ensure __SB_masks is defined.
#define _SB_CTYPE_MACROS 1
diff --git a/contrib/libstdc++/config/os/irix/atomic_word.h b/contrib/libstdc++/config/os/irix/atomic_word.h
index 68b8101..f27e7e2 100644
--- a/contrib/libstdc++/config/os/irix/atomic_word.h
+++ b/contrib/libstdc++/config/os/irix/atomic_word.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/contrib/libstdc++/config/os/irix/atomicity.h b/contrib/libstdc++/config/os/irix/atomicity.h
index 83e9e02..ebb3dfb 100644
--- a/contrib/libstdc++/config/os/irix/atomicity.h
+++ b/contrib/libstdc++/config/os/irix/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: IRIX version -*- C++ -*-
-// Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,10 +28,10 @@
// the GNU General Public License.
#include <mutex.h>
-#include <bits/atomicity.h>
+#include <ext/atomicity.h>
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-namespace __gnu_cxx
-{
_Atomic_word
__exchange_and_add(volatile _Atomic_word* __mem, int __val)
{ return (_Atomic_word) test_then_add((unsigned long*) const_cast<_Atomic_word*>(__mem), __val); }
@@ -39,4 +39,5 @@ namespace __gnu_cxx
void
__atomic_add(volatile _Atomic_word* __mem, int __val)
{ __exchange_and_add(__mem, __val); }
-} // namespace __gnu_cxx
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h
index 2626cd3..1af3054 100644
--- a/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h
+++ b/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h on irix 5.2
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h
index 89cf11b..8b9b2d1 100644
--- a/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h
+++ b/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -65,3 +72,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h
index 2aeb50c..de9348c 100644
--- a/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,6 +28,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h b/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h
index 87556f8..2b301ce 100644
--- a/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h
+++ b/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for IRIX -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -44,10 +44,6 @@
// the command-line.
#undef _POSIX_SOURCE
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
// GCC does not use thunks on IRIX.
#define _G_USING_THUNKS 0
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h
index d4d2003..1298055 100644
--- a/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h
+++ b/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h on irix 6.5
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h
index 8c10c4d..4d81d3e 100644
--- a/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h
+++ b/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -65,3 +72,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h
index 8fdf95e..f80fe95 100644
--- a/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h b/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h
index 6b0174b..35f29d0 100644
--- a/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h
+++ b/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -44,10 +44,6 @@
// the command-line.
#undef _POSIX_SOURCE
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
// GCC does not use thunks on IRIX.
#define _G_USING_THUNKS 0
diff --git a/contrib/libstdc++/config/os/mingw32/ctype_base.h b/contrib/libstdc++/config/os/mingw32/ctype_base.h
index c077594..a7efaf7 100644
--- a/contrib/libstdc++/config/os/mingw32/ctype_base.h
+++ b/contrib/libstdc++/config/os/mingw32/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information, as gleaned from /mingw32/include/ctype.h.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -54,5 +57,4 @@
static const mask alnum = (_ALPHA | _DIGIT);
};
-
-
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/mingw32/ctype_inline.h b/contrib/libstdc++/config/os/mingw32/ctype_inline.h
index 979d607..7b12336 100644
--- a/contrib/libstdc++/config/os/mingw32/ctype_inline.h
+++ b/contrib/libstdc++/config/os/mingw32/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,13 +39,12 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
bool
ctype<char>::
is(mask __m, char __c) const
- {
- return (_M_table[static_cast<unsigned char>(__c) ] & __m);
- }
+ { return (_M_table[static_cast<unsigned char>(__c) ] & __m); }
const char*
@@ -69,3 +73,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/mingw32/ctype_noninline.h b/contrib/libstdc++/config/os/mingw32/ctype_noninline.h
index e493d40..42ac703 100644
--- a/contrib/libstdc++/config/os/mingw32/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/mingw32/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/mingw32/os_defines.h b/contrib/libstdc++/config/os/mingw32/os_defines.h
index 38fd3c7..6f041b3 100644
--- a/contrib/libstdc++/config/os/mingw32/os_defines.h
+++ b/contrib/libstdc++/config/os/mingw32/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef _GLIBCXX_OS_DEFINES
# define _GLIBCXX_OS_DEFINES
@@ -45,4 +49,7 @@
#undef NOMINMAX
#define NOMINMAX 1
+// See libstdc++/20806.
+#define _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM 1
+
#endif
diff --git a/contrib/libstdc++/config/os/newlib/ctype_base.h b/contrib/libstdc++/config/os/newlib/ctype_base.h
index 973d410..286287a 100644
--- a/contrib/libstdc++/config/os/newlib/ctype_base.h
+++ b/contrib/libstdc++/config/os/newlib/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -35,6 +35,9 @@
// Support for Solaris 2.5.1
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -55,3 +58,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/newlib/ctype_inline.h b/contrib/libstdc++/config/os/newlib/ctype_inline.h
index 8381ace..69b549d 100644
--- a/contrib/libstdc++/config/os/newlib/ctype_inline.h
+++ b/contrib/libstdc++/config/os/newlib/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -65,3 +72,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/newlib/ctype_noninline.h b/contrib/libstdc++/config/os/newlib/ctype_noninline.h
index d0cce94..71a5d3c 100644
--- a/contrib/libstdc++/config/os/newlib/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/newlib/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/newlib/os_defines.h b/contrib/libstdc++/config/os/newlib/os_defines.h
index 3b19787..492af4e 100644
--- a/contrib/libstdc++/config/os/newlib/os_defines.h
+++ b/contrib/libstdc++/config/os/newlib/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for newlib -*- C++ -*-
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,10 +27,22 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES 1
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
+#ifdef __CYGWIN__
+#define _GLIBCXX_GTHREAD_USE_WEAK 0
+
+// See libstdc++/20806.
+#define _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM 1
+#endif
+
#endif
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h
index 3d4800b..e5de97d 100644
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h
+++ b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = _PU;
static const mask alnum = _DI | _LO | _UP | _XA;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h
index 24e0159..f6f3d68 100644
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h
+++ b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -65,3 +72,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h
index 2eef13a..7bf5057 100644
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h b/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h
index 929331c..c037acd 100644
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h
+++ b/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h
index d4f3fe7..89b11c0 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = 020;
static const mask alnum = 01 | 02 | 04;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h
index 93a04aa..4e000c7 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -67,3 +74,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h
index a808636..2b28a25 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h
index 7e5a14e..0c3c324 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Solaris 2.5 -*- C++ -*-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,10 +33,4 @@
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
-// These are typedefs which libio assumes are already in place (because
-// they really are, under Linux).
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
#endif
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h
index c1447e6..78a5c85 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -34,6 +34,9 @@
// Information as gleaned from /usr/include/ctype.h. Looks like this
// only works with solaris2.6.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -54,3 +57,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h
index 0bd56a1..511b84f 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,13 +27,20 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
-//
-
+//
+
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -74,3 +81,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h
index 694901a..f0341c0 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h
index 29d6cf5..3a0494b 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Solaris 2.6 -*- C++ -*-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,10 +33,4 @@
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
-// These are typedefs which libio assumes are already in place (because
-// they really are, under Linux).
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
#endif
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h
index 22be358..6316170 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -35,6 +35,9 @@
// only works with solaris2.7 and solaris2.8. Thanks for not changing
// things, sun engineers!
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -55,3 +58,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h
index af409c8..455e5a9 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -26,14 +26,21 @@
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
//
// ISO C++ 14882: 22.1 Locales
//
-
+
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -67,3 +74,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h
index d4917f0..29eb513 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,6 +28,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h
index 9131aa6..f2ecd8d 100644
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h
+++ b/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Solaris 7,8 -*- C++ -*-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,11 +33,5 @@
// System-specific #define, typedefs, corrections, etc, go here. This
// file will come before all others.
-// These are typedefs which libio assumes are already in place (because
-// they really are, under Linux).
-#define __off_t off_t
-#define __off64_t off64_t
-#define __ssize_t ssize_t
-
#endif
diff --git a/contrib/libstdc++/config/os/tpf/ctype_base.h b/contrib/libstdc++/config/os/tpf/ctype_base.h
index 0461f3a..9341539 100644
--- a/contrib/libstdc++/config/os/tpf/ctype_base.h
+++ b/contrib/libstdc++/config/os/tpf/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/tpf/ctype_inline.h b/contrib/libstdc++/config/os/tpf/ctype_inline.h
index 3f2f32d..59f863b 100644
--- a/contrib/libstdc++/config/os/tpf/ctype_inline.h
+++ b/contrib/libstdc++/config/os/tpf/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -34,6 +39,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -67,3 +74,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/tpf/ctype_noninline.h b/contrib/libstdc++/config/os/tpf/ctype_noninline.h
index 3735b56..3a42ba0 100644
--- a/contrib/libstdc++/config/os/tpf/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/tpf/ctype_noninline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/tpf/os_defines.h b/contrib/libstdc++/config/os/tpf/os_defines.h
index 40ee13a..6e223b9 100644
--- a/contrib/libstdc++/config/os/tpf/os_defines.h
+++ b/contrib/libstdc++/config/os/tpf/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES 1
diff --git a/contrib/libstdc++/config/os/uclibc/ctype_base.h b/contrib/libstdc++/config/os/uclibc/ctype_base.h
new file mode 100644
index 0000000..d964f0f
--- /dev/null
+++ b/contrib/libstdc++/config/os/uclibc/ctype_base.h
@@ -0,0 +1,68 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+//
+// ISO C++ 14882: 22.1 Locales
+//
+
+/** @file ctype_base.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
+// Information as gleaned from /usr/include/ctype.h
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
+ struct ctype_base
+ {
+ // Note: In uClibc, the following two types depend on configuration.
+
+ // Non-standard typedefs.
+ typedef const __ctype_touplow_t* __to_type;
+
+ // 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 __ctype_mask_t mask;
+ static const mask upper = _ISupper;
+ static const mask lower = _ISlower;
+ static const mask alpha = _ISalpha;
+ static const mask digit = _ISdigit;
+ static const mask xdigit = _ISxdigit;
+ static const mask space = _ISspace;
+ static const mask print = _ISprint;
+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
+ static const mask cntrl = _IScntrl;
+ static const mask punct = _ISpunct;
+ static const mask alnum = _ISalpha | _ISdigit;
+ };
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/uclibc/ctype_inline.h b/contrib/libstdc++/config/os/uclibc/ctype_inline.h
new file mode 100644
index 0000000..329fb3d
--- /dev/null
+++ b/contrib/libstdc++/config/os/uclibc/ctype_inline.h
@@ -0,0 +1,78 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 2000, 2002, 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
+//
+// ISO C++ 14882: 22.1 Locales
+//
+
+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
+// functions go in ctype.cc
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ bool
+ ctype<char>::
+ is(mask __m, char __c) const
+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
+
+ const char*
+ ctype<char>::
+ is(const char* __low, const char* __high, mask* __vec) const
+ {
+ while (__low < __high)
+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
+ return __high;
+ }
+
+ const char*
+ ctype<char>::
+ scan_is(mask __m, const char* __low, const char* __high) const
+ {
+ while (__low < __high
+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
+ ++__low;
+ return __low;
+ }
+
+ const char*
+ ctype<char>::
+ scan_not(mask __m, const char* __low, const char* __high) const
+ {
+ while (__low < __high
+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
+ ++__low;
+ return __low;
+ }
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/uclibc/ctype_noninline.h b/contrib/libstdc++/config/os/uclibc/ctype_noninline.h
new file mode 100644
index 0000000..6bf1fab
--- /dev/null
+++ b/contrib/libstdc++/config/os/uclibc/ctype_noninline.h
@@ -0,0 +1,97 @@
+// Locale support -*- C++ -*-
+
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2006
+// Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
+//
+// ISO C++ 14882: 22.1 Locales
+//
+
+// Information as gleaned from /usr/include/ctype.h
+
+ const ctype_base::mask*
+ ctype<char>::classic_table() throw()
+ { return __C_ctype_b; }
+
+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
+ size_t __refs)
+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
+ {
+ _M_toupper = __C_ctype_toupper;
+ _M_tolower = __C_ctype_tolower;
+ _M_table = __table ? __table : __C_ctype_b;
+ memset(_M_widen, 0, sizeof(_M_widen));
+ memset(_M_narrow, 0, sizeof(_M_narrow));
+ }
+
+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
+ {
+ _M_toupper = __C_ctype_toupper;
+ _M_tolower = __C_ctype_tolower;
+ _M_table = __table ? __table : __C_ctype_b;
+ memset(_M_widen, 0, sizeof(_M_widen));
+ memset(_M_narrow, 0, sizeof(_M_narrow));
+ }
+
+ char
+ ctype<char>::do_toupper(char __c) const
+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
+
+ const char*
+ ctype<char>::do_toupper(char* __low, const char* __high) const
+ {
+ while (__low < __high)
+ {
+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
+ ++__low;
+ }
+ return __high;
+ }
+
+ char
+ ctype<char>::do_tolower(char __c) const
+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
+
+ const char*
+ ctype<char>::do_tolower(char* __low, const char* __high) const
+ {
+ while (__low < __high)
+ {
+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
+ ++__low;
+ }
+ return __high;
+ }
diff --git a/contrib/libstdc++/config/os/uclibc/os_defines.h b/contrib/libstdc++/config/os/uclibc/os_defines.h
new file mode 100644
index 0000000..d3d9b38
--- /dev/null
+++ b/contrib/libstdc++/config/os/uclibc/os_defines.h
@@ -0,0 +1,49 @@
+// Specific definitions for GNU/Linux with uClibc -*- C++ -*-
+
+// Copyright (C) 2000, 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
+#ifndef _GLIBCXX_OS_DEFINES
+#define _GLIBCXX_OS_DEFINES 1
+
+// System-specific #define, typedefs, corrections, etc, go here. This
+// file will come before all others.
+
+// This keeps isanum, et al from being propagated as macros.
+#define __NO_CTYPE 1
+
+#include <features.h>
+
+// We must not see the optimized string functions GNU libc defines.
+#define __NO_STRING_INLINES
+
+#endif
diff --git a/contrib/libstdc++/config/os/vxworks/ctype_base.h b/contrib/libstdc++/config/os/vxworks/ctype_base.h
index 2a34561..4e01966 100644
--- a/contrib/libstdc++/config/os/vxworks/ctype_base.h
+++ b/contrib/libstdc++/config/os/vxworks/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Information extracted from target/h/ctype.h.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -55,5 +58,4 @@
static const mask alnum = _C_UPPER | _C_LOWER | _C_NUMBER;
};
-
-
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/vxworks/ctype_inline.h b/contrib/libstdc++/config/os/vxworks/ctype_inline.h
index f5cc78b..5ff4f2e 100644
--- a/contrib/libstdc++/config/os/vxworks/ctype_inline.h
+++ b/contrib/libstdc++/config/os/vxworks/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -36,6 +41,8 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -69,3 +76,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/vxworks/ctype_noninline.h b/contrib/libstdc++/config/os/vxworks/ctype_noninline.h
index acf91a4..6cb9270 100644
--- a/contrib/libstdc++/config/os/vxworks/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/vxworks/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,9 +28,15 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
+
// Information as gleaned from target/h/ctype.h
const ctype_base::mask*
diff --git a/contrib/libstdc++/config/os/vxworks/os_defines.h b/contrib/libstdc++/config/os/vxworks/os_defines.h
index c5f04ff..89cb859 100644
--- a/contrib/libstdc++/config/os/vxworks/os_defines.h
+++ b/contrib/libstdc++/config/os/vxworks/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef _GLIBCPP_OS_DEFINES
#define _GLIBCPP_OS_DEFINES 1
diff --git a/contrib/libstdc++/config/os/windiss/ctype_base.h b/contrib/libstdc++/config/os/windiss/ctype_base.h
index acd0526..07885ca 100644
--- a/contrib/libstdc++/config/os/windiss/ctype_base.h
+++ b/contrib/libstdc++/config/os/windiss/ctype_base.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -33,6 +33,9 @@
// Default information, may not be appropriate for specific host.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
+ /// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@@ -53,3 +56,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/windiss/ctype_inline.h b/contrib/libstdc++/config/os/windiss/ctype_inline.h
index 1e20515..8ffd158 100644
--- a/contrib/libstdc++/config/os/windiss/ctype_inline.h
+++ b/contrib/libstdc++/config/os/windiss/ctype_inline.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_inline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
@@ -39,6 +44,8 @@
// functionality should be added for the native os in question: see
// the config/os/bits/ctype_*.h files.
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
bool
ctype<char>::
is(mask __m, char __c) const
@@ -123,3 +130,5 @@
++__low;
return __low;
}
+
+_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/windiss/ctype_noninline.h b/contrib/libstdc++/config/os/windiss/ctype_noninline.h
index cf75ddf..9e56867 100644
--- a/contrib/libstdc++/config/os/windiss/ctype_noninline.h
+++ b/contrib/libstdc++/config/os/windiss/ctype_noninline.h
@@ -16,7 +16,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -28,6 +28,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file ctype_noninline.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
//
// ISO C++ 14882: 22.1 Locales
//
diff --git a/contrib/libstdc++/config/os/windiss/os_defines.h b/contrib/libstdc++/config/os/windiss/os_defines.h
index 136733e..a0b6180 100644
--- a/contrib/libstdc++/config/os/windiss/os_defines.h
+++ b/contrib/libstdc++/config/os/windiss/os_defines.h
@@ -15,7 +15,7 @@
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
@@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file os_defines.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef _GLIBCXX_OS_DEFINES
#define _GLIBCXX_OS_DEFINES 1
OpenPOWER on IntegriCloud