Gcc 3.2.2-release C++ support bits.
This commit is contained in:
parent
7b74929d74
commit
61e268fb5f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/gcc/dist/; revision=110614
@ -1,15 +1,308 @@
|
||||
2002-11-19 Release Manager
|
||||
2003-02-05 Release Manager
|
||||
|
||||
* GCC 3.2.1 Released.
|
||||
* GCC 3.2.2 Released.
|
||||
|
||||
2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
|
||||
|
||||
* include/Makefile.am (install-data-local): Prepend
|
||||
$(DESTDIR) to destination paths in all (un)installation
|
||||
commands. Use ${c_base_builddir} and ${std_builddir}
|
||||
as destination subdirectories to achieve consistency with
|
||||
preceding mkinstalldirs commands. No effect because both
|
||||
variables contain "." only.
|
||||
* include/Makefile.in: Regenerate.
|
||||
|
||||
2003-01-28 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
PR c++/9433
|
||||
* libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
|
||||
with bases which are very ambiguous.
|
||||
|
||||
2003-01-27 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* acinclude.m4 (glibcpp_toolexeclibdir): Instead of
|
||||
$(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
|
||||
version_specific_libs is enabled.
|
||||
* aclocal.m4, configure: Rebuilt.
|
||||
|
||||
2003-01-23 Phil Edwards <pme@gcc.gnu.org>
|
||||
|
||||
Bulk documentation merge (copy) from trunk.
|
||||
* docs/doxygen/TODO, docs/doxygen/run_doxygen,
|
||||
docs/doxygen/stdheader.cc, docs/doxygen/style.css,
|
||||
docs/doxygen/tables.html, docs/doxygen/user.cfg.in,
|
||||
docs/html/configopts.html, docs/html/debug.html,
|
||||
docs/html/documentation.html, docs/html/explanations.html,
|
||||
docs/html/install.html, docs/html/17_intro/contribute.html,
|
||||
docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
|
||||
docs/html/17_intro/porting.html, docs/html/17_intro/porting.texi,
|
||||
docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
|
||||
docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
|
||||
docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
|
||||
docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
|
||||
docs/html/22_locale/messages.html, docs/html/24_iterators/howto.html,
|
||||
docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
|
||||
docs/html/27_io/howto.html, docs/html/ext/lwg-active.html,
|
||||
docs/html/ext/lwg-defects.html, docs/html/ext/sgiexts.html,
|
||||
docs/html/faq/index.html, docs/html/faq/index.txt: Merge from trunk.
|
||||
|
||||
2003-01-23 Petur Runolfsson <peturr02@ru.is>
|
||||
|
||||
PR libstdc++/9322
|
||||
* include/std/std_streambuf.h
|
||||
(basic_streambuf::basic_streambuf,
|
||||
basic_streambuf::~basic_streambuf,
|
||||
basic_streambuf::getloc, basic_streambuf::imbue):
|
||||
Remove _M_buf_locale_init use.
|
||||
* include/bits/fstream.tcc (basic_filebuf::imbue): Likewise
|
||||
* testsuite/27_io/filebuf_virtuals.cc (test08): Add.
|
||||
* testsuite/27_io/streambuf_members.cc (test08): Add.
|
||||
* testsuite/27_io/stringbuf_virtuals.cc (test08): Add.
|
||||
|
||||
2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* config/linker-map.gnu: Synch with 3_3-branch.
|
||||
|
||||
2003-01-10 Benjamin Kosnik <bkoz@redhat.com>
|
||||
Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
|
||||
|
||||
PR libstdc++/9269
|
||||
* include/std/std_fstream.h (basic_filebuf::uflow): Declare.
|
||||
(basic_filebuf::underflow): Declare.
|
||||
Move definitions.
|
||||
|
||||
2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
PR libstdc++/8707
|
||||
* Makefile.am (distclean-multi): Fix.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* include/bits/locale_facets.h (messages): Move ctor, dtor
|
||||
definitions to..
|
||||
(__timepunct): Same.
|
||||
* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
|
||||
definitions. Conditionalize for GNU systems.
|
||||
* config/locale/generic/messages_members.h (messages): Add dtor, ctor
|
||||
definitions.
|
||||
* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
|
||||
definitions. Conditionalize for GNU systems.
|
||||
* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
|
||||
definitions.
|
||||
* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
|
||||
* src/locale.cc: Define.
|
||||
* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
|
||||
Use it.
|
||||
* config/locale/gnu/time_members.h: Use it.
|
||||
* config/locale/gnu/messages_members.h: Use it.
|
||||
* config/linker-map.gnu: Add locale::facets details.
|
||||
* include/Makefile.am (target_headers_extra): Add time_members.h.
|
||||
* include/Makefile.in: Regenerate.
|
||||
* acinclude.m4: Export CTIME_H.
|
||||
* aclocal.m4: Regenerate.
|
||||
* configure: Regnerate.
|
||||
|
||||
2003-01-06 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
* src/codecvt.cc
|
||||
(codecvt<char, char, mbstate_t>::do_in, do_out):
|
||||
Tweak parameters to avoid unused parameter warnings.
|
||||
|
||||
2003-01-06 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
PR libstdc++/9151
|
||||
* include/bits/locale_facets.cc (num_put::_M_convert_float):
|
||||
Limit __prec to digits10 + 2, not digits10 + 1, taking into
|
||||
account the possibility of %{g,G} conversion specifiers
|
||||
inside _S_format_float.
|
||||
* testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
|
||||
|
||||
2003-01-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init):
|
||||
Additionally handle files one level deeper in glob patterns.
|
||||
* testsuite/libstdc++-v3.dg/dg.exp: Likewise.
|
||||
|
||||
* testsuite/27_io/istream_extractor_arith.cc: Delete, split...
|
||||
* testsuite/27_io/istream_extractor_arith/01.cc,
|
||||
testsuite/27_io/istream_extractor_arith/02.cc,
|
||||
testsuite/27_io/istream_extractor_arith/03.cc,
|
||||
testsuite/27_io/istream_extractor_arith/06.cc,
|
||||
testsuite/27_io/istream_extractor_arith/07.cc,
|
||||
testsuite/27_io/istream_extractor_arith/08.cc,
|
||||
testsuite/27_io/istream_extractor_arith/09.cc,
|
||||
testsuite/27_io/istream_extractor_arith/10.cc,
|
||||
testsuite/27_io/istream_extractor_arith/11.cc,
|
||||
testsuite/27_io/istream_extractor_arith/12.cc,
|
||||
testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
|
||||
* testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
|
||||
sparc*-*-solaris2*.
|
||||
|
||||
2003-01-05 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
PR libstdc++/9168
|
||||
* src/codecvt.cc
|
||||
(codecvt<char, char, mbstate_t>::do_in, do_out):
|
||||
Implement the resolution of DR19 (TC).
|
||||
* testsuite/22_locale/codecvt_members_char_char.cc
|
||||
(test01): Tweak.
|
||||
|
||||
2002-12-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* testsuite/23_containers/vector_capacity.cc (test03): Move ...
|
||||
* testsuite/23_containers/vector_resize.cc: ...here as a new file.
|
||||
Pass in -lmalloc for irix6.
|
||||
* testsuite/27_io/ios_base_storage.cc: Pass in -lmalloc for irix6.
|
||||
|
||||
2002-12-11 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
PR libstdc++/8887
|
||||
* config/locale/generic/time_members.cc
|
||||
(__timepunct<char>::_M_initialize_timepunct): Fix typos
|
||||
in _M_date_format and _M_date_era_format string literals.
|
||||
|
||||
2002-12-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||
|
||||
* include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
|
||||
|
||||
2002-12-05 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* config/linker-map.gnu: Put _S_force_new into GLIBCPP_3.2.2.
|
||||
* testsuite/abi_check.cc: Add GLIBCPP_3.2.2.
|
||||
|
||||
2002-12-05 Benjamin Kosnik <bkoz@redhat.com>
|
||||
Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||
|
||||
PR libstdc++/8230
|
||||
* include/bits/stl_alloc.h: Use builtin_expect for the most
|
||||
obvious limit checks.
|
||||
(__default_alloc_template::allocate): Check for null, throw
|
||||
bad_alloc.
|
||||
* testsuite/20_util/allocator_members.cc (test02): Add.
|
||||
* testsuite/23_containers/vector_capacity.cc (test03): Add.
|
||||
|
||||
2002-12-05 Loren J. Rittle <ljrittle@acm.org>
|
||||
Brad Spencer <spencer@infointeractive.com>
|
||||
(provided alternate patch and improvements)
|
||||
|
||||
PR libstdc++/8708
|
||||
* docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
|
||||
new environment variable which replaces all uses of __USE_MALLOC
|
||||
macro.
|
||||
* docs/html/ext/howto.html (GLIBCPP_FORCE_NEW): Likewise.
|
||||
(__mem_interface): Remove all references to old internal typedef.
|
||||
* include/backward/alloc.h (__USE_MALLOC): Remove it and all
|
||||
guarded code.
|
||||
* include/bits/c++config (__USE_MALLOC): Update related error
|
||||
message and comment.
|
||||
* include/bits/stl_alloc.h (__USE_MALLOC): Remove it and all
|
||||
guarded code. Update all related comments.
|
||||
(__mem_interface): Unconditionally replace it with __new_alloc.
|
||||
However, leave the typedef around in case anyone used it.
|
||||
(__default_alloc_template<>::_S_force_new): New class static.
|
||||
(__default_alloc_template<>::allocate, deallocate): Add
|
||||
run-time controlled feature similar to what __USE_MALLOC code
|
||||
path had provided.
|
||||
* src/stl-inst.cc (__USE_MALLOC): Remove it and all
|
||||
guarded code.
|
||||
* testsuite/21_strings/capacity.cc: Remove reference to __USE_MALLOC.
|
||||
Add documentation on GLIBCPP_FORCE_NEW environment variable.
|
||||
* testsuite/ext/allocators.cc: Likewise.
|
||||
|
||||
2002-12-05 Paolo Carlini <pcarlini@unitus.it>
|
||||
Nathan Myers <ncm@cantrip.org>
|
||||
|
||||
PR libstdc++/8790
|
||||
* src/localename.cc
|
||||
(locale::_Impl::_Impl(const char*, size_t)):
|
||||
Avoid strtok for thread safety.
|
||||
|
||||
2002-12-04 Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
PR libstdc++/7445
|
||||
* src/locale.cc (std::locale::classic()): Weaken locking protocol.
|
||||
|
||||
2002-12-03 Phil Edwards <pme@gcc.gnu.org>
|
||||
|
||||
* include/bits/streambuf.tcc (basic_streambuf::sputbackc): Prefix
|
||||
"this->" to call to pbackfail.
|
||||
|
||||
2002-12-02 Benjamin Kosnik <bkoz@redhat.com>
|
||||
Jonathan Lennox <lennox@cs.columbia.edu>
|
||||
|
||||
* include/bits/streambuf.tcc (__copy_streambufs):
|
||||
Revert previous fix for the interactive half of
|
||||
libstdc++/6745, use _M_buf_size_opt to set dynamically
|
||||
the correct buffer size.
|
||||
|
||||
2002-12-02 Jonathan Lennox <lennox@cs.columbia.edu>
|
||||
|
||||
* include/bits/streambuf.tcc (__copy_streambufs): verify
|
||||
__sbin->gptr() + __bufsize < __sbin->egptr() before using.
|
||||
* testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add.
|
||||
(test05): Use test_buffer_4. Delete unused ostringstream
|
||||
variables.
|
||||
|
||||
2002-12-02 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
PR libstdc++/6745 (continued)
|
||||
* include/bits/streambuf.tcc (__copy_streambufs):
|
||||
Deal with interactive input by using isatty as in the
|
||||
fix for libstdc++/8399.
|
||||
|
||||
2002-12-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
|
||||
|
||||
2002-12-02 Paolo Carlini <pcarlini@unitus.it>
|
||||
Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
PR libstdc++/8399
|
||||
* acinclude.m4
|
||||
(GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): New macro to
|
||||
check for unistd.h functions.
|
||||
(GLIBCPP_CHECK_UNISTD_SUPPORT): New macro, check for isatty
|
||||
in unistd.h.
|
||||
* configure.in: Call here.
|
||||
* src/ios.cc (ios_base::Init::_S_ios_create(bool)):
|
||||
Use _GLIBCPP_HAVE_ISATTY: ifdef, in case of interactive
|
||||
input __in_size = 1 even when sync_with_stdio is false;
|
||||
otherwise fall back to __in_size = 1.
|
||||
* aclocal.m4: Regenerate.
|
||||
* config.h.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
|
||||
2002-12-02 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* acconfig.h (HAVE_DRAND48): Add.
|
||||
(HAVE_GETPAGESIZE): Add.
|
||||
(HAVE_SETENV): Add.
|
||||
(HAVE_SIGSETJMP): Add.
|
||||
* config.h.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
|
||||
2002-12-02 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
PR libstdc++/8230
|
||||
* include/bits/stl_vector.h (vector::reserve): Throw length_error if
|
||||
requested size is bigger than max_size().
|
||||
* include/bits/stl_bvector.h (vector<bool>::reserve): Same.
|
||||
* testsuite/23_containers/vector_capacity.cc (test02): Add.
|
||||
|
||||
2002-12-02 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* configure.in (libtool_VERSION): Update to 5:2:0.
|
||||
* configure: Regenerate.
|
||||
|
||||
2002-11-26 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* testsuite/abi_check.cc: Remove guards kludge.
|
||||
|
||||
2002-11-19 Release Manager
|
||||
|
||||
* GCC 3.2.1 Released.
|
||||
|
||||
2002-11-18 Release Manager
|
||||
|
||||
* GCC 3.2.1 Released.
|
||||
|
||||
2002-11-17 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/linker-map.gnu: Export _S_construct even if size_t is
|
||||
@ -22,7 +315,7 @@
|
||||
|
||||
2002-11-06 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
PR 8362
|
||||
PR libstdc++/8362
|
||||
* testsuite/abi_check.cc: Add guards to prevent -mpower ICE.
|
||||
|
||||
2002-11-05 Jonathan Wakely <cow@compsoc.man.ac.uk>
|
||||
|
@ -1,6 +1,6 @@
|
||||
## Makefile for the toplevel directory of the GNU C++ Standard library.
|
||||
##
|
||||
## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
|
||||
## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
## Free Software Foundation, Inc.
|
||||
##
|
||||
## This file is part of the libstdc++ version 3 distribution.
|
||||
@ -88,7 +88,7 @@ doxygen-man:
|
||||
# Multilib support.
|
||||
MAKEOVERRIDES=
|
||||
|
||||
# Multilib variables.
|
||||
# Multilib support variables.
|
||||
MULTISRCTOP =
|
||||
MULTIBUILDTOP =
|
||||
MULTIDIRS =
|
||||
@ -96,16 +96,16 @@ MULTISUBDIR =
|
||||
MULTIDO = true
|
||||
MULTICLEAN = true
|
||||
|
||||
# Multilib Makefile bits.
|
||||
# Multilib support.
|
||||
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
|
||||
maintainer-clean-multi
|
||||
|
||||
all-am: all-multi
|
||||
install-am: install-multi
|
||||
mostlyclean-am: mostlyclean-multi
|
||||
clean-am: clean-multi
|
||||
distclean-am: distclean-multi
|
||||
maintainer-clean-am: maintainer-clean-multi
|
||||
all-recursive: all-multi
|
||||
install-recursive: install-multi
|
||||
mostlyclean-recursive: mostlyclean-multi
|
||||
clean-recursive: clean-multi
|
||||
distclean-recursive: distclean-multi
|
||||
maintainer-clean-recursive: maintainer-clean-multi
|
||||
|
||||
all-multi:
|
||||
: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
|
||||
|
@ -76,6 +76,7 @@ CMESSAGES_H = @CMESSAGES_H@
|
||||
CPP = @CPP@
|
||||
CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@
|
||||
CSTDIO_H = @CSTDIO_H@
|
||||
CTIME_H = @CTIME_H@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
||||
@ -146,7 +147,7 @@ baseline_file = @baseline_file@
|
||||
# Multilib support.
|
||||
MAKEOVERRIDES =
|
||||
|
||||
# Multilib variables.
|
||||
# Multilib support variables.
|
||||
MULTISRCTOP =
|
||||
MULTIBUILDTOP =
|
||||
MULTIDIRS =
|
||||
@ -519,16 +520,16 @@ doxygen-man:
|
||||
|
||||
.PHONY: doxygen doxygen-maint doxygen-man
|
||||
|
||||
# Multilib Makefile bits.
|
||||
# Multilib support.
|
||||
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
|
||||
maintainer-clean-multi
|
||||
|
||||
all-am: all-multi
|
||||
install-am: install-multi
|
||||
mostlyclean-am: mostlyclean-multi
|
||||
clean-am: clean-multi
|
||||
distclean-am: distclean-multi
|
||||
maintainer-clean-am: maintainer-clean-multi
|
||||
all-recursive: all-multi
|
||||
install-recursive: install-multi
|
||||
mostlyclean-recursive: mostlyclean-multi
|
||||
clean-recursive: clean-multi
|
||||
distclean-recursive: distclean-multi
|
||||
maintainer-clean-recursive: maintainer-clean-multi
|
||||
|
||||
all-multi:
|
||||
: $(MAKE) ; exec $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
|
||||
|
@ -13,9 +13,6 @@
|
||||
// Define if GCC supports weak symbols.
|
||||
#undef _GLIBCPP_SUPPORTS_WEAK
|
||||
|
||||
// Define if gthr-default.h exists (meaning that threading support is enabled).
|
||||
#undef HAVE_GTHR_DEFAULT
|
||||
|
||||
// Include I/O support for 'long long' and 'unsigned long long'.
|
||||
#undef _GLIBCPP_USE_LONG_LONG
|
||||
|
||||
@ -37,13 +34,13 @@
|
||||
// Define to use concept checking code from the boost libraries.
|
||||
#undef _GLIBCPP_CONCEPT_CHECKS
|
||||
|
||||
// Define if you have the atan2f function.
|
||||
// Define if the atan2f function exists.
|
||||
#undef _GLIBCPP_HAVE_ATAN2F
|
||||
|
||||
// Define if you have the atan2l function.
|
||||
// Define if the atan2l function exists.
|
||||
#undef _GLIBCPP_HAVE_ATAN2L
|
||||
|
||||
// Define if you have the copysignf function.
|
||||
// Define if the copysignf function exists.
|
||||
#undef _GLIBCPP_HAVE_COPYSIGNF
|
||||
|
||||
// Define to use symbol versioning in the shared library.
|
||||
@ -60,6 +57,21 @@
|
||||
#define _GLIBCPP_ASM_SYMVER(cur, old, version)
|
||||
#endif
|
||||
|
||||
// Define if gthr-default.h exists (meaning that threading support is enabled).
|
||||
#undef HAVE_GTHR_DEFAULT
|
||||
|
||||
// Define if drand48 exists.
|
||||
#undef HAVE_DRAND48
|
||||
|
||||
// Define if getpagesize exists.
|
||||
#undef HAVE_GETPAGESIZE
|
||||
|
||||
// Define if setenv exists.
|
||||
#undef HAVE_SETENV
|
||||
|
||||
// Define if sigsetjmp exists.
|
||||
#undef HAVE_SIGSETJMP
|
||||
|
||||
// Define if mbstate_t exists in wchar.h.
|
||||
#undef HAVE_MBSTATE_T
|
||||
|
||||
|
@ -594,6 +594,33 @@ AC_DEFUN(GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3, [
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Check to see if the (unistd function) argument passed is
|
||||
dnl 1) declared when using the c++ compiler
|
||||
dnl 2) has "C" linkage
|
||||
dnl
|
||||
dnl argument 1 is name of function to check
|
||||
dnl
|
||||
dnl ASSUMES argument is a function with ONE parameter
|
||||
dnl
|
||||
dnl GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1
|
||||
AC_DEFUN(GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1, [
|
||||
AC_MSG_CHECKING([for $1 declaration])
|
||||
if test x${glibcpp_cv_func_$1_use+set} != xset; then
|
||||
AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_TRY_COMPILE([#include <unistd.h>],
|
||||
[ $1(0);],
|
||||
[glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
fi
|
||||
AC_MSG_RESULT($glibcpp_cv_func_$1_use)
|
||||
if test x$glibcpp_cv_func_$1_use = x"yes"; then
|
||||
AC_CHECK_FUNCS($1)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Because the builtins are picky picky picky about the arguments they take,
|
||||
@ -707,7 +734,7 @@ AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
|
||||
|
||||
|
||||
dnl
|
||||
dnl Check to see what the underlying c library
|
||||
dnl Check to see what the underlying c library is like
|
||||
dnl These checks need to do two things:
|
||||
dnl 1) make sure the name is declared when using the c++ compiler
|
||||
dnl 2) make sure the name has "C" linkage
|
||||
@ -730,6 +757,25 @@ AC_DEFUN(GLIBCPP_CHECK_STDLIB_SUPPORT, [
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Check to see what the underlying c library is like
|
||||
dnl These checks need to do two things:
|
||||
dnl 1) make sure the name is declared when using the c++ compiler
|
||||
dnl 2) make sure the name has "C" linkage
|
||||
dnl This might seem like overkill but experience has shown that it's not...
|
||||
dnl
|
||||
dnl Define HAVE_ISATTY if "isatty" is declared and links
|
||||
dnl
|
||||
dnl GLIBCPP_CHECK_UNISTD_SUPPORT
|
||||
AC_DEFUN(GLIBCPP_CHECK_UNISTD_SUPPORT, [
|
||||
ac_test_CXXFLAGS="${CXXFLAGS+set}"
|
||||
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
|
||||
|
||||
GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1(isatty)
|
||||
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Check to see what the underlying c library or math library is like.
|
||||
@ -1185,6 +1231,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
CMESSAGES_CC=config/locale/generic/messages_members.cc
|
||||
CMONEY_CC=config/locale/generic/monetary_members.cc
|
||||
CNUMERIC_CC=config/locale/generic/numeric_members.cc
|
||||
CTIME_H=config/locale/generic/time_members.h
|
||||
CTIME_CC=config/locale/generic/time_members.cc
|
||||
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
|
||||
;;
|
||||
@ -1219,6 +1266,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
CMESSAGES_CC=config/locale/gnu/messages_members.cc
|
||||
CMONEY_CC=config/locale/gnu/monetary_members.cc
|
||||
CNUMERIC_CC=config/locale/gnu/numeric_members.cc
|
||||
CTIME_H=config/locale/gnu/time_members.h
|
||||
CTIME_CC=config/locale/gnu/time_members.cc
|
||||
CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
|
||||
;;
|
||||
@ -1235,6 +1283,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
|
||||
CMONEY_CC=config/locale/generic/monetary_members.cc
|
||||
CNUMERIC_CC=config/locale/generic/numeric_members.cc
|
||||
CTIME_H=config/locale/generic/time_members.h
|
||||
CTIME_CC=config/locale/generic/time_members.cc
|
||||
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
|
||||
;;
|
||||
@ -1256,6 +1305,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
AC_SUBST(CLOCALE_H)
|
||||
AC_SUBST(CCODECVT_H)
|
||||
AC_SUBST(CMESSAGES_H)
|
||||
AC_SUBST(CTIME_H)
|
||||
AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
|
||||
AC_LINK_FILES($CCODECVT_CC, src/codecvt_members.cc)
|
||||
AC_LINK_FILES($CCOLLATE_CC, src/collate_members.cc)
|
||||
@ -1885,11 +1935,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
|
||||
if test -n "$with_cross_host" &&
|
||||
test x"$with_cross_host" != x"no"; then
|
||||
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
|
||||
glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
|
||||
glibcpp_toolexeclibdir='$(toolexecdir)/lib'
|
||||
else
|
||||
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
|
||||
glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
|
||||
glibcpp_toolexeclibdir='$(libdir)'
|
||||
fi
|
||||
glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for install location])
|
||||
|
99
contrib/libstdc++/aclocal.m4
vendored
99
contrib/libstdc++/aclocal.m4
vendored
@ -1,4 +1,4 @@
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.4-p5
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.4-p6
|
||||
|
||||
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
@ -606,6 +606,33 @@ AC_DEFUN(GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3, [
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Check to see if the (unistd function) argument passed is
|
||||
dnl 1) declared when using the c++ compiler
|
||||
dnl 2) has "C" linkage
|
||||
dnl
|
||||
dnl argument 1 is name of function to check
|
||||
dnl
|
||||
dnl ASSUMES argument is a function with ONE parameter
|
||||
dnl
|
||||
dnl GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1
|
||||
AC_DEFUN(GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1, [
|
||||
AC_MSG_CHECKING([for $1 declaration])
|
||||
if test x${glibcpp_cv_func_$1_use+set} != xset; then
|
||||
AC_CACHE_VAL(glibcpp_cv_func_$1_use, [
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_TRY_COMPILE([#include <unistd.h>],
|
||||
[ $1(0);],
|
||||
[glibcpp_cv_func_$1_use=yes], [glibcpp_cv_func_$1_use=no])
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
fi
|
||||
AC_MSG_RESULT($glibcpp_cv_func_$1_use)
|
||||
if test x$glibcpp_cv_func_$1_use = x"yes"; then
|
||||
AC_CHECK_FUNCS($1)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Because the builtins are picky picky picky about the arguments they take,
|
||||
@ -719,7 +746,7 @@ AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
|
||||
|
||||
|
||||
dnl
|
||||
dnl Check to see what the underlying c library
|
||||
dnl Check to see what the underlying c library is like
|
||||
dnl These checks need to do two things:
|
||||
dnl 1) make sure the name is declared when using the c++ compiler
|
||||
dnl 2) make sure the name has "C" linkage
|
||||
@ -742,6 +769,25 @@ AC_DEFUN(GLIBCPP_CHECK_STDLIB_SUPPORT, [
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Check to see what the underlying c library is like
|
||||
dnl These checks need to do two things:
|
||||
dnl 1) make sure the name is declared when using the c++ compiler
|
||||
dnl 2) make sure the name has "C" linkage
|
||||
dnl This might seem like overkill but experience has shown that it's not...
|
||||
dnl
|
||||
dnl Define HAVE_ISATTY if "isatty" is declared and links
|
||||
dnl
|
||||
dnl GLIBCPP_CHECK_UNISTD_SUPPORT
|
||||
AC_DEFUN(GLIBCPP_CHECK_UNISTD_SUPPORT, [
|
||||
ac_test_CXXFLAGS="${CXXFLAGS+set}"
|
||||
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS='-fno-builtins -D_GNU_SOURCE'
|
||||
|
||||
GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1(isatty)
|
||||
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Check to see what the underlying c library or math library is like.
|
||||
@ -1197,6 +1243,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
CMESSAGES_CC=config/locale/generic/messages_members.cc
|
||||
CMONEY_CC=config/locale/generic/monetary_members.cc
|
||||
CNUMERIC_CC=config/locale/generic/numeric_members.cc
|
||||
CTIME_H=config/locale/generic/time_members.h
|
||||
CTIME_CC=config/locale/generic/time_members.cc
|
||||
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
|
||||
;;
|
||||
@ -1231,6 +1278,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
CMESSAGES_CC=config/locale/gnu/messages_members.cc
|
||||
CMONEY_CC=config/locale/gnu/monetary_members.cc
|
||||
CNUMERIC_CC=config/locale/gnu/numeric_members.cc
|
||||
CTIME_H=config/locale/gnu/time_members.h
|
||||
CTIME_CC=config/locale/gnu/time_members.cc
|
||||
CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
|
||||
;;
|
||||
@ -1247,6 +1295,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
|
||||
CMONEY_CC=config/locale/generic/monetary_members.cc
|
||||
CNUMERIC_CC=config/locale/generic/numeric_members.cc
|
||||
CTIME_H=config/locale/generic/time_members.h
|
||||
CTIME_CC=config/locale/generic/time_members.cc
|
||||
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
|
||||
;;
|
||||
@ -1268,6 +1317,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
|
||||
AC_SUBST(CLOCALE_H)
|
||||
AC_SUBST(CCODECVT_H)
|
||||
AC_SUBST(CMESSAGES_H)
|
||||
AC_SUBST(CTIME_H)
|
||||
AC_LINK_FILES($CLOCALE_CC, src/c++locale.cc)
|
||||
AC_LINK_FILES($CCODECVT_CC, src/codecvt_members.cc)
|
||||
AC_LINK_FILES($CCOLLATE_CC, src/collate_members.cc)
|
||||
@ -1897,11 +1947,12 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
|
||||
if test -n "$with_cross_host" &&
|
||||
test x"$with_cross_host" != x"no"; then
|
||||
glibcpp_toolexecdir='$(exec_prefix)/$(target_alias)'
|
||||
glibcpp_toolexeclibdir='$(toolexecdir)/lib$(MULTISUBDIR)'
|
||||
glibcpp_toolexeclibdir='$(toolexecdir)/lib'
|
||||
else
|
||||
glibcpp_toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
|
||||
glibcpp_toolexeclibdir='$(libdir)$(MULTISUBDIR)'
|
||||
glibcpp_toolexeclibdir='$(libdir)'
|
||||
fi
|
||||
glibcpp_toolexeclibdir=$glibcpp_toolexeclibdir/`$CC -print-multi-os-directory`
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for install location])
|
||||
@ -2224,7 +2275,7 @@ AC_MSG_RESULT($enable_symvers)
|
||||
])
|
||||
|
||||
|
||||
# isc-posix.m4 serial 1 (gettext-0.10.40)
|
||||
# isc-posix.m4 serial 2 (gettext-0.11.2)
|
||||
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
@ -2232,6 +2283,8 @@ dnl Public License, this file may be distributed as part of a program
|
||||
dnl that contains a configuration script generated by Autoconf, under
|
||||
dnl the same distribution terms as the rest of that program.
|
||||
|
||||
# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
|
||||
|
||||
# This test replaces the one in autoconf.
|
||||
# Currently this macro should have the same name as the autoconf macro
|
||||
# because gettext's gettext.m4 (distributed in the automake package)
|
||||
@ -2292,7 +2345,8 @@ dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
|
||||
AC_REQUIRE([AC_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
@ -2308,13 +2362,42 @@ AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
# Copyright 2002 Free Software Foundation, Inc.
|
||||
|
||||
# This program 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 program 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 program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
|
||||
# AM_AUTOMAKE_VERSION(VERSION)
|
||||
# ----------------------------
|
||||
# Automake X.Y traces this macro to ensure aclocal.m4 has been
|
||||
# generated from the m4 files accompanying Automake X.Y.
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"])
|
||||
|
||||
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
||||
# -------------------------------
|
||||
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.4-p6])])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
@ -6,9 +6,6 @@
|
||||
// Define if GCC supports weak symbols.
|
||||
#undef _GLIBCPP_SUPPORTS_WEAK
|
||||
|
||||
// Define if gthr-default.h exists (meaning that threading support is enabled).
|
||||
#undef HAVE_GTHR_DEFAULT
|
||||
|
||||
// Include I/O support for 'long long' and 'unsigned long long'.
|
||||
#undef _GLIBCPP_USE_LONG_LONG
|
||||
|
||||
@ -38,6 +35,9 @@
|
||||
#define _GLIBCPP_ASM_SYMVER(cur, old, version)
|
||||
#endif
|
||||
|
||||
// Define if gthr-default.h exists (meaning that threading support is enabled).
|
||||
#undef HAVE_GTHR_DEFAULT
|
||||
|
||||
// Define if mbstate_t exists in wchar.h.
|
||||
#undef HAVE_MBSTATE_T
|
||||
|
||||
@ -449,6 +449,9 @@
|
||||
/* Define if you have the iconv_open function. */
|
||||
#undef HAVE_ICONV_OPEN
|
||||
|
||||
/* Define if you have the isatty function. */
|
||||
#undef HAVE_ISATTY
|
||||
|
||||
/* Define if you have the isinf function. */
|
||||
#undef HAVE_ISINF
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
## Linker script for GNU ld 2.11.94+ only.
|
||||
##
|
||||
## Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
## Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||
##
|
||||
## This file is part of the libstdc++ version 3 distribution.
|
||||
##
|
||||
@ -50,7 +50,14 @@ GLIBCPP_3.2 {
|
||||
std::[A-Zd-k]*;
|
||||
std::length_error*;
|
||||
std::logic_error*;
|
||||
std::locale::[A-Za-z]*;
|
||||
std::locale::[A-Za-e]*;
|
||||
std::locale::facet::[A-Za-z]*;
|
||||
std::locale::facet::_M*;
|
||||
std::locale::facet::_S_c_locale;
|
||||
std::locale::facet::_S_clone_c_locale*;
|
||||
std::locale::facet::_S_create_c_locale*;
|
||||
std::locale::facet::_S_destroy_c_locale*;
|
||||
std::locale::[A-Zg-z]*;
|
||||
std::locale::_[A-Ra-z]*;
|
||||
std::locale::_S_classic;
|
||||
std::locale::_S_global;
|
||||
@ -99,6 +106,9 @@ GLIBCPP_3.2 {
|
||||
|
||||
# std::locale destructors
|
||||
_ZNSt6localeD*;
|
||||
|
||||
# std::locale::facet destructors
|
||||
_ZNSt6locale5facetD*;
|
||||
|
||||
# std::codecvt<char> members.
|
||||
_ZNKSt7codecvtIcc11__mbstate_tE*;
|
||||
@ -204,8 +214,6 @@ GLIBCPP_3.2.1 {
|
||||
_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_;
|
||||
_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_;
|
||||
|
||||
_ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE;
|
||||
|
||||
# stub functions from libmath
|
||||
sinf;
|
||||
sinl;
|
||||
@ -242,11 +250,41 @@ GLIBCPP_3.2.1 {
|
||||
|
||||
} GLIBCPP_3.2;
|
||||
|
||||
GLIBCPP_3.2.2 {
|
||||
|
||||
_ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE;
|
||||
|
||||
} GLIBCPP_3.2.1;
|
||||
|
||||
|
||||
# Symbols in the support library (libsupc++) have their own tag.
|
||||
CXXABI_1.2 {
|
||||
|
||||
global:
|
||||
__cxa_*;
|
||||
__cxa_allocate_exception;
|
||||
__cxa_bad_cast;
|
||||
__cxa_bad_typeid;
|
||||
__cxa_begin_catch;
|
||||
__cxa_call_unexpected;
|
||||
__cxa_current_exception_type;
|
||||
__cxa_demangle;
|
||||
__cxa_end_catch;
|
||||
__cxa_free_exception;
|
||||
__cxa_get_globals;
|
||||
__cxa_get_globals_fast;
|
||||
__cxa_pure_virtual;
|
||||
__cxa_rethrow;
|
||||
__cxa_throw;
|
||||
__cxa_vec_cctor;
|
||||
__cxa_vec_cleanup;
|
||||
__cxa_vec_ctor;
|
||||
__cxa_vec_delete2;
|
||||
__cxa_vec_delete3;
|
||||
__cxa_vec_delete;
|
||||
__cxa_vec_dtor;
|
||||
__cxa_vec_new2;
|
||||
__cxa_vec_new3;
|
||||
__cxa_vec_new;
|
||||
__gxx_personality_v0;
|
||||
__gxx_personality_sj0;
|
||||
__dynamic_cast;
|
||||
@ -254,6 +292,26 @@ CXXABI_1.2 {
|
||||
# __gnu_cxx::_verbose_terminate_handler()
|
||||
_ZN9__gnu_cxx27__verbose_terminate_handlerEv;
|
||||
|
||||
# XXX Should not be exported.
|
||||
__cxa_dyn_string_append_char;
|
||||
__cxa_dyn_string_append_cstr;
|
||||
__cxa_dyn_string_append;
|
||||
__cxa_dyn_string_clear;
|
||||
__cxa_dyn_string_copy_cstr;
|
||||
__cxa_dyn_string_copy;
|
||||
__cxa_dyn_string_delete;
|
||||
__cxa_dyn_string_eq;
|
||||
__cxa_dyn_string_init;
|
||||
__cxa_dyn_string_insert_char;
|
||||
__cxa_dyn_string_insert_cstr;
|
||||
__cxa_dyn_string_insert;
|
||||
__cxa_dyn_string_new;
|
||||
__cxa_dyn_string_prepend_cstr;
|
||||
__cxa_dyn_string_prepend;
|
||||
__cxa_dyn_string_release;
|
||||
__cxa_dyn_string_resize;
|
||||
__cxa_dyn_string_substring;
|
||||
|
||||
local:
|
||||
*;
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
// std::messages implementation details, generic version -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2001, 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
|
||||
@ -34,6 +34,16 @@
|
||||
// Written by Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
// Non-virtual member functions.
|
||||
template<typename _CharT>
|
||||
messages<_CharT>::messages(size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{ _M_c_locale_messages = _S_c_locale; }
|
||||
|
||||
template<typename _CharT>
|
||||
messages<_CharT>::messages(__c_locale __cloc, const char*, size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{ _M_c_locale_messages = _S_c_locale; }
|
||||
|
||||
template<typename _CharT>
|
||||
typename messages<_CharT>::catalog
|
||||
messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
|
||||
@ -41,6 +51,10 @@
|
||||
{ return this->do_open(__s, __loc); }
|
||||
|
||||
// Virtual member functions.
|
||||
template<typename _CharT>
|
||||
messages<_CharT>::~messages()
|
||||
{ _S_destroy_c_locale(_M_c_locale_messages); }
|
||||
|
||||
template<typename _CharT>
|
||||
typename messages<_CharT>::catalog
|
||||
messages<_CharT>::do_open(const basic_string<char>&, const locale&) const
|
||||
@ -56,3 +70,12 @@
|
||||
void
|
||||
messages<_CharT>::do_close(catalog) const
|
||||
{ }
|
||||
|
||||
// messages_byname
|
||||
template<typename _CharT>
|
||||
messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
|
||||
: messages<_CharT>(__refs)
|
||||
{
|
||||
_S_destroy_c_locale(_M_c_locale_messages);
|
||||
_S_create_c_locale(_M_c_locale_messages, __s);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
|
||||
// std::time_get, std::time_put implementation, generic version -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
//
|
||||
@ -56,8 +56,8 @@ namespace std
|
||||
__timepunct<char>::_M_initialize_timepunct(__c_locale)
|
||||
{
|
||||
// "C" locale
|
||||
_M_date_format = "%m/%d/%Y";
|
||||
_M_date_era_format = "%m/%d/%Y";
|
||||
_M_date_format = "%m/%d/%y";
|
||||
_M_date_era_format = "%m/%d/%y";
|
||||
_M_time_format = "%H:%M:%S";
|
||||
_M_time_era_format = "%H:%M:%S";
|
||||
_M_date_time_format = "";
|
||||
|
61
contrib/libstdc++/config/locale/generic/time_members.h
Normal file
61
contrib/libstdc++/config/locale/generic/time_members.h
Normal file
@ -0,0 +1,61 @@
|
||||
// std::time_get, std::time_put implementation, generic version -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// 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.2.5.1.2 - time_get functions
|
||||
// ISO C++ 14882: 22.2.5.3.2 - time_put functions
|
||||
//
|
||||
|
||||
// Written by Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
template<typename _CharT>
|
||||
__timepunct<_CharT>::__timepunct(size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
_M_name_timepunct = _S_c_name;
|
||||
_M_initialize_timepunct();
|
||||
}
|
||||
|
||||
template<typename _CharT>
|
||||
__timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
|
||||
size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
_M_name_timepunct = new char[strlen(__s) + 1];
|
||||
strcpy(_M_name_timepunct, __s);
|
||||
_M_initialize_timepunct(__cloc);
|
||||
}
|
||||
|
||||
template<typename _CharT>
|
||||
__timepunct<_CharT>::~__timepunct()
|
||||
{
|
||||
if (_S_c_name != _M_name_timepunct)
|
||||
delete [] _M_name_timepunct;
|
||||
_S_destroy_c_locale(_M_c_locale_timepunct);
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
// std::messages implementation details, GNU version -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2001, 2002, 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
|
||||
@ -28,12 +28,34 @@
|
||||
// the GNU General Public License.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
|
||||
// ISO C++ 14882: 22.2.7.1.2 messages functions
|
||||
//
|
||||
|
||||
// Written by Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
// Non-virtual member functions.
|
||||
template<typename _CharT>
|
||||
messages<_CharT>::messages(size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
|
||||
_M_name_messages = _S_c_name;
|
||||
#endif
|
||||
_M_c_locale_messages = _S_c_locale;
|
||||
}
|
||||
|
||||
template<typename _CharT>
|
||||
messages<_CharT>::messages(__c_locale __cloc,
|
||||
const char* __s, size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
|
||||
_M_name_messages = new char[strlen(__s) + 1];
|
||||
strcpy(_M_name_messages, __s);
|
||||
#endif
|
||||
_M_c_locale_messages = _S_clone_c_locale(__cloc);
|
||||
}
|
||||
|
||||
template<typename _CharT>
|
||||
typename messages<_CharT>::catalog
|
||||
messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
|
||||
@ -43,6 +65,17 @@
|
||||
return this->do_open(__s, __loc);
|
||||
}
|
||||
|
||||
// Virtual member functions.
|
||||
template<typename _CharT>
|
||||
messages<_CharT>::~messages()
|
||||
{
|
||||
#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
|
||||
if (_S_c_name != _M_name_messages)
|
||||
delete [] _M_name_messages;
|
||||
#endif
|
||||
_S_destroy_c_locale(_M_c_locale_messages);
|
||||
}
|
||||
|
||||
template<typename _CharT>
|
||||
typename messages<_CharT>::catalog
|
||||
messages<_CharT>::do_open(const basic_string<char>& __s,
|
||||
@ -58,3 +91,18 @@
|
||||
void
|
||||
messages<_CharT>::do_close(catalog) const
|
||||
{ }
|
||||
|
||||
// messages_byname
|
||||
template<typename _CharT>
|
||||
messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
|
||||
: messages<_CharT>(__refs)
|
||||
{
|
||||
#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
|
||||
if (_S_c_name != _M_name_messages)
|
||||
delete [] _M_name_messages;
|
||||
_M_name_messages = new char[strlen(__s) + 1];
|
||||
strcpy(_M_name_messages, __s);
|
||||
#endif
|
||||
_S_destroy_c_locale(_M_c_locale_messages);
|
||||
_S_create_c_locale(_M_c_locale_messages, __s);
|
||||
}
|
||||
|
67
contrib/libstdc++/config/locale/gnu/time_members.h
Normal file
67
contrib/libstdc++/config/locale/gnu/time_members.h
Normal file
@ -0,0 +1,67 @@
|
||||
// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
// 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.2.5.1.2 - time_get functions
|
||||
// ISO C++ 14882: 22.2.5.3.2 - time_put functions
|
||||
//
|
||||
|
||||
// Written by Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
template<typename _CharT>
|
||||
__timepunct<_CharT>::__timepunct(size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
|
||||
_M_name_timepunct = _S_c_name;
|
||||
#endif
|
||||
_M_initialize_timepunct();
|
||||
}
|
||||
|
||||
template<typename _CharT>
|
||||
__timepunct<_CharT>::__timepunct(__c_locale __cloc,
|
||||
const char* __s, size_t __refs)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
|
||||
_M_name_timepunct = new char[strlen(__s) + 1];
|
||||
strcpy(_M_name_timepunct, __s);
|
||||
#endif
|
||||
_M_initialize_timepunct(__cloc);
|
||||
}
|
||||
|
||||
template<typename _CharT>
|
||||
__timepunct<_CharT>::~__timepunct()
|
||||
{
|
||||
#if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2))
|
||||
if (_S_c_name != _M_name_timepunct)
|
||||
delete [] _M_name_timepunct;
|
||||
#endif
|
||||
_S_destroy_c_locale(_M_c_locale_timepunct);
|
||||
}
|
2472
contrib/libstdc++/configure
vendored
2472
contrib/libstdc++/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@ ORIGINAL_LD_FOR_MULTILIBS=$LD
|
||||
PACKAGE=libstdc++
|
||||
AC_SUBST(PACKAGE)
|
||||
# For libtool versioning info, format is CURRENT:REVISION:AGE
|
||||
libtool_VERSION=5:1:0
|
||||
libtool_VERSION=5:2:0
|
||||
AC_SUBST(libtool_VERSION)
|
||||
|
||||
GLIBCPP_TOPREL_CONFIGURE
|
||||
@ -279,6 +279,7 @@ else
|
||||
GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
|
||||
GLIBCPP_CHECK_WCHAR_T_SUPPORT
|
||||
GLIBCPP_CHECK_STDLIB_SUPPORT
|
||||
GLIBCPP_CHECK_UNISTD_SUPPORT
|
||||
AC_LC_MESSAGES
|
||||
|
||||
AC_TRY_COMPILE([
|
||||
|
@ -320,6 +320,7 @@ target_headers_extra = \
|
||||
${target_builddir}/c++io.h \
|
||||
${target_builddir}/c++locale.h \
|
||||
${target_builddir}/messages_members.h \
|
||||
${target_builddir}/time_members.h \
|
||||
${target_builddir}/codecvt_specializations.h
|
||||
|
||||
thread_target_headers = \
|
||||
@ -409,6 +410,7 @@ ${target_builddir}/stamp-target: ${target_headers} stamp-${target_alias}
|
||||
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true ;\
|
||||
echo `date` > stamp-target; \
|
||||
fi
|
||||
@ -465,32 +467,32 @@ ${target_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcpp_thread_h} \
|
||||
# the rest are taken from the original source tree.
|
||||
gxx_include_dir = @gxx_include_dir@
|
||||
install-data-local:
|
||||
$(mkinstalldirs) ${gxx_include_dir}
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${bits_builddir}
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
|
||||
for file in ${bits_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${bits_builddir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${backward_builddir}
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
|
||||
for file in ${backward_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${backward_builddir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${ext_builddir}
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
|
||||
for file in ${ext_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${c_base_builddir}
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
|
||||
for file in ${c_base_headers_rename}; do \
|
||||
$(INSTALL_DATA) ${c_base_builddir}/$${file} ${gxx_include_dir}; done
|
||||
$(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
|
||||
c_base_headers_extra_install='$(c_base_headers_extra)';\
|
||||
for file in $$c_base_headers_extra_install; do \
|
||||
$(INSTALL_DATA) $$file ${gxx_include_dir}/${bits_builddir}; done
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
|
||||
c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
|
||||
for file in $$c_compatibility_headers_install; do \
|
||||
$(INSTALL_DATA) $$file ${gxx_include_dir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${std_builddir}
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
|
||||
for file in ${std_headers_rename}; do \
|
||||
$(INSTALL_DATA) ${std_builddir}/$${file} ${gxx_include_dir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${target_builddir}
|
||||
$(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${target_builddir}
|
||||
for file in ${target_headers} ${target_headers_extra} \
|
||||
${thread_target_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${target_builddir}; done
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${target_builddir}; done
|
||||
|
||||
# By adding these files here, automake will remove them for 'make clean'
|
||||
#CLEANFILES = ${allstamps}
|
||||
|
@ -76,6 +76,7 @@ CMESSAGES_H = @CMESSAGES_H@
|
||||
CPP = @CPP@
|
||||
CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@
|
||||
CSTDIO_H = @CSTDIO_H@
|
||||
CTIME_H = @CTIME_H@
|
||||
CXXCPP = @CXXCPP@
|
||||
C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
||||
DEBUG_FLAGS = @DEBUG_FLAGS@
|
||||
@ -424,6 +425,7 @@ target_headers_extra = \
|
||||
${target_builddir}/c++io.h \
|
||||
${target_builddir}/c++locale.h \
|
||||
${target_builddir}/messages_members.h \
|
||||
${target_builddir}/time_members.h \
|
||||
${target_builddir}/codecvt_specializations.h
|
||||
|
||||
|
||||
@ -630,6 +632,7 @@ ${target_builddir}/stamp-target: ${target_headers} stamp-${target_alias}
|
||||
@LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CMESSAGES_H@ messages_members.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CTIME_H@ time_members.h || true ;\
|
||||
@LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true ;\
|
||||
echo `date` > stamp-target; \
|
||||
fi
|
||||
@ -672,32 +675,32 @@ ${target_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcpp_thread_h} \
|
||||
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
|
||||
< ${toplevel_srcdir}/gcc/${glibcpp_thread_h} > $@
|
||||
install-data-local:
|
||||
$(mkinstalldirs) ${gxx_include_dir}
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${bits_builddir}
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
|
||||
for file in ${bits_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${bits_builddir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${backward_builddir}
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
|
||||
for file in ${backward_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${backward_builddir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${ext_builddir}
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
|
||||
for file in ${ext_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${ext_builddir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${c_base_builddir}
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
|
||||
for file in ${c_base_headers_rename}; do \
|
||||
$(INSTALL_DATA) ${c_base_builddir}/$${file} ${gxx_include_dir}; done
|
||||
$(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
|
||||
c_base_headers_extra_install='$(c_base_headers_extra)';\
|
||||
for file in $$c_base_headers_extra_install; do \
|
||||
$(INSTALL_DATA) $$file ${gxx_include_dir}/${bits_builddir}; done
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
|
||||
c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
|
||||
for file in $$c_compatibility_headers_install; do \
|
||||
$(INSTALL_DATA) $$file ${gxx_include_dir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${std_builddir}
|
||||
$(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
|
||||
for file in ${std_headers_rename}; do \
|
||||
$(INSTALL_DATA) ${std_builddir}/$${file} ${gxx_include_dir}; done
|
||||
$(mkinstalldirs) ${gxx_include_dir}/${target_builddir}
|
||||
$(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
|
||||
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${target_builddir}
|
||||
for file in ${target_headers} ${target_headers_extra} \
|
||||
${thread_target_headers}; do \
|
||||
$(INSTALL_DATA) $${file} ${gxx_include_dir}/${target_builddir}; done
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${target_builddir}; done
|
||||
|
||||
# By adding these files here, automake will remove them for 'make clean'
|
||||
#CLEANFILES = ${allstamps}
|
||||
|
@ -53,10 +53,6 @@ using std::__debug_alloc;
|
||||
using std::__alloc;
|
||||
using std::__single_client_alloc;
|
||||
using std::allocator;
|
||||
#ifdef __USE_MALLOC
|
||||
using std::malloc_alloc;
|
||||
#else
|
||||
using std::__default_alloc_template;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include <bits/os_defines.h>
|
||||
|
||||
// The current version of the C++ library in compressed ISO date format.
|
||||
#define __GLIBCPP__ 20021119
|
||||
#define __GLIBCPP__ 20030205
|
||||
|
||||
// This is necessary until GCC supports separate template
|
||||
// compilation.
|
||||
@ -74,13 +74,8 @@
|
||||
// so, please report any possible issues to libstdc++@gcc.gnu.org .
|
||||
// Do not define __USE_MALLOC on the command line. Enforce it here:
|
||||
#ifdef __USE_MALLOC
|
||||
#error __USE_MALLOC should only be defined within \
|
||||
libstdc++-v3/include/bits/c++config before full recompilation of the library.
|
||||
#error __USE_MALLOC should never be defined. Read the release notes.
|
||||
#endif
|
||||
// Define __USE_MALLOC after this point in the file in order to aid debugging
|
||||
// or globally change allocation policy. This breaks the ABI, thus
|
||||
// completely recompile the library. A patch to better support
|
||||
// changing the global allocator policy would be probably be accepted.
|
||||
|
||||
// The remainder of the prewritten config is mostly automatic; all the
|
||||
// user hooks are listed above.
|
||||
|
@ -1,6 +1,6 @@
|
||||
// File based streams -*- C++ -*-
|
||||
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
@ -461,10 +461,7 @@ namespace std
|
||||
bool __testbeg = gptr() == eback() && pptr() == pbase();
|
||||
|
||||
if (__testbeg && _M_buf_locale != __loc)
|
||||
{
|
||||
_M_buf_locale = __loc;
|
||||
_M_buf_locale_init = true;
|
||||
}
|
||||
_M_buf_locale = __loc;
|
||||
|
||||
// NB this may require the reconversion of previously
|
||||
// converted chars. This in turn may cause the reconstruction
|
||||
|
@ -1011,22 +1011,10 @@ namespace std
|
||||
|
||||
public:
|
||||
explicit
|
||||
__timepunct(size_t __refs = 0)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
_M_name_timepunct = new char[2];
|
||||
strcpy(_M_name_timepunct, "C");
|
||||
_M_initialize_timepunct();
|
||||
}
|
||||
__timepunct(size_t __refs = 0);
|
||||
|
||||
explicit
|
||||
__timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
_M_name_timepunct = new char[strlen(__s) + 1];
|
||||
strcpy(_M_name_timepunct, __s);
|
||||
_M_initialize_timepunct(__cloc);
|
||||
}
|
||||
__timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
|
||||
|
||||
void
|
||||
_M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
|
||||
@ -1123,11 +1111,7 @@ namespace std
|
||||
|
||||
protected:
|
||||
virtual
|
||||
~__timepunct()
|
||||
{
|
||||
delete [] _M_name_timepunct;
|
||||
_S_destroy_c_locale(_M_c_locale_timepunct);
|
||||
}
|
||||
~__timepunct();
|
||||
|
||||
// For use at construction time only.
|
||||
void
|
||||
@ -1169,6 +1153,8 @@ namespace std
|
||||
template<typename _CharT>
|
||||
const _CharT* __timepunct<_CharT>::_S_timezones[14];
|
||||
|
||||
// Include host and configuration specific timepunct functions.
|
||||
#include <bits/time_members.h>
|
||||
|
||||
template<typename _CharT, typename _InIter>
|
||||
class time_get : public locale::facet, public time_base
|
||||
@ -1628,32 +1614,17 @@ namespace std
|
||||
// Underlying "C" library locale information saved from
|
||||
// initialization, needed by messages_byname as well.
|
||||
__c_locale _M_c_locale_messages;
|
||||
#if 1
|
||||
// Only needed if glibc < 2.3
|
||||
char* _M_name_messages;
|
||||
#endif
|
||||
|
||||
public:
|
||||
static locale::id id;
|
||||
|
||||
explicit
|
||||
messages(size_t __refs = 0)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
_M_name_messages = new char[2];
|
||||
strcpy(_M_name_messages, "C");
|
||||
_M_c_locale_messages = _S_c_locale;
|
||||
}
|
||||
messages(size_t __refs = 0);
|
||||
|
||||
// Non-standard.
|
||||
explicit
|
||||
messages(__c_locale __cloc, const char* __s, size_t __refs = 0)
|
||||
: locale::facet(__refs)
|
||||
{
|
||||
_M_name_messages = new char[strlen(__s) + 1];
|
||||
strcpy(_M_name_messages, __s);
|
||||
_M_c_locale_messages = _S_clone_c_locale(__cloc);
|
||||
}
|
||||
messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
|
||||
|
||||
catalog
|
||||
open(const basic_string<char>& __s, const locale& __loc) const
|
||||
@ -1673,11 +1644,7 @@ namespace std
|
||||
|
||||
protected:
|
||||
virtual
|
||||
~messages()
|
||||
{
|
||||
delete [] _M_name_messages;
|
||||
_S_destroy_c_locale(_M_c_locale_messages);
|
||||
}
|
||||
~messages();
|
||||
|
||||
virtual catalog
|
||||
do_open(const basic_string<char>&, const locale&) const;
|
||||
@ -1751,9 +1718,6 @@ namespace std
|
||||
messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
|
||||
#endif
|
||||
|
||||
// Include host and configuration specific messages virtual functions.
|
||||
#include <bits/messages_members.h>
|
||||
|
||||
template<typename _CharT>
|
||||
class messages_byname : public messages<_CharT>
|
||||
{
|
||||
@ -1762,15 +1726,7 @@ namespace std
|
||||
typedef basic_string<_CharT> string_type;
|
||||
|
||||
explicit
|
||||
messages_byname(const char* __s, size_t __refs = 0)
|
||||
: messages<_CharT>(__refs)
|
||||
{
|
||||
delete [] _M_name_messages;
|
||||
_M_name_messages = new char[strlen(__s) + 1];
|
||||
strcpy(_M_name_messages, __s);
|
||||
_S_destroy_c_locale(_M_c_locale_messages);
|
||||
_S_create_c_locale(_M_c_locale_messages, __s);
|
||||
}
|
||||
messages_byname(const char* __s, size_t __refs = 0);
|
||||
|
||||
protected:
|
||||
virtual
|
||||
@ -1778,6 +1734,9 @@ namespace std
|
||||
{ }
|
||||
};
|
||||
|
||||
// Include host and configuration specific messages functions.
|
||||
#include <bits/messages_members.h>
|
||||
|
||||
|
||||
// Subclause convenience interfaces, inlines.
|
||||
// NB: These are inline because, when used in a loop, some compilers
|
||||
|
@ -622,9 +622,14 @@ namespace std
|
||||
_M_convert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
|
||||
_ValueT __v) const
|
||||
{
|
||||
// Note: digits10 is rounded down. We need to add 1 to ensure
|
||||
// Note: digits10 is rounded down: we need to add 1 to ensure
|
||||
// we get the full available precision.
|
||||
const int __max_digits = numeric_limits<_ValueT>::digits10 + 1;
|
||||
// Then, in general, one more 1 needs to be added since, when the
|
||||
// %{g,G} conversion specifiers are chosen inside _S_format_float, the
|
||||
// precision field is "the maximum number of significant digits", *not*
|
||||
// the "number of digits to appear after the decimal point", as happens
|
||||
// for %{e,E,f,F} (C99, 7.19.6.1,4).
|
||||
const int __max_digits = numeric_limits<_ValueT>::digits10 + 2;
|
||||
streamsize __prec = __io.precision();
|
||||
|
||||
if (__prec > static_cast<streamsize>(__max_digits))
|
||||
@ -1628,7 +1633,7 @@ namespace std
|
||||
// Find smallest matching string.
|
||||
size_t __minlen = 10;
|
||||
for (size_t __i2 = 0; __i2 < __nmatches; ++__i2)
|
||||
__minlen = min(__minlen,
|
||||
__minlen = min(__minlen,
|
||||
__traits_type::length(__names[__matches[__i2]]));
|
||||
|
||||
if (__pos < __minlen && __beg != __end)
|
||||
|
@ -264,7 +264,7 @@ namespace std
|
||||
// The "C" reference locale
|
||||
static _Impl* _S_classic;
|
||||
|
||||
// Current global reference locale
|
||||
// Current global locale
|
||||
static _Impl* _S_global;
|
||||
|
||||
// Number of standard categories. For C++, these categories are
|
||||
@ -419,10 +419,13 @@ namespace std
|
||||
_Atomic_word _M_references;
|
||||
|
||||
protected:
|
||||
// Contains data from the underlying "C" library for default "C"
|
||||
// or "POSIX" locale.
|
||||
static __c_locale _S_c_locale;
|
||||
|
||||
// Contains data from the underlying "C" library for for the
|
||||
// classic locale.
|
||||
static __c_locale _S_c_locale;
|
||||
|
||||
// String literal for the name of the classic locale.
|
||||
static char _S_c_name[2];
|
||||
|
||||
explicit
|
||||
facet(size_t __refs = 0) throw();
|
||||
|
||||
|
@ -120,7 +120,8 @@ namespace std
|
||||
inline slice_array<_Tp>&
|
||||
slice_array<_Tp>::operator=(const slice_array<_Tp>& __a)
|
||||
{
|
||||
__valarray_copy(_M_array, _M_sz, _M_stride, __a._M_array, __a._M_stride);
|
||||
__valarray_copy(__a._M_array, __a._M_sz, __a._M_stride,
|
||||
_M_array, _M_stride);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -611,7 +611,9 @@ template <typename _Alloc>
|
||||
}
|
||||
|
||||
void reserve(size_type __n) {
|
||||
if (capacity() < __n) {
|
||||
if (__n > this->max_size())
|
||||
__throw_length_error("vector::reserve");
|
||||
if (this->capacity() < __n) {
|
||||
_Bit_type * __q = _M_bit_alloc(__n);
|
||||
_M_finish = copy(begin(), end(), iterator(__q, 0));
|
||||
_M_deallocate();
|
||||
|
@ -391,7 +391,9 @@ class vector : protected _Vector_base<_Tp, _Alloc>
|
||||
* reallocation of memory and copy of vector data.
|
||||
*/
|
||||
void reserve(size_type __n) {
|
||||
if (capacity() < __n) {
|
||||
if (__n > this->max_size())
|
||||
__throw_length_error("vector::reserve");
|
||||
if (this->capacity() < __n) {
|
||||
const size_type __old_size = size();
|
||||
pointer __tmp = _M_allocate_and_copy(__n, _M_start, _M_finish);
|
||||
_Destroy(_M_start, _M_finish);
|
||||
|
@ -69,7 +69,7 @@ namespace std
|
||||
bool __testpos = _M_in_cur && _M_in_beg < _M_in_cur;
|
||||
bool __testne = _M_in_cur && !traits_type::eq(__c, this->gptr()[-1]);
|
||||
if (!__testpos || __testne)
|
||||
__ret = pbackfail(traits_type::to_int_type(__c));
|
||||
__ret = this->pbackfail(traits_type::to_int_type(__c));
|
||||
else
|
||||
{
|
||||
_M_in_cur_move(-1);
|
||||
@ -209,7 +209,8 @@ namespace std
|
||||
{
|
||||
while (__testput && __bufsize != -1)
|
||||
{
|
||||
if (__bufsize != 0 && __sbin->gptr() != NULL)
|
||||
if (__bufsize != 0 && __sbin->gptr() != NULL
|
||||
&& __sbin->gptr() + __bufsize <= __sbin->egptr())
|
||||
{
|
||||
__xtrct = __sbout->sputn(__sbin->gptr(), __bufsize);
|
||||
__ret += __xtrct;
|
||||
@ -219,8 +220,11 @@ namespace std
|
||||
}
|
||||
else
|
||||
{
|
||||
_CharT __buf[256];
|
||||
streamsize __charsread = __sbin->sgetn(__buf, sizeof(__buf));
|
||||
size_t __size =
|
||||
__sbin->_M_buf_size_opt > 0 ? __sbin->_M_buf_size_opt : 1;
|
||||
_CharT* __buf =
|
||||
static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __size));
|
||||
streamsize __charsread = __sbin->sgetn(__buf, __size);
|
||||
__xtrct = __sbout->sputn(__buf, __charsread);
|
||||
__ret += __xtrct;
|
||||
if (__xtrct != __charsread)
|
||||
|
@ -1,6 +1,6 @@
|
||||
// File based streams -*- C++ -*-
|
||||
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
@ -141,10 +141,10 @@ namespace std
|
||||
_M_underflow_common(bool __bump);
|
||||
|
||||
virtual int_type
|
||||
underflow() { return _M_underflow_common(false); }
|
||||
underflow();
|
||||
|
||||
virtual int_type
|
||||
uflow() { return _M_underflow_common(true); }
|
||||
uflow();
|
||||
|
||||
virtual int_type
|
||||
pbackfail(int_type __c = _Traits::eof());
|
||||
@ -297,6 +297,18 @@ namespace std
|
||||
basic_filebuf<wchar_t>::_M_underflow_common(bool __bump);
|
||||
#endif
|
||||
|
||||
// Generic definitions.
|
||||
template <typename _CharT, typename _Traits>
|
||||
basic_filebuf<_CharT, _Traits>::int_type
|
||||
basic_filebuf<_CharT, _Traits>::underflow()
|
||||
{ return _M_underflow_common(false); }
|
||||
|
||||
template <typename _CharT, typename _Traits>
|
||||
basic_filebuf<_CharT, _Traits>::int_type
|
||||
basic_filebuf<_CharT, _Traits>::uflow()
|
||||
{ return _M_underflow_common(true); }
|
||||
|
||||
|
||||
// 27.8.1.5 Template class basic_ifstream
|
||||
/**
|
||||
* Derivation of general input streams, specific to files.
|
||||
|
@ -1,6 +1,6 @@
|
||||
// Stream buffer classes -*- C++ -*-
|
||||
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
@ -243,7 +243,6 @@ namespace std
|
||||
_M_buf_size = 0;
|
||||
_M_buf_size_opt = 0;
|
||||
_M_mode = ios_base::openmode(0);
|
||||
_M_buf_locale_init = false;
|
||||
}
|
||||
|
||||
// Locales:
|
||||
@ -257,12 +256,7 @@ namespace std
|
||||
|
||||
locale
|
||||
getloc() const
|
||||
{
|
||||
if (_M_buf_locale_init)
|
||||
return _M_buf_locale;
|
||||
else
|
||||
return locale();
|
||||
}
|
||||
{ return _M_buf_locale; }
|
||||
|
||||
// Buffer and positioning:
|
||||
__streambuf_type*
|
||||
@ -351,7 +345,7 @@ namespace std
|
||||
_M_buf_unified(false), _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
|
||||
_M_out_beg(0), _M_out_cur(0), _M_out_end(0),
|
||||
_M_mode(ios_base::openmode(0)), _M_buf_locale(locale()),
|
||||
_M_buf_locale_init(false), _M_pback_cur_save(0), _M_pback_end_save(0),
|
||||
_M_pback_cur_save(0), _M_pback_end_save(0),
|
||||
_M_pback_init(false)
|
||||
{ }
|
||||
|
||||
@ -405,7 +399,6 @@ namespace std
|
||||
virtual void
|
||||
imbue(const locale& __loc)
|
||||
{
|
||||
_M_buf_locale_init = true;
|
||||
if (_M_buf_locale != __loc)
|
||||
_M_buf_locale = __loc;
|
||||
}
|
||||
|
@ -76,6 +76,7 @@ CMESSAGES_H = @CMESSAGES_H@
|
||||
CPP = @CPP@
|
||||
CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@
|
||||
CSTDIO_H = @CSTDIO_H@
|
||||
CTIME_H = @CTIME_H@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
||||
|
@ -75,6 +75,7 @@ CMESSAGES_H = @CMESSAGES_H@
|
||||
CPP = @CPP@
|
||||
CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@
|
||||
CSTDIO_H = @CSTDIO_H@
|
||||
CTIME_H = @CTIME_H@
|
||||
CXXCPP = @CXXCPP@
|
||||
C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
||||
DEBUG_FLAGS = @DEBUG_FLAGS@
|
||||
|
@ -1,5 +1,5 @@
|
||||
// -*- C++ -*- The GNU C++ exception personality routine.
|
||||
// Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of GNU CC.
|
||||
//
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Methods for type_info for -*- C++ -*- Run Time Type Identification.
|
||||
// Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001, 2002
|
||||
// Copyright (C) 1994, 1996, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
// Free Software Foundation
|
||||
//
|
||||
// This file is part of GNU CC.
|
||||
@ -465,8 +465,9 @@ __do_dyncast (ptrdiff_t src2dst,
|
||||
result.whole2dst =
|
||||
__sub_kind (result.whole2dst | result2.whole2dst);
|
||||
}
|
||||
else if ((result.dst_ptr != 0 | result_ambig)
|
||||
&& (result2.dst_ptr != 0 | result2_ambig))
|
||||
else if ((result.dst_ptr != 0 & result2.dst_ptr != 0)
|
||||
|| (result.dst_ptr != 0 & result2_ambig)
|
||||
|| (result2.dst_ptr != 0 & result_ambig))
|
||||
{
|
||||
// Found two different DST_TYPE bases, or a valid one and a set of
|
||||
// ambiguous ones, must disambiguate. See whether SRC_PTR is
|
||||
|
@ -75,6 +75,7 @@ CMESSAGES_H = @CMESSAGES_H@
|
||||
CPP = @CPP@
|
||||
CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@
|
||||
CSTDIO_H = @CSTDIO_H@
|
||||
CTIME_H = @CTIME_H@
|
||||
CXXCPP = @CXXCPP@
|
||||
C_INCLUDE_DIR = @C_INCLUDE_DIR@
|
||||
DEBUG_FLAGS = @DEBUG_FLAGS@
|
||||
|
@ -55,12 +55,13 @@ namespace std
|
||||
codecvt_base::result
|
||||
codecvt<char, char, mbstate_t>::
|
||||
do_out(state_type&, const intern_type* __from,
|
||||
const intern_type* __from_end, const intern_type*& __from_next,
|
||||
extern_type* __to, extern_type* __to_end,
|
||||
const intern_type*, const intern_type*& __from_next,
|
||||
extern_type* __to, extern_type*,
|
||||
extern_type*& __to_next) const
|
||||
{
|
||||
size_t __len = min(__from_end - __from, __to_end - __to);
|
||||
memcpy(__to, __from, __len);
|
||||
// _GLIBCPP_RESOLVE_LIB_DEFECTS
|
||||
// According to the resolution of DR19, "If returns noconv [...]
|
||||
// there are no changes to the values in [to, to_limit)."
|
||||
__from_next = __from;
|
||||
__to_next = __to;
|
||||
return noconv;
|
||||
@ -78,12 +79,13 @@ namespace std
|
||||
codecvt_base::result
|
||||
codecvt<char, char, mbstate_t>::
|
||||
do_in(state_type&, const extern_type* __from,
|
||||
const extern_type* __from_end, const extern_type*& __from_next,
|
||||
intern_type* __to, intern_type* __to_end,
|
||||
const extern_type*, const extern_type*& __from_next,
|
||||
intern_type* __to, intern_type*,
|
||||
intern_type*& __to_next) const
|
||||
{
|
||||
size_t __len = min(__from_end - __from, __to_end - __to);
|
||||
memcpy(__to, __from, __len);
|
||||
// _GLIBCPP_RESOLVE_LIB_DEFECTS
|
||||
// According to the resolution of DR19, "If returns noconv [...]
|
||||
// there are no changes to the values in [to, to_limit)."
|
||||
__from_next = __from;
|
||||
__to_next = __to;
|
||||
return noconv;
|
||||
|
@ -38,6 +38,9 @@
|
||||
#include <fstream>
|
||||
#include <bits/atomicity.h>
|
||||
#include <ext/stdio_filebuf.h>
|
||||
#ifdef _GLIBCPP_HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
namespace __gnu_cxx
|
||||
{
|
||||
@ -157,7 +160,11 @@ namespace std
|
||||
ios_base::Init::_S_ios_create(bool __sync)
|
||||
{
|
||||
int __out_size = __sync ? 0 : static_cast<int>(BUFSIZ);
|
||||
int __in_size = __sync ? 1 : static_cast<int>(BUFSIZ);
|
||||
#ifdef _GLIBCPP_HAVE_ISATTY
|
||||
int __in_size = (__sync || isatty (0)) ? 1 : static_cast<int>(BUFSIZ);
|
||||
#else
|
||||
int __in_size = 1;
|
||||
#endif
|
||||
|
||||
// NB: The file globals.cc creates the four standard files
|
||||
// with NULL buffers. At this point, we swap out the dummy NULL
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
@ -367,9 +367,7 @@ namespace std
|
||||
const locale&
|
||||
locale::classic()
|
||||
{
|
||||
static _STL_mutex_lock __lock __STL_MUTEX_INITIALIZER;
|
||||
_STL_auto_lock __auto(__lock);
|
||||
|
||||
// Locking protocol: singleton-called-before-threading-starts
|
||||
if (!_S_classic)
|
||||
{
|
||||
try
|
||||
@ -453,6 +451,8 @@ namespace std
|
||||
__c_locale
|
||||
locale::facet::_S_c_locale;
|
||||
|
||||
char locale::facet::_S_c_name[2];
|
||||
|
||||
locale::facet::
|
||||
~facet() { }
|
||||
|
||||
|
@ -141,36 +141,31 @@ namespace std
|
||||
}
|
||||
|
||||
// Name all the categories.
|
||||
size_t __len = strlen(__s);
|
||||
if (!strchr(__s, ';'))
|
||||
{
|
||||
size_t __len = strlen(__s) + 1;
|
||||
for (size_t __i = 0;
|
||||
__i < _S_categories_size + _S_extra_categories_size; ++__i)
|
||||
{
|
||||
_M_names[__i] = new char[__len];
|
||||
_M_names[__i] = new char[__len + 1];
|
||||
strcpy(_M_names[__i], __s);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
char* __tmp = strdup(__s);
|
||||
__tmp[strlen(__tmp)] = ';';
|
||||
strtok(__tmp, "=;");
|
||||
const char* __beg = __s;
|
||||
for (size_t __i = 0;
|
||||
__i < _S_categories_size + _S_extra_categories_size - 1; ++__i)
|
||||
__i < _S_categories_size + _S_extra_categories_size; ++__i)
|
||||
{
|
||||
char* __src = strtok(NULL, "=;");
|
||||
char* __new = new char[strlen(__src) + 1];
|
||||
strcpy(__new, __src);
|
||||
__beg = strchr(__beg, '=') + 1;
|
||||
const char* __end = strchr(__beg, ';');
|
||||
if (!__end)
|
||||
__end = __s + __len;
|
||||
char* __new = new char[__end - __beg + 1];
|
||||
memcpy(__new, __beg, __end - __beg);
|
||||
__new[__end - __beg] = '\0';
|
||||
_M_names[__i] = __new;
|
||||
strtok(NULL, "=;");
|
||||
}
|
||||
char* __src = strtok(NULL, "=;");
|
||||
char* __new = new char[strlen(__src) + 1];
|
||||
strcpy(__new, __src);
|
||||
_M_names[_S_categories_size + _S_extra_categories_size - 1] = __new;
|
||||
|
||||
free(__tmp);
|
||||
}
|
||||
|
||||
// Construct all standard facets and add them to _M_facets.
|
||||
@ -214,7 +209,10 @@ namespace std
|
||||
: _M_references(__refs), _M_facets_size(_GLIBCPP_NUM_FACETS)
|
||||
{
|
||||
// Initialize the underlying locale model.
|
||||
locale::facet::_S_create_c_locale(locale::facet::_S_c_locale, "C");
|
||||
locale::facet::_S_c_name[0] = 'C';
|
||||
locale::facet::_S_c_name[1] = '\0';
|
||||
locale::facet::_S_create_c_locale(locale::facet::_S_c_locale,
|
||||
locale::facet::_S_c_name);
|
||||
|
||||
_M_facets = new(&facet_vec) facet*[_M_facets_size];
|
||||
for (size_t __i = 0; __i < _M_facets_size; ++__i)
|
||||
@ -225,7 +223,7 @@ namespace std
|
||||
__i < _S_categories_size + _S_extra_categories_size; ++__i)
|
||||
{
|
||||
_M_names[__i] = new (&facet_name[__i]) char[2];
|
||||
strcpy(_M_names[__i], "C");
|
||||
strcpy(_M_names[__i], locale::facet::_S_c_name);
|
||||
}
|
||||
|
||||
// This is needed as presently the C++ version of "C" locales
|
||||
|
@ -39,9 +39,5 @@ namespace std
|
||||
template class allocator<char>;
|
||||
template class allocator<wchar_t>;
|
||||
|
||||
#ifdef __USE_MALLOC
|
||||
template class __malloc_alloc_template<0>;
|
||||
#else
|
||||
template class __default_alloc_template<true, 0>;
|
||||
#endif
|
||||
} // namespace std
|
||||
|
Loading…
Reference in New Issue
Block a user