diff options
220 files changed, 51201 insertions, 12208 deletions
diff --git a/contrib/libstdc++/ChangeLog b/contrib/libstdc++/ChangeLog index a1e802f..62036fd 100644 --- a/contrib/libstdc++/ChangeLog +++ b/contrib/libstdc++/ChangeLog @@ -1,16 +1,1100 @@ -2003-02-05 Release Manager +2003-07-08 Benjamin Kosnik <bkoz@redhat.com> + Jerry Quinn <jlquinn@optonline.net> + + * include/bits/ios_base.h (ios_base::_M_getloc): Return reference + to the imbued locale. + * include/bits/locale_classes.h + (__locale_cache_base,__locale_cache): Declare. + (locale,locale::_Impl): Befriend __use_cache. + (locale::_Impl::_M_get_cache): New function. + (locale::_Impl::_M_install_cache): New function. + * include/bits/locale_facets.h (__locale_cache): Declare. + (numpunct): Befriend __locale_cache. + (__locale_cache_base): New class. + (__locale_cache): New class. + * include/bits/locale_facets.tcc (__use_cache): New function. + (num_put::_M_convert_int,_M_convert_float,do_put): Use it. + Use cache data members in place of calls to facet. + (num_put::_M_convert_int): Use _M_getloc. + (num_put::_M_convert_float): Use _M_getloc. + (__locale_cache::__locale_cache(locale&): New. + (__locale_cache::__locale_cache(locale&,bool)): New. + * src/globals.cc (facet_cache_vec): New. + (locale_cache_np_c, locale_cache_np_w): New. + * src/locale-inst.cc + (__locale_cache<numpunct<char> >): Define. + (__locale_cache<numpunct<wchar_t> >): Define. + (__use_cache<numpunct<char> >): Define. + (__use_cache<numpunct<wchar_t> >): Define. + * src/localename.cc (facet_cache_vec): Declare. + (locale_cache_np_c, locale_cache_np_w): Declare. + (locale::_Impl::~Impl): Destroy caches. + (locale::_Impl::Impl): Initialize cache storage. Fill in + static caches. + (locale::_Impl::_M_install_facet): Expand cache storage. + +2003-07-04 Jerry Quinn <jlquinn@optonline.net> + + * include/bits/locale_facets.tcc (__int_to_char): Move common + case to the top. + +2003-07-04 Jerry Quinn <jlquinn@optonline.net> + + * testsuite/27_io/ostream_inserter_arith.cc (test05, test06): + Add missing bool test. + +2003-07-04 H.J. Lu <hongjiu.lu@intel.com> + + * Makefile.am: Replace PWD with PWD_COMMAND. + * Makefile.in: Regenerated. + * docs/html/Makefile: Likewise. + +2003-07-01 Roger Sayle <roger@eyesopen.com> + + * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS. + (GLIBCPP_CHECK_MATH_SUPPORT): Likewise. + * aclocal.m4: Regenerate. + * configure: Regenerate. - * GCC 3.2.2 Released. +2003-06-27 Matthias Klose <doko@debian.org> -2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de> + * testsuite/Makefile.am (check-abi, check-abi-verbose): Save + output of abi-check in libstdc++-v3-abi.sum. + * testsuite/Makefile.in: Regenerate. - * 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. +2003-06-25 Phil Edwards <pme@gcc.gnu.org> + + Bulk documentation merge (copy) from trunk. + * docs/doxygen/filter, docs/doxygen/filter.sed, + docs/doxygen/mainpage.html, docs/doxygen/run_doxygen, + docs/doxygen/user.cfg.in, docs/html/configopts.html, + docs/html/documentation.html, docs/html/explanations.html, + docs/html/install.html, docs/html/test.html, docs/html/17_intro/BUGS, + docs/html/17_intro/CHECKLIST, docs/html/17_intro/contribute.html, + docs/html/20_util/howto.html, docs/html/ext/howto.html, + docs/html/ext/sgiexts.html, docs/html/faq/index.html, + docs/html/faq/index.txt: Merge from trunk. + +2003-06-23 Loren J. Rittle <ljrittle@acm.org> + + * configure.target (freebsd*): Set abi_baseline_pair. + * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2 + (at or near first release) to 3.3. + * config/abi/i386-freebsd5/baseline_symbols.txt: New file. + * config/abi/alpha-freebsd5/baseline_symbols.txt: New file. + * config/abi/sparc-freebsd5/baseline_symbols.txt: New file. + +2003-06-21 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR bootstrap/11272 + Backport from mainline: + + 2003-03-09 Paolo Carlini <pcarlini@unitus.it> + + * config/io/basic_file_stdio.cc: include <unistd.h>. + +2003-06-20 Matthias Klose <doko@debian.org> + + * configure.target: Set try_cpu to target_cpu for existing + baseline files. + +2003-06-19 Andreas Jaeger <aj@suse.de> + + * configure.in: Pass MULTISUBDIR to testsuite/Makefile. + * configure: Regenerated. + +2003-06-19 Andreas Jaeger <aj@suse.de> + + Backport from mainline: + 2003-06-18 Andreas Jaeger <aj@suse.de> + + * testsuite/Makefile.am (new-abi-baseline): Create baseline + directory. + (baseline_file): Use baseline_dir. + (baseline_dir): New. + (mkinstalldirs): New. + + * acinclude.m4: Rename baseline_file to baseline_dir, strip + filename from baseline_dir. + + * testsuite/Makefile.in: Regenerated. + * Makefile.in: Regenerated. + * aclocal.m4: Regenerated. + * configure: Regenerated. + + 2003-06-17 Benjamin Kosnik <bkoz@redhat.com> + + * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0. + + 2003-06-16 Benjamin Kosnik <bkoz@redhat.com> + + * Makefile.am (check-abi): Move... + (new-abi-baseline): Move... + * testsuite/Makefile.am: ...here. + (new-abi-baseline): Conditionalize. + (check-abi): Conditionalize. + (check-abi-verbose): New. + * Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + * configure.in: Consolidate testsuite configure bits. + * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same. + * configure: Regenerate. + * aclocal.m4: Regenerate. + * testsuite/abi_check.cc: Add --check-verbose. + Only output detailed information if --check-verbose. + + + 2003-06-16 Andreas Jaeger <aj@suse.de> + + * testsuite/abi_check.cc: Create summary report. + + 2003-06-16 Andreas Jaeger <aj@suse.de> + + * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make + check-abi multilib aware. + * aclocal.m4: Regenerate. + * configure: Regenerate. + + 2003-06-16 Benjamin Kosnik <bkoz@redhat.com> + Andreas Jaeger <aj@suse.de> + + * configure.target: Set x86_64 abi_baseline pair correctly. + + + 2003-06-13 Benjamin Kosnik <bkoz@redhat.com> + + * config/abi/i686-pc-linux-gnu: To.. + * config/abi/i486-linux-gnu: ...this. + * config/abi/alphaev67-unknown-linux-gnu: To.. + * config/abi/alpha-linux-gnu: ...this. + * config/abi/ia64-unknown-linux-gnu: To... + * config/abi/ia64-linux-gnu: ...this. + * config/abi/x86_64-unknown-linux-gnu: To... + * config/abi/x86_64-linux-gnu: ...this. + * config/abi/i386-unknown-freebsd4: To... + * config/abi/i386-freebsd4: ...this. + * configure.target: abi_baseline_triplet to abi_baseline_pair. + Simplify cpu bits so that abi_baseline_pair can use the same + cpu configuration. + * acinclude.m4: Same. + * aclocal.m4: Regenerate. + * configure.in: Can't get enable_abi_check to yes unless native. + * configure: Regenerate. + +2003-06-11 Benjamin Kosnik <bkoz@redhat.com> + + * configure.in (libtool_VERSION): To 5:5:0. + * configure: Regenerated. + +2003-06-07 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/11095 + * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)): + Deal with width() smaller than zero. + * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT), + operator<<(basic_ostream&, char), operator<<(basic_ostream&, + const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, + const char*), operator<<(basic_ostream<char, _Traits>&, + const char*), operator<<(basic_ostream, const basic_string&)): Likewise. + +2003-06-06 Nathan Myers <ncm-nospam@cantrip.org> + + * include/bits/stl_iterator.h (reverse_iterator::reverse_iterator()): + Apply DR235: default constructor default-initializes data member. + Instantiated on a pointer type, the member has to end up equal + to zero. + +2003-06-02 Andrew Pinski <pinskia@physics.uc.edu> + + PR libstdc++/9815 + * config/cpu/i386/atomicity.h (__exchange_and_add): add intel + asm case to asm. + * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise. + (__atomic_add): likewise. + +2003-06-02 Richard Kreckel <Richard.Kreckel@GiNaC.DE> + + PR libstdc++/11062 + * config/cpu/mips/atomicity.h: Change __attribute__ ((unused)) to + __attribute__ ((__unused__)). + * config/os/aix/atomicity.h: Likewise. + +2003-05-27 Steve Ellcey <sje@cup.hp.com> + + * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are + on IA64 HP-UX. + * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if + _LIBUNWIND_STD_ABI is set. + +2003-05-21 Danny Smith <dannysmith@users.sourceforge.net> + + * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by + zero. + Update copyright year. + +2003-05-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> + + * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc): + Cast via void* to avoid -Wcast-align warnings. + (__default_alloc_template::_S_refill): Likewise. + +2003-05-20 Gabriel Dos Reis <gdr@integrable-solutions.net> + + PR libstdc++/10689 + * include/std/std_complex.h (pow): Tidy. + +2003-05-17 Nathan Myers <ncm@cantrip.org> + + * include/bits/streambuf.tcc (__copy_streambufs): Rewrote. + +2003-05-15 Phil Edwards <pme@gcc.gnu.org> + + * testsuite/Makefile.am: Properly quote LD_RUN_PATH. + * testsuite/Makefile.in: Regenerate. + +2003-05-14 Loren J. Rittle <ljrittle@acm.org> + + * testsuite/thread/pthread4.cc: Tweak test. + +2003-05-13 Release Manager + + * GCC 3.3 Released. + +2003-05-06 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/faq/index.html (3.10): Add note about mips atomicity.h. + * docs/html/faq/index.txt: Regenerated. + +2003-05-02 Joel Sherrill <joel.sherrill@OARcorp.com> + Loren J. Rittle <ljrittle@acm.org> + Martin v. Loewis <martin@v.loewis.de> + + libstdc++/10556 + * config/cpu/i386/atomicity.h: New file. + +2003-05-02 Richard Henderson <rth@redhat.com> + + PR c++/10570 + * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions. + (__cxa_end_catch): Likewise. + * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use + _Unwind_Resume_or_Rethrow. + * libsupc++/eh_personality.cc (empty_exception_spec): New. + (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all + for _UA_FORCE_UNWIND. Honor empty filter spec for foreign + exceptions. Don't push terminate/unexpected to cxa functions. + (__cxa_call_unexpected): Remove foreign exception fixmes. + +2003-05-01 Benjamin Kosnik <bkoz@redhat.com> + + Revert __locale_cache. + * include/bits/locale_facets.tcc (num_put::_M_convert_int): Remove + __locale_cache. + (num_put::_M_convert_int): Same. + (num_put::do_put(bool)): Same. + (__locale_cache::_M_init): Same. + (__locale_cache::_S_callback): Same. + * include/bits/locale_facets.h (__locale_cache_base): Remove. + (__locale_cache): Remove. + * include/bits/basic_ios.h (basic_ios::init): Remove __locale_cache. + (basic_ios::_M_cache_locale): Same. + * include/bits/basic_ios.tcc: Same. + * include/bits/ios_base.h: Same. + (ios_base::_M_cache): Remove. + * src/locale-inst.cc: Same. + * src/ios.cc: Same. + * src/globals.cc: Same. + + * config/linker-map.gnu: Same. + +2003-05-01 Benjamin Kosnik <bkoz@redhat.com> + + * configure.in (libtool_VERSION): To 5:4:0. + * configure: Regenerated. + + * testsuite/abi_check.cc (check_version): Update known versions. + Check added symbols for version_name != base version. Add missing + symbols to incompatible list. + + * config/linker-map.gnu: Fixup for __basic_file::showmanyc_helper. + +2003-05-01 Benjamin Kosnik <bkoz@redhat.com> + + * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline. + * aclocal.m4: Regenerated. + * configure: Regenerated. + +2003-05-01 Paolo Carlini <pcarlini@unitus.it> + Nathan Myers <ncm@cantrip.org> + + Backport from mainline fix of 2003-03-28. + PR libstdc++/9533 + * include/bits/fstream.tcc (basic_filebuf<>::open): Don't + call underflow(). + (basic_filebuf<>::showmanyc): Use the information provided + by codecvt and __basic_file<>::showmanyc_helper to implement + a non-trivial showmanyc. + * config/io/basic_file_stdio.h + (__basic_file<>::showmanyc_helper): New, declare. + * config/io/basic_file_stdio.cc + (__basic_file<>::showmanyc_helper): Define. + (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK. + (__basic_file<char>::open): Don't call fcntl(). + * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, + GLIBCPP_CHECK_POLL): New macros. + * configure.in: Call here. + * acconfig.h: Add #undefs for the corresponding symbols. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * config.h.in: Regenerate. + +2003-04-29 Phil Edwards <pme@gcc.gnu.org> + + Bulk documentation merge (copy) from trunk. + * docs/doxygen/Intro.3, docs/doxygen/TODO, docs/doxygen/mainpage.html, + docs/doxygen/run_doxygen, 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/howto.html, + docs/html/17_intro/porting.html, docs/html/18_support/howto.html, + docs/html/19_diagnostics/howto.html, docs/html/27_io/howto.html, + docs/html/ext/howto.html, docs/html/ext/sgiexts.html, + docs/html/faq/index.html, docs/html/faq/index.txt: + Merge from trunk. + +2003-04-28 Nathan Myers <ncm@cantrip.org> + + Move some basic_string members out of line because + they are too big to reasonably be inline. + * include/bits/basic_string.h + (assign(const basic_string&, size_type, size_type), + assign(const _CharT*, size_type), + insert(size_type, const basic_string&, size_type, size_type), + insert(size_type, const _CharT*, size_type), + replace(size_type, size_type, const _CharT*, size_type)): + Move from here to... + * include/bits/basic_string.tcc: ...here. + +2003-04-28 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/10132 + * include/std/std_fstream.h (basic_filebuf::is_open): Add throw() + exception specifications. + (basic_filebuf::close): Same. + (basic_filebuf::_M_destroy_internal_buffer): Same. + (basic_filebuf): Remove __res_type typedef. + * include/std/std_streambuf.h: + (basic_streambuf::_M_pback_destroy): Same. + * src/fstream.cc: Same. + * include/bits/fstream.tcc + (basic_filebuf::_M_convert_to_external): Simplify. + (basic_filebuf::seekoff): Use has_facet before use_facet. + (basic_filebuf::close): Add exception specification of throw(). + +2003-04-25 Ranjit Mathew <rmathew@hotmail.com> + Phil Edwards <pme@gcc.gnu.org> + + * testsuite_flags.in: Guard against the possibility + of having "xgcc" as a part of a folder name in the + path to the GCC build folder. + * testsuite/Makefile.am: Likewise. + * testsuite/Makefile.in: Regenerated. + +2003-04-24 Richard Sandiford <rsandifo@redhat.com> + + * src/localename.cc (__gnu_cxx::facet_vec): Correct types. + +2003-04-24 Benjamin Kosnik <bkoz@redhat.com> + + * config/locale/generic/c_locale.h: Fix placement for old parser. + +2003-04-23 Benjamin Kosnik <bkoz@redhat.com> + + * config/locale/generic/c_locale.h (__convert_from_v): Use + attribute unused. + +2003-04-23 Phil Edwards <pme@gcc.gnu.org> + + * include/bits/istream.tcc (putback, unget, sync, tellg, seekg): + Comment and change to comply with DR 60 and the effect on gcount(). + * include/std/std_istream.h: Update comments. + +2003-04-22 Loren J. Rittle <ljrittle@acm.org> + + * testsuite/27_io/filebuf_members.cc (test_07): Adjust timing. + +2003-04-22 Jerry Quinn <jlquinn@optonline.net> + Benjamin Kosnik <bkoz at redhat dot com> + + * include/bits/basic_ios.h (ios_base::Init::_S_ios_create): + Declare friend. + (basic_ios::init, basic_ios::_M_cache_locale): Add locale + cache argument. + * include/bits/basic_ios.tcc (basic_ios::init): Pass cache to + _M_cache_locale. + (basic_ios::_M_cache_locale): Use placement new if cache is + provided. Track the distinction in iword(0). + * include/bits/locale_facets.tcc + (__locale_cache::_S_callback): Only delete cache if iword(0) + is 0, i.e. not static. + * src/globals.cc: Allocate space for __locale_cache objects. + * src/ios.cc (__gnu_cxx): Declare extern __locale_cache objects + for standard wide and narrow stream objects. + (ios_base::Init::_S_ios_create): Use them. + +2003-04-18 Loren J. Rittle <ljrittle@acm.org> + + * config/os/bsd/freebsd/ctype_inline.h: Support _M_table + when so installed. + + * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro. + (_GLIBCPP_USE_C99_DYNAMIC): New macro. + (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro. + (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro. + * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK): + New macro. + (_GLIBCPP_USE_C99_DYNAMIC): New macro. + (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro. + (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro. + * include/c_std/std_cstdlib.h: Use new macros. + * include/c_std/std_cstdio.h: Use new macros. + * include/c_std/std_cwchar.h: Use new macros. + +2003-04-17 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/9555 + * include/bits/ostream.tcc: Catch all exceptions for formatted + output, instead of std::exception and derivatives. + * include/bits/istream.tcc: Same. + +2003-04-17 Andreas Tobler <toa@pop.agri.ch> + Benjamin Kosnik <bkoz@redhat.com> + + * config/os/generic/ctype_inline.h: Fix. + +2003-04-17 Andreas Tobler <toa@pop.agri.ch> + + * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses + solaris includes, not generic. + +2003-04-15 Benjamin Kosnik <bkoz@redhat.com> + Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9423 + * docs/html/27_io/howto.html + ('The buffering is screwing up my program!'): Explain that + opening counts as an I/O operation. + +2003-04-15 Andreas Tobler <a.tobler@schweiz.ch> + + * testsuite/thread/pthread1.cc: Enable for darwin test. + * testsuite/thread/pthread2.cc: Same. + * testsuite/thread/pthread3.cc: Same. + * testsuite/thread/pthread4.cc: Same. + * testsuite/thread/pthread5.cc: Same. + * testsuite/thread/pthread6.cc: Same. + +2003-04-15 Loren J. Rittle <ljrittle@acm.org> + + * include/bits/concept_check.h: Fix multi-line comment. + * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header + when target is *-*-freebsd*. + + libstdc++/7680 + * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace. + Populate it with multiple legal ways to obtain the C99 float + transcendentals. Use them instead of direct global reference. + (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC. + * docs/html/17_intro/porting.texi + (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro. + (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro. + (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro. + * config/os/bsd/freebsd/os_defines.h + (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro. + (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro. + * testsuite/26_numerics/c_math_dynamic.cc: New file. + + * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL. + +2003-04-14 M. Warner Losh <imp@bsdimp.com> + + * include/std/std_fstream.h: Add required typename. + +2003-04-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * os/hpux/ctype_inline.h: Replace with gnu-linux version. + +2003-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream + twice. Always set _M_cfile to 0 when stream was open. + +2003-04-04 Jerry Quinn <jlquinn@optonline.net> + + PR libstdc++/10276 + * src/ios.cc (ios_base::_M_init): Remove _M_callbacks + initialization. + +2003-03-31 Paolo Carlini <pcarlini@unitus.it> + + * include/ext/stdio_filebuf.h + (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t), + stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t): + _M_buf_size_opt == 0 means only "not to use an allocated buffer" + since a stack-based buffer is used for small values of the size_t + parameter. + * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow). + If _M_buf_size != 0 flush out the buffer (any kind, stack-based too). + * testsuite/ext/stdio_filebuf_2.cc: New testfile. + +2003-03-25 Paolo Carlini <pcarlini@unitus.it> + Petur Runolfsson <peturr02@ru.is> + + PR libstdc++/10097 + * src/fstream.cc (basic_filebuf<char>::_M_underflow_common, + basic_filebuf<wchar_t>::_M_underflow_common): + if (gptr() < egptr()) return *gptr(). + * testsuite/27_io/filebuf_virtuals.cc (test15): Add. + + * testsuite/27_io/filebuf_members.cc (test_04): Minor + changes: unlink fifo before making it, fix spelling error. + +2003-03-22 Loren J. Rittle <ljrittle@acm.org> + + * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table): + Correct return value. + +2003-03-21 Jerry Quinn <jlquinn@optonline.net> + + PR libstdc++/5730 + * include/bits/c++config (_GLIBCPP_FAST_MATH): Define. + * include/std/std_complex.h (norm): Use faster, + less accurate computation for builtin float types under --fast-math. + +2003-03-21 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/10167 + * config/locale/ieee_1003.1-2001/codecvt_specializations.h + (do_out, do_unshift, do_in): qualify 'ok', 'error', 'partial', + 'noconv' with codecvt_base::. + +2003-03-19 Alexandre Oliva <aoliva@redhat.com> + + * src/strstream.cc (strstreambuf::overflow): Make sure operands of + min and max have the same type. + * include/bits/basic_string.tcc (append, rfind, compare): Likewise. + +2003-03-17 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/Makefile.am (CLEANFILES): Add tmp*. + * testsuite/Makefile.in: Regenerate. + * testsuite/27_io/filebuf_members.cc: Consistently name tmp files. + Cleanups. + +2003-03-17 Petur Runolfsson <peturr02@ru.is> + + PR libstdc++/9964 + * include/bits/fstream.tcc (basic_filebuf::close): + Always close file, even when write fails. + * testsuite/27_io/filebuf_members.cc (test_07): New test. + +2003-03-17 Danny Smith <dannysmith@users.sourceforge.net> + + * libsupc++/Makefile.am (LTCOMPILE): Add $(AM_CFLAGS) $(CFLAGS). + * libsupc++/Makefile.in: Regenerate. + +2003-03-09 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9988 + * include/bits/fstream.tcc (overflow): don't write EOF to file. + * testsuite/27_io/filebuf_virtuals.cc (test14): Add. + +2003-03-09 Paolo Carlini <pcarlini@unitus.it> + Petur Runolfsson <peturr02@ru.is> + + PR libstdc++/9424 + * include/bits/streambuf.tcc (__copy_streambufs): Use + sgetn-sputn only when sputn cannot fail, otherwise fall back + to safe snextc-sputc. + * testsuite/27_io/streambuf_members.cc (test11, test12): Add. + +2003-03-08 Jerry Quinn <jlquinn@optonline.net> + + PR libstdc++/9561 + * include/bits/basic_ios.h (_M_setstate): New. + * include/bits/ostream.tcc (operator<<): Use it. + * include/bits/istream.tcc (operator>>): Use it. + * include/std/std_ostream.h (operator<<): Make friends. + * include/std/std_istream.h (operator>>): Make friends. + * testsuite/27_io/ostream_exception.cc, + testsuite/27_io/istream_exception.cc: New tests. + +2003-03-08 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9182 + * include/bits/fstream.tcc (_M_really_overflow): Check + for _M_convert_to_external possible failures. + * include/std/std_fstream.h (sync): Check _M_really_overflow + return value and return -1 in case of failure. + * testsuite/27_io/filebuf_virtuals.cc (test12, test13): Add. + + * include/bits/fstream.tcc (_M_convert_to_external): + Set __elen to zero if codecvt::out eventually fails. + +2003-03-08 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9826 + * include/bits/istream.tcc (operator>>(_CharT*), + operator>>(basic_string&), ws): Pass a char_type to __ctype.is. + * testsuite/27_io/stringstream.cc (test02): Add. + + * include/bits/istream.tcc (operator>>(_CharT*)): + Assign a char_type to *__s. + +2003-03-08 Jerry Quinn <jlquinn@optonline.net> + + * src/ios.cc (ios_base::ios_base): Correct order of _M_word and + _M_word_size initialization. + +2003-03-07 Benjamin Kosnik <bkoz@redhat.com> + + * config/linker-map.gnu: Tweak. + +2003-03-07 Petur Runolfsson <peturr02@ru.is> + + PR libstdc++/9817 + * include/bits/locale_facets.tcc + (collate::do_compare, collate::do_transform): + Handle nul characters in input. + +2003-03-07 Jerry Quinn <jlquinn@tiamat> + + * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if + sputn fails. + * testsuite/27_io/ostream_fail.cc: New test. + +2003-03-07 Matthias Klose <doko@debian.org> + + * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir. + FLAGS_TO_PASS: Set to AM_MAKEFLAGS + * Makefile.in: Regenerate. + * libsupc++/Makefile.am: Express glibcppinstalldir in terms + of gxx_include_dir. + AM_MAKEFLAGS: Pass gxx_include_dir. + * libsupc++/Makefile.in: Regenerate. + +2003-03-06 Jerry Quinn <jlquinn@optonline.net> + + * src/ios.cc (ios_base::_M_init): Remove _M_word_size. + (ios_base::ios_base): Set _M_word, _M_word_size. + (ios_base::~ios_base): Remove redundant test. + * testsuite/27_io/ios_base_storage.cc (test03): New. + +2003-03-05 Jerry Quinn <jlquinn@optonline.net> + + * testsuite/27_io/ios_base_storage.cc (test02): Set exception + mask. Test setting small-numbered pword and iword slots. Test + behavior at limit of numeric_limits::max. Check that values are + still good after failures. + +2003-03-05 Carlo Wood <carlo@alinoe.com> + + * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added + _S_initialized() in order to allow debugging libraries to detect + when the std streams are initialized from an overloaded operator + new. + +2003-03-04 Benjamin Kosnik <bkoz@redhat.com> + + * config/linker-map.gnu: Version. + +2003-03-04 Jerry Quinn <jlquinn@optonline.net> + + * include/bits/basic_ios.h: Update copyright. + (_M_cache_locale): New. + (_M_cache_facets): Deprecate. + * include/bits/basic_ios.tcc (basic_ios::copyfmt): Set up locale + caching. + (basic_ios::imbue,basic_ios::init): Use _M_cache_locale. + (basic_ios::_M_cache_locale): New. + (basic_ios::_M_cache_facets): Deprecate. + * include/bits/ios_base.h (__locale_cache_base): Declare. + (ios_base::_M_cache): Define. + * include/bits/locale_facets.h + (__locale_cache_base,__locale_cache<_CharT>): New classes. + * include/bits/locale_facets.tcc + (num_put::_M_convert_int): Use locale cache literal string, + grouping flag, thousands separator. + (num_out::_M_convert_float): Use locale cache grouping flag, decimal + point, thousands separator. + (__locale_cache<_CharT>::_M_init,__locale_cache<_CharT>::_S_callback): + New. + * src/locale-inst.cc + (__locale_cache<_CharT>::_S_callback, __locale_cache<char>, + __locale_cache<wchar_t>): New. + +2003-03-04 Jerry Quinn <jlquinn@optonline.net> + + * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on + new failure. Throw exception if badbit and exception mask when ix + >= numeric_limits<int>::max(). + +2003-03-03 Benjamin Kosnik <benjamin@redhat.com> + + * config/linker-map.gnu (GLIBCPP_3.2.3): New. + Add new symbols. + * testsuite/abi_check.cc: Update. + +2003-03-03 Jerry Quinn <jlquinn@optonline.net> + Benjamin Kosnik <benjamin@redhat.com> + + * include/bits/locale_facets.h (__num_base): Add _S_atoms_out. + Add indexes into this array. + (__num_base::_S_atoms): To _S_atoms_in. + (num_put::_M_insert): Rename to _M_pad. + (num_put::_M_convert_int): Adjust remove __mod, __modl arguments. + (num_put::_M_widen_int): Rename to _M_group_int. + (num_put::_M_widen_float): Rename to _M_group_float. + * include/bits/locale_facets.tcc (__int_to_char): New inline + function and adapter functions. + (num_put::_M_group_int): Streamline. + (num_put::_M_group_float): Streamline. + (num_put::_M_convert_int): Remove unused parameter names. Choose + large enough buffer for text. Use __int_to_char instead of + __convert_from_v. Formatted text is now at the end of the buffer. + (num_put::_M_convert_float): Preliminary fixups. + * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef. + (__int_to_char<unsigned long long>): Same. + (__int_to_char<char, unsigned long>): New. + (__int_to_char<char, unsigned long long>): New. + (__int_to_char<wchar_t, unsigned long>): New. + (__int_to_char<wchar_t, unsigned long long>): New. + * src/locale.cc: Add _S_atoms_in, _S_atoms_out. + +2003-02-28 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/27_io/ios_base_storage.cc (main): Call + set_memory_limits. + +2003-02-28 Brad Spencer <spencer@infointeractive.com> + Nathan Myers <ncm@cantrip.org> + + * src/Makefile.am (stamp-debug): Clean. + * src/Makefile.in: Regenerate. + +2002-02-28 Loren J. Rittle <ljrittle@acm.org> + + * src/Makefile.am: Resolve non-portable use of $<. + * src/Makefile.in: Rebuilt. + +2002-02-28 Phil Edwards <pme@gcc.gnu.org> + + * configure.in (GLIBCPP_ENABLE_CXX_FLAGS): Do not pass arguments, + let the defaults work. + * configure: Regenerate. + +2002-02-28 Phil Edwards <pme@gcc.gnu.org> + + * acinclude.m4: Remove trailing whitespace. + (GLIBCPP_ENABLE_CXX_FLAGS): Fix. + * aclocal.m4, configure: Regenerate. + +2003-02-27 Benjamin Kosnik <bkoz@redhat.com> + + * configure.in (GLIBCPP_ENABLE_DEBUG): Default to none. + Call GLIBCPP_ENABLE_DEBUG_FLAGS. + * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new + conditional if --enable-debug is yes. Rework. + (GLIBCPP_ENABLE_DEBUG_FLAGS): New. + * aclocal.m4: Regenerate. + * libio/Makefile.am: Remove DEBUG_FLAGS. + * libio/Makefile.in: Regenerate. + * libsupc++/Makefile.am: Remove DEBUG_FLAGS. + * libsupc++/Makefile.in: Regenerate. + * docs/html/configopts.html: Add docs for --enable-debug, + --enable-debug-flags. + +2003-02-27 Benjamin Kosnik <bkoz@redhat.com> + + Correct dependency tracking, build warts. + * configure.in: Correct repeated AC_OUTPUT thrashing by + config-ml.in + * configure: Regenerate. + * include/Makefile.am (stamp-target): Stamp in top_builddir. * include/Makefile.in: Regenerate. + * src/Makefile.am (codecvt_members.cc): New rule. + (collate_members.cc): Same. + (ctype_members.cc): Same. + (messages_members.cc): Same. + (monetary_members.cc): Same. + (numeric_members.cc): Same. + (time_members.cc): Same. + (c++locale.cc): Same. + (basic_file.cc): Same. + * src/Makefile.in: Regenerate. + * acinclude.m4 (CCTYPE_CHAR_CC): Remove. + (CCCODECVT_CC): Don't link, AC_SUBST. + (CCOLLATE_CC): Same. + (CCTYPE_CC): Same. + (CMESSAGES_CC): Same. + (CMONEY_CC): Same. + (CNUMERIC_CC): Same. + (CTIME_CC): Same. + (CLOCALE_CC): Same. + * aclocal.m4: Regenerate. + + * src/Makefile.am (libstdc___la_LIBADD): Use top_builddir + for convenience libraries. + (version_arg): Rename linker.map to libstdc++.ver. + (libstdc___la_DEPENDENCIES): Remove linker.map, add + libstdc++-symbol.ver as a dependency. + (libstdc++-symbol.ver): Add rule. + * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to + SYMVER_MAP. Don't link, AC_SUBST. + + * include/Makefile.am (target_headers_noinst): New. + (stamp-target): Add CLOCALE_INTERNAL_H. + * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link + CLOCALE_INTERNAL_H, AC_SUBST. + * config/locale/gnu/c_locale.cc: Modify c++locale_internal.h + include. + * config/locale/gnu/time_members.cc: Same. + * config/locale/gnu/numeric_members.cc: Same. + * config/locale/gnu/monetary_members.cc: Same. + * config/locale/gnu/messages_members.cc: Same. + * config/locale/gnu/ctype_members.cc: Same. + * config/locale/gnu/collate_members.cc: Same. + * config/locale/gnu/codecvt_members.cc: Same. + * config/locale/generic/codecvt_members.cc: Remove. + +2003-02-27 Jerry Quinn <jlquinn@optonline.net> + + * config/locale/generic/messages_members.h (messages::messages): + Remove name from unused parameter. + +2003-02-27 Benjamin Kosnik <bkoz@redhat.com> + + * include/Makefile.am (stamp-std-precompile): Add rule. + * include/Makefile.in: Regenerated. + +2003-02-27 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define. + * include/bits/basic_ios.tcc: Guard use of extern template. + * include/std/std_iomanip.h: Same. + * include/bits/streambuf.tcc: Same. + * include/bits/stl_alloc.h: Same. + * include/bits/locale_facets.tcc: Same. + * include/bits/ostream.tcc: Same. + * include/bits/istream.tcc: Same. + * include/bits/fstream.tcc: Same. + * include/bits/basic_string.tcc: Same. + +2003-02-25 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9825 + * src/fstream.cc + (basic_filebuf<char/wchar_t>::_M_underflow_common): When + __bump is true (uflow), always increment the read pointer + (_M_in_cur) before returning successfully. + * testsuite/27_io/filebuf_virtuals.cc (test11): Add. + +2003-02-25 Paolo Carlini <pcarlini@unitus.it> + + * include/std/std_sstream.h (str()): the size of the + current string may be different from the initial one + whenever _M_out_end > _M_out_beg. + * testsuite/27_io/stringbuf_members.cc (test07): Add. + +2003-02-21 Phil Edwards <pme@gcc.gnu.org> + + * config/cpu/generic/atomicity.h (_Atomic_add_mutex): Fix declaration. + (_GLIBCPP_NEED_GENERIC_MUTEX): Define for this file. + (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once): Declare + when we don't have static mutex initialization. + (__exchange_and_add): Use _Atomic_add_mutex_once. + * src/misc-inst.cc: Definitions of all the above. + * config/linker-map.gnu: Also export locking symbols needed for the + generic atomicity.h case. + +2003-02-20 Alexandre Oliva <aoliva@redhat.com> + + * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to + config.status. + * configure: Rebuilt. + +2003-02-19 Phil Edwards <pme@gcc.gnu.org> + + PR libstdc++/9582 + * include/bits/stl_alloc.h: Remove all traces of assert(). + +2003-02-18 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9582 + * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert. + +2003-02-17 Paolo Carlini <pcarlini@unitus.it> + + * src/locale-inst.cc: Do not include <cassert>. + * src/locale.cc: Likewise. + +2003-02-17 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9169 + * include/bits/fstream.tcc (_M_convert_to_external): + Deal correctly with noconv, as prescribed by 27.8.1.4,p8. + * testsuite/27_io/filebuf_virtuals.cc (test10): Add. + +2003-02-13 Paolo Carlini <pcarlini@unitus.it> + + * include/bits/ostream.tcc (sentry::sentry): Improve + performance-wise the fix for libstdc++/9563. + +2003-02-13 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9320 + * include/ext/stdio_filebuf.h + (stdio_filebuf(int, std::ios_base::openmode, bool, int_type), + stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)): + Change to take a __size parameter of type size_t, not + of type (template parameter dependent) int_type. + * src/ios.cc (ios_base::Init::_S_ios_create): Change type of + size vars to size_t. + * testsuite/ext/stdio_filebuf.cc: Add. + +2003-02-12 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9563 + * include/bits/ostream.tcc (sentry::sentry): Check + the state of the stream after the preparation. + * testsuite/27_io/ostream_sentry.cc: Add. + +2003-02-11 Scott Snyder <snyder@fnal.gov> + + PR libstdc++/9659 + * include/bits/fstream.tcc (seekoff): Avoid operator+ + for pos_type. + +2003-02-11 Paolo Carlini <pcarlini@unitus.it> + Petur Runolfsson <peturr02@ru.is> + + PR libstdc++/9318 + * include/bits/streambuf.tcc (__copy_streambufs): + Don't conditionalize the copy to __testput. + * testsuite/27_io/streambuf_members.cc (test09, test10): Add. + +2003-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock): + Correct alignment. + (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset + lock. + +2003-02-07 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9548 + Implement resolution of DR 231 (Ready) + * include/bits/locale_facets.h (__num_base::_S_format_float): + Return void. + * src/locale.cc (__num_base::_S_format_float): Implement + resolution of DR 231. + * include/bits/locale_facets.tcc (num_put::_M_convert_float): + Tweak uses. Check for negative precision. + * testsuite/22_locale/num_put_members_char.cc (test06): Add + * testsuite/22_locale/num_put_members_wchar_t.cc (test06): Ditto. + +2003-02-07 Paolo Carlini <pcarlini@unitus.it> + + * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for + unsigned char platforms. + +2003-02-05 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/locale_facets.tcc (time_put::do_put): Use __write. + (money_put::do_put): Same. + +2003-02-05 Jerry Quinn <jlquinn@optonline.net> + + * include/bits/ios_base.h (ios_base): Document reserved storage. + + * include/bits/locale_facets.h: (struct __pad): Comment on + implementation. + (__verify_grouping): Same. + (__add_grouping): Same. + * include/bits/locale_facets.tcc (__verify_grouping): Move + comments to declaration. + (__add_grouping): Same. + + * include/bits/locale_facets.tcc: + (__write<_CharT, _OutIter>): New function. + (__write<_CharT>): New function specialization. + (num_put::_M_insert): Remove explicit loop over iterator. Use + __write. + (num_put::_M_widen_float): Remove __basefield. + (num_put::_M_widen_int): Move __basefield to within grouping block. + + * include/bits/streambuf_iterator.h: Include <streambuf>. + (ostreambuf_iterator::_M_put): Add. + +2003-02-05 Paolo Carlini <pcarlini@unitus.it> + + * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo. + +2003-02-05 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9439, PR libstdc++/9425 + * config/io/basic_file_stdio.cc + (__basic_file<char>::seekoff, seekpos): Return -1L if + fseek fails. + * include/bits/fstream.tcc (basic_filebuf::seekoff): + Check _M_file.seekoff return value; always return + pos_type(off_type(-1)) in case of failure. + (basic_filebuf::pbackfail): Check this->seekoff return + value and return traits_type::eof() in case of failure. + * testsuite/27_io/filebuf_virtuals.cc (test09): Add. + +2003-02-05 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/26_numerics/valarray_name_lookup.cc: Fix. + +2003-02-05 Benjamin Kosnik <bkoz@redhat.com> + + * configure.in (libtool_VERSION): To 5:3:0. + * configure: Regenerated. + +2003-02-04 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9538 + * include/bits/streambuf.tcc (sputbackc): Access + this->gptr()[-1] only if _M_in_beg < _M_in_cur. + * testsuite/27_io/filebuf_virtuals.cc (test08): Add. + +2003-02-04 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/9507 + * include/bits/fstream.tcc (open): If the 'ate' repositioning + operation fails, calls close _and_ returns a null pointer + to indicate failure (27.8.1.3,4). + * testsuite/27_io/filebuf_members.cc (test_06): Add. + +2003-02-04 Petur Runolfsson <peturr02@ru.is> + + * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0). + +2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk> + + * docs/html/17_intro/porting.texi: Update to GFDL 1.2. + * docs/html/17_intro/porting.html: Regenerate. + +2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR libstdc++/9234 + * include/bits/valarray_meta.h (_UnBase::operator[]): Apply unary + operator. + + * include/bits/valarray_meta.h (__not_equal_to): Use != instead of ==. + + * testsuite/26_numerics/valarray_operators.cc: New test. 2003-01-28 Nathan Sidwell <nathan@codesourcery.com> @@ -18,6 +1102,14 @@ * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope with bases which are very ambiguous. +2003-01-28 Danny Smith <dannysmith@users.sourceforge.net> + + * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of + @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@. + * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise. + * src/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + 2003-01-27 Alexandre Oliva <aoliva@redhat.com> * acinclude.m4 (glibcpp_toolexeclibdir): Instead of @@ -25,26 +1117,24 @@ version_specific_libs is enabled. * aclocal.m4, configure: Rebuilt. +2003-01-26 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-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/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. + docs/html/documentation.html, docs/html/17_intro/howto.html, + docs/html/19_diagnostics/howto.html, docs/html/ext/sgiexts.html: + Merge from trunk. 2003-01-23 Petur Runolfsson <peturr02@ru.is> @@ -61,7 +1151,120 @@ 2003-01-23 Benjamin Kosnik <bkoz@redhat.com> - * config/linker-map.gnu: Synch with 3_3-branch. + Revert include ordering. + * config/locale/generic/c_locale.h: Add include guards. + * config/locale/gnu/c_locale.h: Same. + * include/bits/locale_classes.h: Remove cctype include. + * include/std/std_iosfwd.h: Add c++locale.h, cctype includes. + * include/std/std_fstream.h: Remove streambuf include. + * include/std/std_sstream.h: Remove streambuf include. + +2003-01-23 Benjamin Kosnik <bkoz@redhat.com> + + Match 3.2.0 ABI. + * include/bits/stl_alloc.h: Revert. + + * include/bits/codecvt.h: Revert. + * config/locale/gnu/codecvt_members.cc: Revert. + * src/codecvt.cc: Revert. + * src/localename.cc: Revert. + + * include/bits/ios_base.h (ios_base::~ios_base): Revert. + + * config/linker-map.gnu: Mostly match 3_2-branch file. + +2003-01-22 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/locale_facets.h: Move non-facet classes requiring + <string> to... + * include/bits/locale_classes.h: New. + * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h. + * include/bits/Makefile.in: Regenerate. + + * include/bits/locale_facets.tcc (__convert_from_v): Move to... + * config/locale/gnu/c_locale.h: ...here. + * config/locale/generic/c_locale.h: Same. + + * include/bits/locale_facets.tcc: Move declarations to... + * include/bits/locale_facets.h: ...here. + * include/bits/basic_ios.h: Tweak includes accordingly. + * include/std/std_sstream.h: Add streambuf include. + * include/std/std_fstream.h: Ditto. + * include/std/std_locale.h: Add locale_classes.h include. + * include/std/std_iosfwd.h: Tweak. + * src/concept-inst.cc: Add iterator include. + + * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_* + bits as unexported in the future. + +2003-01-15 Benjamin Kosnik <bkoz@redhat.com> + + * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute + GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * testsuite/Makefile.am (all-local): Add conditional rule to + generate testsuite_wchar_t. + * testsuite/Makefile.in: Regenerate. + * testsuite/lib/libstdc++-v3-dg.exp + (libstdc++-v3-list-sourcefiles): Remove wchar_t files if + testsuite_wchar_t is not present in the build directory. + * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS. + Remove setulimit bits. + * testsuite/26_numerics/complex_value.cc: Set to noopts. + * testsuite/Makefile.am (CLEANFILES): Add. + * testsuite/Makefile.in: Regenerate. + +2003-01-15 Benjamin Kosnik <bkoz@redhat.com> + + Renames, namespaces for testsuite utilities. + * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test. + (gnu_allocator_tracker): Rename to allocation_tracker. + (gnu_new_allocator): Rename to tracker_alloc. + (__set_testsuite_memlimit): Rename to set_memory_limits. + (gnu_assignment_operator): Rename to assignment_operator. + (gnu_destructor): Rename to destructor. + (gnu_copy_tracker): Rename to copy_tracker. + (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long. + (run_tests_wrapped_locale): New. + (run_tests_wrapped_env): New. + * testsuite/testsuite_hooks.cc: Same. + (class locale_data): Add. + (class enviornment_variable): Add. + (class not_found): Add. + * testsuite/testsuite_allocator.h: Same. + * testsuite/testsuite_allocator.cc: Same. + * testsuite/23_containers/deque_ctor.cc + (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to + allocation_tracker. + Change gnu_new_allocator to tracker_alloc. + Change gnu_counting_struct to counter. + Change gnu_copy_tracker to copy_tracker. + Change gnu_copy_constructor to copy_constructor. + Change gnu_assignment_operator to assignment_operator. + Inject. + * testsuite/23_containers/vector_capacity.cc: Same. + * testsuite/23_containers/vector_ctor.cc (test01): Same. + * testsuite/23_containers/list_modifiers.cc: Change + gnu_copy_tracker to copy_tracker. + * testsuite/21_strings/ctor_copy_dtor.cc (main): Change + __set_testsuite_memlimit to set_memory_limits. + * testsuite/21_strings/insert.cc (main): Same. + * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char. + * testsuite/27_io/stringstream.cc: Same. + * testsuite/27_io/stringbuf.cc: Same. + * testsuite/27_io/streambuf.cc: Same. + * testsuite/27_io/ostream.cc: Same. + * testsuite/27_io/istream.cc: Same. + * testsuite/27_io/fstream.cc: Same. + * testsuite/lib/libstdc++-v3-dg.exp + (libstdc++-v3-list-sourcefiles): Additionally handle files two and + three levels deeper in glob patterns. + +2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for + __hppa__. 2003-01-10 Benjamin Kosnik <bkoz@redhat.com> Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com> @@ -96,7 +1299,7 @@ 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. + * 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. @@ -120,10 +1323,10 @@ 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/lib/libstdc++-v3-dg.exp (libstdc++-v3-init, + libstdc++-v3-list-sourcefiles): Additionally handle files one + level deeper in glob patterns. + * 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, @@ -148,6 +1351,48 @@ * testsuite/22_locale/codecvt_members_char_char.cc (test01): Tweak. +2002-12-29 Phil Edwards <pme@gcc.gnu.org> + + * include/std/std_bitset.h: Better comments. + +2002-12-29 Phil Edwards <pme@gcc.gnu.org> + + * include/std/std_bitset.h (_Base_bitset::_M_do_left_shift, + _Base_bitset::_M_do_right_shift): Expect a non-zero shift. + (bitset::operator<<=, bitset::operator>>=): When shifting more bits + than are in the bitset, zero memory rather than segfault. + (operator>>(basic_istream,bitset): Only call setstate once, after + all work has been done. + + * testsuite/23_containers/bitset_members.cc (test03): New test. + * testsuite/23_containers/bitset_shift.cc (test02): New test. + +2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk> + + * docs/html/17_intro/porting.texi: Use @copying. + * docs/html/17_intro/porting.html: Regenerate. + +2002-12-23 Danny Smith <dannysmith@users.sourceforge.net> + + * config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): + Don't use O_NONBLOCK if it is not defined. + (__basic_file::open): Don't use fcntl either. + +2002-12-19 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/8949 + * include/std/std_limits.h + (struct numeric_limits<short>, + struct numeric_limits<unsigned short>, + struct numeric_limits<int>, + struct numeric_limits<unsigned int>, + struct numeric_limits<long>, + struct numeric_limits<unsigned long>, + struct numeric_limits<long long>, + struct numeric_limits<unsigned long long>): According + to 18.2.1.2,53 and 18.2.1.5,1 is_iec559 shall be false. + * testsuite/18_support/numeric_limits.cc: Add test04. + 2002-12-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * testsuite/23_containers/vector_capacity.cc (test03): Move ... @@ -162,73 +1407,181 @@ (__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> +2002-12-10 Mark Mitchell <mark@codesourcery.com> + + * libsupc++/cxxabi.h (__cxa_bad_cast): Declare it. + (__cxa_bad_typeid): Likewise. + (__cxa_atexit): Likewise. + (__cxa_finalize): Likewise. + +2002-12-09 Gabriel Dos Reis <gdr@integrable-solutions.net> * include/bits/slice_array.h (slice_array<>::operator=): Fix typo. +2002-12-09 Mark Mitchell <mark@codesourcery.com> + + * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it. + 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> +2002-12-02 Paolo Carlini <pcarlini@unitus.it> - 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. + * include/bits/basic_string.h (compare(const basic_string&)): + Fully qualify min() with std::. -2002-12-05 Loren J. Rittle <ljrittle@acm.org> - Brad Spencer <spencer@infointeractive.com> - (provided alternate patch and improvements) +2002-12-02 Benjamin Kosnik <bkoz@redhat.com> - 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. + * configure.in (libtool_VERSION): Update to 5:2:0. + * configure: Regenerate. + +2002-12-02 Paolo Carlini <pcarlini@unitus.it> + + * include/bits/basic_string.tcc + (basic_string::append(const basic_string&, size_type, + size_type), basic_string::compare(size_type, size_type, + const basic_string&), basic_string::compare(size_type, + size_type, const basic_string&, size_type, size_type), + basic_string::compare(const _CharT*), basic_string:: + compare(size_type, size_type, const _CharT*), + basic_string::compare(size_type, size_type, const _CharT*, + size_type), _S_string_copy(const basic_string&, _CharT*, + typename _Alloc::size_type)): Fully qualify min() with std::. + +2002-12-02 Paolo Carlini <pcarlini@unitus.it> + + * include/bits/basic_string.tcc + (basic_string::_S_construct(_InIter, _InIter, const _Alloc&, + forward_iterator_tag)): Delay the declaration of __dnew, + fully qualify distance() with std::. + (basic_string::_M_replace_safe): Fully qualify distance() + with std::. + +2002-11-28 Phil Edwards <pme@gcc.gnu.org> + + PR libstdc++/8716 + * testsuite/21_strings/ctor_copy_dtor.cc (test05): Also test + the NULL-pointer, zero-size case. -2002-12-05 Paolo Carlini <pcarlini@unitus.it> +2002-11-28 Jonathan Wakely <redi@gcc.gnu.org> + + * docs/html/faq/index.html: Add tip about a namespace for extensions. + +2002-11-28 Paolo Carlini <pcarlini@unitus.it> + Nathan Myers <ncm@cantrip.org> + + * src/localename.cc + (locale::_Impl::_Impl(const char*, size_t)): + Improve previous fix for the strtok vs MT issue. + +2002-11-28 Paolo Carlini <pcarlini@unitus.it> + + * config/locale/gnu/c_locale.cc (locale::_S_categories): + Reorder the categories to match that of glibc's setlocale(LC_ALL, "")) + * config/locale/generic/c_locale.cc (locale::_S_categories): Ditto. + * testsuite/22_locale/ctor_copy_dtor.cc (test04): Tweak. + +2002-11-25 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible. + * config/linker-map.gnu: Version __cxa_guard_acquire, + __cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1. + +2002-11-25 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> +2002-11-25 Stephen M. Webb <stephen@bregmasoft.com> - PR libstdc++/7445 - * src/locale.cc (std::locale::classic()): Weaken locking protocol. + * testsuite/testsuite_allocator.h: New file. + * testsuite/testsuite_allocator.cc: New file. + * testsuite/Makefile.am: Added testsuite_allocator to test library. + * testsuite/testsuite_hooks.h: Added more detailed tracker objects + gnu_copy_constructor, gnu_assignment_operator, and gnu_destructor. + * testsuite/testsuite_hooks.cc: Added new static objects definitions. + * testsuite/23_containers/vector_capacity.cc: Added reserve() tests. + * testsuite/23_containers/vector_ctor.cc: Added a plethora of tests. + * testsuite/23_containers/deque_ctor.cc: Added a slew of new tests. + +2002-11-25 Mark Mitchell <mark@codesourcery.com> + + * libsupc++/Makefile.am (sources): Add guard.cc. + * libsupc++/Makefile.in: Regenerated. + * libsupc++/cxxabi.h (__cxa_guard_acquire): New function. + (__cxa_guard_release): Likewise. + (__cxa_guard_abort): Likewise. + * libsupc++/guard.cc: New file. + +2002-11-25 Wolfgang Bangerth <bangerth@ticam.utexas.edu> + + * include/std/std_complex.h + (operator<<(basic_ostream&, const complex&)): Prefer 'x' + to "x" for efficiency sake. + * src/locale.cc (locale::locale(const char*)): Ditto. + +2002-11-24 Paolo Carlini <pcarlini@unitus.it> + + * src/locale.cc (locale::locale(const char*)): + Trivial cosmetic tweaks. + +2002-11-22 Laszlo Ersek <erseklaszlo@chello.hu> + Paolo Carlini <pcarlini@unitus.it> -2002-12-03 Phil Edwards <pme@gcc.gnu.org> + PR libstdc++/8645 + * include/bits/stl_tree.h (_Rb_tree_rebalance_for_erase): + Don't check that __w->_M_left != 0 and __w->_M_right != 0 + when they can't be otherwise. + +2002-11-21 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/documentation.html: Fix broken/thinko'd URL. + +2002-11-21 Phil Edwards <pme@gcc.gnu.org> + + * docs/doxygen/run_doxygen: Tighter search expression for sed. + * docs/doxygen/stdheader.cc: Handle the case of good headers. + +2002-11-21 Phil Edwards <pme@gcc.gnu.org> + + * acinclude.m4: Uniform formatting. + * configure.in: Warn when generic atomicity.h is used. + * configure.target: Fix comment. + * aclocal.m4, configure: Regenerate. + +2002-11-21 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> +2002-11-21 Phil Edwards <pme@gcc.gnu.org> + + * docs/doxygen/style.css: Update. + * docs/doxygen/user.cfg.in: Update. + * docs/html/documentation.html: Regenerate. + * docs/html/17_intro/howto.html: Tweak I/O sentry entry. + * docs/html/27_io/howto.html: New section on headers. + * docs/html/faq/index.html: Add i386 threading entry. + * docs/html/faq/index.txt: Regenerate. + + * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html: + Import R23. + +2002-11-21 Phil Edwards <pme@gcc.gnu.org> + + * docs/doxygen/TODO: Note change in clause 27 docs. + * include/bits/basic_ios.h, include/bits/fpos.h, + include/bits/ios_base.h, include/bits/stl_deque.h, + include/bits/stl_iterator_base_types.h, include/std/std_fstream.h, + include/std/std_iomanip.h, include/std/std_iosfwd.h, + include/std/std_iostream.h, include/std/std_istream.h, + include/std/std_ostream.h, include/std/std_sstream.h, + include/std/std_streambuf.h: Doxygenate all I/O entities. + +2002-11-20 Benjamin Kosnik <bkoz@redhat.com> Jonathan Lennox <lennox@cs.columbia.edu> * include/bits/streambuf.tcc (__copy_streambufs): @@ -236,27 +1589,57 @@ libstdc++/6745, use _M_buf_size_opt to set dynamically the correct buffer size. -2002-12-02 Jonathan Lennox <lennox@cs.columbia.edu> +2002-11-20 Jonathan Wakely <redi@gcc.gnu.org> + + * docs/html/21_strings/howto.html: Fix example code, cite Gaby's + explanation of "<unknown type>" error with toupper/tolower. + * docs/html/22_locale/howto.html: Be more consistent with + example in 21_strings. + +2002-11-19 John Gustafsson <forgoil@rsn.bth.se> + + * docs/html/20_util/howto.html: Fix typo. + +2002-11-18 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 + (test05): Use test_buffer_4. Delete unused ostringstream variables. -2002-12-02 Paolo Carlini <pcarlini@unitus.it> +2002-11-18 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> +2002-11-17 Jakub Jelinek <jakub@redhat.com> + + * config/linker-map.gnu: Export _S_construct even if size_t is + unsigned long. Collapse std::codecvt<char>::codecvt(size_t) + and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern. + +2002-11-15 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. + * include/bits/vector.tcc: Formatting tweaks. + * include/bits/stl_vector.h: Same. + * testsuite/20_util/allocator_members.cc (test02): Add. + * testsuite/23_containers/vector_capacity.cc (test03): Add. + +2002-11-15 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> +2002-11-15 Paolo Carlini <pcarlini@unitus.it> + Loren J. Rittle <ljrittle@acm.org> PR libstdc++/8399 * acinclude.m4 @@ -273,56 +1656,84 @@ * config.h.in: Regenerate. * configure: Regenerate. -2002-12-02 Benjamin Kosnik <bkoz@redhat.com> +2002-11-13 Benjamin Kosnik <bkoz@redhat.com> * acconfig.h (HAVE_DRAND48): Add. (HAVE_GETPAGESIZE): Add. - (HAVE_SETENV): Add. - (HAVE_SIGSETJMP): Add. + (HAVE_SETENV): Add. + (HAVE_SIGSETJMP): Add. * config.h.in: Regenerate. * configure: Regenerate. -2002-12-02 Benjamin Kosnik <bkoz@redhat.com> +2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca> - 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. + * config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define + on hppa when there is no weak support. -2002-12-02 Benjamin Kosnik <bkoz@redhat.com> +2002-11-13 Benjamin Kosnik <bkoz@redhat.com> - * configure.in (libtool_VERSION): Update to 5:2:0. - * configure: Regenerate. - -2002-11-26 David Edelsohn <edelsohn@gnu.org> + PR libstdc++/8230 + * include/bits/vector.tcc (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. - * testsuite/abi_check.cc: Remove guards kludge. +2002-11-13 Benjamin Kosnik <bkoz@redhat.com> -2002-11-19 Release Manager + * config/linker-map.gnu: Export all _S_construct. - * GCC 3.2.1 Released. +2002-11-13 Loren J. Rittle <ljrittle@acm.org> -2002-11-17 Jakub Jelinek <jakub@redhat.com> + PR libstdc++/7445 + * src/locale.cc (std::locale::classic()): Weaken locking protocol. - * config/linker-map.gnu: Export _S_construct even if size_t is - unsigned long. Collapse std::codecvt<char>::codecvt(size_t) - and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern. +2002-11-13 Jonathan Wakely <redi@gcc.gnu.org> -2002-11-13 Benjamin Kosnik <bkoz@redhat.com> + * docs/html/install.html, docs/html/22_locale/locale.html: HTML fix. - * config/linker-map.gnu: Export all _S_construct. - -2002-11-06 David Edelsohn <edelsohn@gnu.org> +2002-11-11 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/6746 + * include/bits/fstream.tcc (filebuf::open): Set input pointers. + * config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set + __p_mode as well. + (__basic_file::open): Set to non-block for input. + * testsuite/27_io/istream_unformatted.cc (test12): Add. + (test13): Same. + +2002-11-11 Jonathan Wakely <redi@gcc.gnu.org> + + * docs/html/17_intro/howto.html: Make "chapter 22 notes" a link. + * docs/html/faq/index.html: Mention that GCC ships with a newer + version of the library than the last snapshot. Make "see below" a + link. Add missing <html> tag. + * docs/html/faq/index.txt: Regenerate. + * docs/html/22_locale/locale.html, docs/html/22_locale/messages.html, + docs/html/23_containers/howto.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/howto.html, + docs/html/ext/sgiexts.html: Add missing <html> tag. + +2002-11-07 Phil Edwards <pme@gcc.gnu.org> + Richard Earnshaw <rearnsha@arm.com> - PR libstdc++/8362 - * testsuite/abi_check.cc: Add guards to prevent -mpower ICE. + * config/cpu/generic/atomicity.h: Provide atomic __exchange_and_add + and __atomic_add. + +2002-11-08 Paolo Carlini <pcarlini@unitus.it> + + * config/locale/gnu/monetary_members.cc + (moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale, + const char*), + moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale, + const char*)): Tweak parameters for glibc2.3 systems, thus + avoiding unused parameter warnings. 2002-11-05 Jonathan Wakely <cow@compsoc.man.ac.uk> * include/std/std_sstream.h (basic_stringbuf::str(const __string_type&)): - Prefer data() to c_str() thus avoiding assigning the + Prefer data() to c_str(), thus avoiding assigning the unnecessary NULL-terminator. 2002-11-05 Benjamin Kosnik <bkoz@redhat.com> @@ -332,16 +1743,9 @@ for null buffer. (istream::operator>>(_CharT*)): Use traits_type. (istream::ws): Same. - (istream::operator>>(string)): Same. + (istream::operator>>(string)): Same. * testsuite/27_io/istream_unformatted.cc (test11): Add. -2002-11-05 Benjamin Kosnik <bkoz@redhat.com> - - PR libstdc++/7219 - * include/bits/ios_base.h (ios_base::streampos): Add. - (ios_base::streamoff): Add. - * testsuite/27_io/ios_base_type.cc: New. - 2002-11-05 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/8466 @@ -351,23 +1755,47 @@ basic_string is not taken into account in basic_stringbuf. * testsuite/27_io/stringstream_members.cc: Add test04 from PR. +2002-11-05 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * configure.target (hppa*): Define cpu_include_dir. + * config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define. + * src/misc-inst.cc: Instantiate atomicity lock when + _GLIBCPP_INST_ATOMICITY_LOCK is defined. + * config/cpu/hppa/atomicity.h: New file. + +2002-11-05 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/8463 + * include/bits/ios_base.h (~ios_base): Make virtual. + 2002-11-04 Benjamin Kosnik <bkoz@redhat.com> * config/linker-map.gnu: Export string operator+. Export __default_alloc_template::_S_force_new. * testsuite/abi_check.cc: Output tweaks. -2002-11-04 Benjamin Kosnik <bkoz@redhat.com> +2002-11-01 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/8172 + * src/string-inst.cc: Add instantiation. + +2002-11-01 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/7926 + * configure.target: Simplify. + * config/cpu/i386/atomicity.h: Remove. + * config/cpu/i386: Remove. + * config/cpu/arm/atomicity.h: Remove. + * config/cpu/arm: Remove. + * config/cpu/x86-64/atomicity.h: Remove. + * config/cpu/x86-64: Remove. - PR libstdc++/8172 - * src/string-inst.cc: Add instantiation. - -2002-11-04 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de> +2002-11-01 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de> PR libstdc++/8197 * config/link-map.gnu: Export math stubbs. -2002-11-04 Benjamin Kosnik <bkoz@redhat.com> +2002-11-01 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/8318 * include/std/std_iostream.h: Tweak. @@ -381,28 +1809,36 @@ * include/bits/streambuf.tcc: Same. * include/bits/locale_facets.tcc: Same. -2002-11-01 Benjamin Kosnik <bkoz@redhat.com> +2002-11-01 John Carter <john.carter@tait.co.nz> + + PR libstdc++/7961 + * include/bits/basic_string.tcc + (compare(const _CharT* __s)): Don't access __s past its length. + +2002-10-31 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/8348 * include/bits/istream.tcc (istream::tellg): Remove sentry bits. (istream::seekg): Same. * testsuite/27_io/istream_seeks.cc (test06): New. -2002-11-01 John Carter <john.carter@tait.co.nz> +2002-10-28 Jason Thorpe <thorpej@wasabisystems.com> - PR libstdc++/7961 - * include/bits/basic_string.tcc - (compare(const _CharT* __s)): Don't access __s past its length. + * testsuite/thread/pthread5.cc: Include <unistd.h> + if _GLIBCPP_HAVE_UNISTD_H is defined. + (main): Only use pthread_attr_setscope if + _POSIX_THREAD_PRIORITY_SCHEDULING is defined. -2002-11-01 Hans-Peter Nilsson <hp@bitrange.com> +2002-10-28 Jason Thorpe <thorpej@wasabisystems.com> - PR other/3337 - PR bootstrap/6763 - PR bootstrap/8122 - * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Use - __typeof__ (r.rlim_cur), not rlim_t in declaration of limit. + * testsuite/thread/pthread1.cc: Enable on *-*-netbsd*. + * testsuite/thread/pthread2.cc: Likewise. + * testsuite/thread/pthread3.cc: Likewise. + * testsuite/thread/pthread4.cc: Likewise. + * testsuite/thread/pthread5.cc: Likewise. + * testsuite/thread/pthread6.cc: Likewise. -2002-10-29 Paolo Carlini <pcarlini@unitus.it> +2002-10-27 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/8347 * include/bits/basic_string.tcc @@ -412,6 +1848,14 @@ (string::string(const _CharT*, const _Alloc&)): Tweak. * testsuite/21_strings/ctor_copy_dtor.cc: Add test05 from PR. +2002-10-24 Hans-Peter Nilsson <hp@bitrange.com> + + PR other/3337 + PR bootstrap/6763 + PR bootstrap/8122 + * testsuite/testsuite_hooks.cc (__set_testsuite_memlimit): Use + __typeof__ (r.rlim_cur), not rlim_t in declaration of limit. + 2002-10-23 Jakub Jelinek <jakub@redhat.com> * testsuite/22_locale/num_put_members_char.cc (test01): Swap size @@ -424,49 +1868,111 @@ instead of ${top_srcdir}. * Makefile.in: Rebuilt. -2002-10-21 Phil Edwards <pme@gcc.gnu.org> +2002-10-22 Loren J. Rittle <ljrittle@acm.org> + + * testsuite/18_support/numeric_limits.cc (test_extrema<long double>): + Remove specialization for FreeBSD systems. + +2002-10-18 Loren J. Rittle <ljrittle@acm.org> + + * configure.target (freebsd*): Use abi_baseline_triplet. + * config/abi/i386-unknown-freebsd4/baseline_symbols.txt: New file. + * config/abi/i386-unknown-freebsd4.7/baseline_symbols.txt: Remove. + + * testsuite/thread/pthread1.cc: Remove needless workaround + for FreeBSD 5. + +2002-10-18 Loren J. Rittle <ljrittle@acm.org> + Brad Spencer <spencer@infointeractive.com> + (provided alternate patch and improvements) + + * 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-10-18 Phil Edwards <pme@gcc.gnu.org> * configure.in: Use target, not target_alias, when matching triplet patterns. * configure: Regenerate. +2002-10-17 Momchil Velikov <velco@fadata.bg> + Loren J. Rittle <ljrittle@acm.org> + + * configure.in: Add *-freebsd* to cross list. + * configure: Rebuilt. + 2002-10-16 Benjamin Kosnik <bkoz@redhat.com> - * include/bits/locale_facets.h (__timepunct::__timepunct): Allocate - _M_name_timepunct. - (__timepunct::~__timepunct): Deallocate, remove specialization - declarations. - (messages::messages): Allocate _M_name_messages. - (messages::~messages): Deallocate. - (messages_byname): Same. - * config/locale/gnu/time_members.cc (__timepunct::~__timepunct): - Remove. - * config/locale/generic/time_members.cc (__timepunct::~__timepunct): - Remove. - - * docs/html/install.html: Add eqs_MX, en_PH to required locales list. - + * include/bits/locale_facets.h (__timepunct::__timepunct): Allocate + _M_name_timepunct. + (__timepunct::~__timepunct): Deallocate, remove specialization + declarations. + (messages::messages): Allocate _M_name_messages. + (messages::~messages): Deallocate. + (messages_byname): Same. + * config/locale/gnu/time_members.cc (__timepunct::~__timepunct): + Remove. + * config/locale/generic/time_members.cc (__timepunct::~__timepunct): + Remove. + + * docs/html/install.html: Add es_MX, en_PH to required locales list. + 2002-10-16 Benjamin Kosnik <bkoz@redhat.com> + * config/linker-map.gnu: Add exports for codecvt constructors + where size_t == unsigned long. + +2002-10-14 Benjamin Kosnik <bkoz@redhat.com> + * src/globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to c_locale_impl. * testsuite/abi_check.cc (line_to_symbol_info): Collect size info. * docs/html/abi.txt: Update. -2002-10-16 Benjamin Kosnik <bkoz@redhat.com> +2002-10-14 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/static_members.cc (test02): Less provincial. -2002-10-16 Benjamin Kosnik <bkoz@redhat.com> +2002-10-14 Benjamin Kosnik <bkoz@redhat.com> - * testsuite/22_locale/static_members.cc (test02): Disable for + * testsuite/22_locale/static_members.cc (test02): Disable for systems without named locale support. * testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume running the testsuites in "C" environment. Add new tests. * docs/html/22_locale/locale.html: Update. -2002-10-16 Benjamin Kosnik <bkoz@redhat.com> +2002-10-13 Danny Smith <dannysmith@users.sourceforge.net> + + * include/bits/stl_threads.h (_GLIBCPP_mutex, + _GLIBCPP_mutex_init,_GLIBCPP_mutex_address, + _GLIBCPP_mutex_address_init, _GLIBCPP_once): + Declare in namespace __gnu_cxx. + (_STL_mutex_lock::_M_initialize): Qualify __gnu_cxx + names. + Adjust copyright. + +2002-10-12 Benjamin Kosnik <bkoz@redhat.com> * testsuite/abi_check.cc (hash<string>): Specialize. Simplify. Check compatible symbol versions. @@ -475,11 +1981,17 @@ * testsuite/22_locale/static_members.cc (test02): Avoid null strings. -2002-10-16 Benjamin Kosnik <bkoz@redhat.com> +2002-10-12 Jonathan Wakely <jw@kayari.org> + Gabriel Dos Reis <gdr@integrable-solutions.net> + + * docs/html/21_strings/howto.html#5: Correct nasting of XHTML + elements. Correct allocator-related text. + +2002-10-11 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/static_members.cc (test02): Fix. -2002-10-16 Benjamin Kosnik <bkoz@redhat.com> +2002-10-11 Benjamin Kosnik <bkoz@redhat.com> * acconfig.h (_GLIBCPP_SYMVER): Add. (_GLIBCPP_ASM_SYMVER): Add. @@ -490,26 +2002,41 @@ * include/bits/c++config (_GLIBCPP_AT_AT): Define, as an expedient hack around m4 issues with quoting '@'. * src/locale.cc: Use _GLIBCPP_ASM_SYMVER. - * src/globals.cc (__gnu_cxx): Same. - + * src/globals.cc: Same. + * testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for + non-glibc systems. -2002-10-16 Benjamin Kosnik <bkoz@redhat.com> +2002-10-10 Benjamin Kosnik <bkoz@redhat.com> * config/linker-map.gnu (GLIBCPP_3.2.1): Add. - (GLIBCPP_3.2): Don't export locale::_S_*. + (GLIBCPP_3.2): Don't export locale::_S_*. * src/ios.cc: Move globals into __gnu_cxx. Make old exported symbols match. * src/locale.cc: Same. - * src/localename.cc: Same. + * src/localename.cc: Same. + * src/globals.cc: Same. + +2002-10-10 Phil Edwards <pme@gcc.gnu.org> -2002-10-16 Benjamin Kosnik <bkoz@redhat.com> + * docs/html/21_strings/howto.html: Write #5, char_traits. + * docs/html/17_intro/porting.texi: Expand on os_include_dir. + * docs/html/17_intro/porting.html: Regenerate. + +2002-10-09 Benjamin Kosnik <bkoz@redhat.com> * src/locale.cc: Fix comments, move ctors together. * testsuite/22_locale/static_members.cc (test03): Add. -2002-10-16 Paolo Carlini <pcarlini@unitus.it> - Benjamin Kosnik <bkoz@redhat.com> +2002-10-08 Jonathan Lennox <lennox@cs.columbia.edu> + + PR libstdc++/8071, libstdc++/8127, libstdc++/6745 + * streambuf.tcc (__copy_streambufs): Handle cases where + __sbin->in_avail() returns 0, or where __sbin doesn't set gptr(). + * testsuite/27_io/ostream_inserter_other.cc (test05): Add. + +2002-10-08 Paolo Carlini <pcarlini@unitus.it> + Benjamin Kosnik <bkoz@redhat.com> * include/bits/localefwd.h (class locale): Add static member _S_num_extra_categories, encoding the number of additional @@ -520,7 +2047,7 @@ (class locale::_Impl::_M_check_same_name): Use _S_extra_categories_size, tweak. (locale::locale(const locale&, _Facet*)): Ditto. - * src/locale.cc (locale::locale(const char* )): Rewrite to deal + * src/locale.cc (locale::locale(const char* )): Rewrite to deal with the environment in a POSIX-compliant way while being thread safe. (locale::name()): Update to output POSIX environment strings. @@ -539,7 +2066,7 @@ * src/codecvt.c: _S_c_locale simplification. * src/ctype.c: Same. * src/globals.cc: Add fake_name. - * src/locale-inst.cc: Remove extra includes. + * src/locale-inst.cc: Remove extra includes. * src/locale.cc: Remove extra includes. Add _S_extra_categories_size definition. Correct "C" initialization. @@ -554,7 +2081,7 @@ * config/locale/generic/c_locale.cc: Add _S_categories definition. * config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro. * config/locale/generic/time_members.cc: _S_c_locale cleanup. - + * config/locale/gnu/c_locale.cc: Add _S_categories definition. (_S_destroy_c_locale): Move checks against _S_c_locale here. * config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro. @@ -562,7 +2089,7 @@ calls, _S_c_locale usage. * config/locale/gnu/monetary_members.cc: Same, tweaks. * config/locale/gnu/monetary_members.cc: Same. - * config/locale/gnu/time_members.cc: Same. + * config/locale/gnu/time_members.cc: Same. * config/os/gnu-linux/ctype_noninline.h: Use locale::classic(). * docs/html/22_locale/locale.html: Add bits about global locales @@ -572,60 +2099,260 @@ * testsuite/22_locale/static_members.cc (test02): Add. * testsuite/22_locale/ctor_copy_dtor.cc (test04): Add. -2002-10-11 Gabriel Dos Reis <gdr@integrable-solutions.net> +2002-10-07 Jonathan Wakely <jw@kayari.org> - * include/std/std_limits.h (__glibcpp_char_digits10): Fix Typo. - (__glibcpp_char_digits10): Likewise. + * docs/html/configopts.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/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/23_containers/howto.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/howto.html, + docs/html/ext/sgiexts.html, docs/html/faq/index.html: Add DOCTYPEs. -2002-10-10 Jonathan Lennox <lennox@cs.columbia.edu> +2002-10-03 Richard Earnshaw <rearnsha@arm.com> - PR libstdc++/8071, libstdc++/8127, c++/6745 - * streambuf.tcc (__copy_streambufs): Handle cases where - __sbin->in_avail() returns 0, or where __sbin doesn't set gptr(). - * testsuite/27_io/ostream_inserter_other.cc (test05): Add. + PR libstdc++/3584 + * config/cpu/arm/atomicity.h (__exchange_and_add): Don't try to use + ASM sequences that don't give us atomic addition operations. Instead + just add a comment explaining why it doesn't work. + (__atomic_add): Just use __exchange_and_add. + (__test_and_set, __always_swap): Delete. -2002-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> +2002-10-02 Andreas Jaeger <aj@suse.de> - * Makefile.am (all-multi): Fix multilib parallel build. + * config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt: + New file. 2002-10-01 Phil Edwards <pme@gcc.gnu.org> * Makefile.am (check-abi): Add @ to rule. * Makefile.in: Regenerated. -2002-10-01 Phil Edwards <pme@gcc.gnu.org> - - PR libstdc++/8096 - * include/bits/stl_deque.h (deque::_M_range_check): Throw - out_of_range, not range_error. - -2002-09-28 Paolo Carlini <pcarlini@unitus.it> +2002-09-27 Paolo Carlini <pcarlini@unitus.it> * include/bits/locale_facets.tcc (num_put::_M_widen_int): Deal correctly with grouped, showbased (oct or hex) zero. * testsuite/22_locale/num_put_members_char.cc: Add test05. * testsuite/22_locale/num_put_members_wchar_t.cc: Ditto. -2002-09-25 Phil Edwards <pme@gcc.gnu.org> +2002-09-27 Richard Henderson <rth@redhat.com> - Bulk documentation merge (copy) from trunk. - * docs/doxygen/run_doxygen, docs/html/Makefile, docs/html/abi.txt, - docs/html/configopts.html, docs/html/documentation.html, - docs/html/explanations.html, docs/html/install.html, - docs/html/makedoc.awk, docs/html/17_intro/C++STYLE, - docs/html/17_intro/RELEASE-NOTES, docs/html/17_intro/contribute.html, - docs/html/17_intro/howto.html, docs/html/17_intro/license.html, - 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/23_containers/howto.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/howto.html, docs/html/ext/sgiexts.html, - docs/html/faq/index.html, docs/html/faq/index.txt: Merge from trunk. + * config/os/hpux/cpu_limits.h: Remove. + + * include/std/std_limits.h (numeric_limits<T>::is_iec559): False + if denormals are not supported. + +2002-09-25 Benjamin Kosnik <bkoz@redhat.com> + + * include/Makefile.am (target_headers): Remove cpu_limits.h. + * include/Makefile.in: Regenerate. + * configure.in (CPU_LIMITS_INC_SRCDIR): Remove + * configure: Regenerate. + * configure.target (CPULIMITS): Remove. + + * include/std/std_limits.h: Remove cpu_limits.h include. + + * config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits): + Remove. + * config/os/irix/irix6.5/os_defines.h + (__glibcpp_long_double_bits): Remove. + (__glibcpp_wchar_t_bits): Remove. + (__glibcpp_long_bits): Remove. + * config/os/irix/irix5.2/os_defines.h + (__glibcpp_long_double_bits): Remove. + (__glibcpp_long_bits): Remove. + * config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove. + * config/os/bsd/freebsd/os_defines.h: + (__glibcpp_long_double_bits): Remove. + * config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove. + (__glibcpp_wchar_t_is_signed): Remove. + (__glibcpp_long_bits): Remove. + * config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove. + (__glibcpp_long_double_bits): Remove. + + * config/os/osf/osf5.0/cpu_limits.h: Remove. + * config/cpu/alpha/cpu_limits.h: Remove. + * config/cpu/arm/cpu_limits.h: Remove. + * config/cpu/cris/cpu_limits.h: Remove. + * config/cpu/generic/cpu_limits.h: Remove. + * config/cpu/generic/limits.h: Remove. + * config/cpu/ia64/cpu_limits.h: Remove. + * config/cpu/m68k/cpu_limits.h: Remove. + * config/cpu/mmix/cpu_limits.h: Remove. + * config/cpu/powerpc/cpu_limits.h: Remove. + * config/cpu/S390/cpu_limits.h: Remove. + +2002-09-25 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> + + * testsuite/18_support/numeric_limits.cc: Check the maximum and + minimum values of the wchar_t type. + +2002-09-25 Mark Mitchell <mark@codesourcery.com> + + * include/std/std_limits.h (numeric_limits<unsigned char>::digits): + Fix typo. + +2002-09-23 Richard Henderson <rth@redhat.com> + + * include/std/std_limits.h (__glibcpp_plain_char_is_signed, + __glibcpp_wchar_t_is_signed, __glibcpp_s8_max, __glibcpp_s8_min, + __glibcpp_s8_digits, __glibcpp_s8_digits10, __glibcpp_u8_min, + __glibcpp_u8_max, __glibcpp_u8_digits, __glibcpp_u8_digits10, + __glibcpp_s16_max, __glibcpp_s16_min, __glibcpp_s16_digits, + __glibcpp_s16_digits10, __glibcpp_u16_min, __glibcpp_u16_max, + __glibcpp_u16_digits, __glibcpp_u16_digits10, __glibcpp_s32_max, + __glibcpp_s32_min, __glibcpp_s32_digits, __glibcpp_s32_digits10, + __glibcpp_u32_min, __glibcpp_u32_max, __glibcpp_u32_digits, + __glibcpp_u32_digits10, __glibcpp_s64_max, __glibcpp_s64_min, + __glibcpp_s64_digits, __glibcpp_s64_digits10, __glibcpp_u64_min, + __glibcpp_u64_max, __glibcpp_u64_digits, __glibcpp_u64_digits10, + __glibcpp_bool_digits, __glibcpp_signed_char_min, + __glibcpp_signed_char_max, __glibcpp_signed_char_digits, + __glibcpp_signed_char_digits10, __glibcpp_unsigned_char_min, + __glibcpp_unsigned_char_max, __glibcpp_unsigned_char_digits, + __glibcpp_unsigned_char_digits10, __glibcpp_char_min, + __glibcpp_char_max, __glibcpp_char_digits, __glibcpp_char_digits10, + __glibcpp_signed_short_min, __glibcpp_signed_short_max, + __glibcpp_signed_short_digits, __glibcpp_signed_short_digits10, + __glibcpp_unsigned_short_min, __glibcpp_unsigned_short_max, + __glibcpp_unsigned_short_digits, __glibcpp_unsigned_short_digits10, + __glibcpp_signed_int_min, __glibcpp_signed_int_max, + __glibcpp_signed_int_digits, __glibcpp_signed_int_digits10, + __glibcpp_unsigned_int_min, __glibcpp_unsigned_int_max, + __glibcpp_unsigned_int_digits, __glibcpp_unsigned_int_digits10, + __glibcpp_signed_long_min, __glibcpp_signed_long_max, + __glibcpp_unsigned_long_digits, __glibcpp_unsigned_long_digits10, + __glibcpp_signed_long_long_min, __glibcpp_signed_long_long_max, + __glibcpp_signed_long_long_digits, __glibcpp_signed_long_long_digits10, + __glibcpp_wchar_t_min, __glibcpp_wchar_t_max, __glibcpp_wchar_t_digits, + __glibcpp_wchar_t_digits10): Remove. + (__glibcpp_byte, __glibcpp_word_bits, __glibcpp_word): Remove. + (__float_storage, __double_storage, __long_double_storage): Remove. + (__glibcpp_signed, __glibcpp_min, __glibcpp_max): New. + (__glibcpp_digits, __glibcpp_digits10): New. + (numeric_limits<T>::min): Use __glibcpp_min or limits.h builtins. + (numeric_limits<T>::max): Use __glibcpp_max or limits.h builtins. + (numeric_limits<T>::is_signed, T=char,wchar_t): Use __glibcpp_signed. + (numeric_limits<T>::digits): Use __glibcpp_digits. + (numeric_limits<T>::digits10): Use __glibcpp_digits10. + * testsuite/18_support/numeric_limits.cc (test03): Don't use + __glibcpp_s8_digits10 et al; check vs the installed versions + of digits10 for particular sizes. + + * include/std/std_limits.h (__glibcpp_float_is_modulo, + __glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill. + (numeric_limits<T>::is_modulo, T floating): Use false. + +2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.am (all-multi): Fix multilib parallel build. + +2002-09-22 Richard Henderson <rth@redhat.com> + + * include/std/std_limits.h (__glibcpp_f32_round_error, + __glibcpp_f64_round_error, __glibcpp_f80_round_error, + __glibcpp_f96_round_error, __glibcpp_f128_round_error, + __glibcpp_float_round_error, __glibcpp_double_round_error, + __glibcpp_long_double_round_error, __glibcpp_float_round_style, + __glibcpp_double_round_style, __glibcpp_long_double_round_style): Kill. + (numeric_limits<char>::epsilon, round_error): Use constant 0. + (numeric_limits<float>::round_error): Use constant 0.5. + (numeric_limits<float>::round_style): Use round_to_nearest. + (numeric_limits<double>, numeric_limits<long double>): Similarly. + + * include/std/std_limits.h (__glibcpp_f32_is_iec559, + __glibcpp_f64_is_iec559, __glibcpp_f80_is_iec559, + __glibcpp_f96_is_iec559, __glibcpp_f128_is_iec559, + __glibcpp_float_is_iec559, __glibcpp_double_is_iec559, + __glibcpp_long_double_is_iec559): Remove. + (numeric_limits<float>::is_iec559): Use has_infinity & has_quiet_NaN. + (numeric_limits<double>, numeric_limits<long double>): Similarly. + + * include/std/std_limits.h (__glibcpp_integral_traps): New. + (__glibcpp_char_traps, __glibcpp_short_traps, __glibcpp_int_traps, + __glibcpp_long_traps, __glibcpp_wchar_t_traps, + __glibcpp_long_long_traps, __glibcpp_plain_char_traps, + __glibcpp_signed_char_traps, __glibcpp_unsigned_char_traps, + __glibcpp_signed_short_traps, __glibcpp_unsigned_short_traps, + __glibcpp_signed_int_traps, __glibcpp_unsigned_int_traps, + __glibcpp_signed_long_traps, __glibcpp_unsigned_long_traps, + __glibcpp_signed_long_long_traps, __glibcpp_unsigned_long_long_traps, + __glibcpp_char_is_modulo, __glibcpp_signed_char_is_modulo, + __glibcpp_signed_short_is_modulo, __glibcpp_signed_int_is_modulo, + __glibcpp_signed_long_is_modulo, __glibcpp_signed_long_long_is_modulo, + __glibcpp_wchar_t_is_modulo, __glibcpp_float_is_bounded, + __glibcpp_double_is_bounded, __glibcpp_long_double_is_bounded): Kill. + (numeric_limits<T>::traps, T integral): Use __glibcpp_integral_traps. + (numeric_limits<T>::is_modulo, T integral): Use true. + (numeric_limits<T>::is_bounded, T floating): Use true. + +2002-09-18 Loren J. Rittle <ljrittle@acm.org> + + * testsuite/18_support/numeric_limits.cc (test_epsilon): New. + +2002-09-18 Richard Henderson <rth@redhat.com> + + * testsuite/18_support/numeric_limits.cc: Add -mieee for alpha. + +2002-09-16 Benjamin Kosnik <bkoz@redhat.com> + + * include/c_shadow: Remove. + * include/bits/generic_shadow.h: Remove. + * include/Makefile.am: Remove generic_shadow.h. + * acinclude.m4: Remove c_shadow references. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * mkcshadow: Remove. + * mkinclosure: Remove. -2002-09-21 Phil Edwards <pme@gcc.gnu.org> +2002-09-16 Loren J. Rittle <ljrittle@acm.org> + + libstdc++/7922 + * include/ext/stl_rope.h (rope<>): Qualify dependent names + with `typename'. + +2002-09-16 Richard Henderson <rth@redhat.com> + + * include/std/std_limits.h (__glibcpp_f32_QNaN_bytes, + __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes, + __glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes, + __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes, + __glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes, + __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes, + __glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes, + __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes, + __glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes, + __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes, + __glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes, + __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes, + __glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes, + __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes, + __glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes, + __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes, + __glibcpp_long_double_has_SNaN): Remove. + (__glibcpp_f128_is_iec559): True if IEEE. + (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove. + (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove. + (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove. + (std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf. + (std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN. + (std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf. + (std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf. + (std::numeric_limits<double>): Similarly. + (std::numeric_limits<long double>): Similarly. + * src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove. + (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove. + (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove. + + * testsuite/18_support/numeric_limits.cc (test_infinity): New. + (test_denorm_min, test_qnan, test_is_iec559): New. + +2002-09-16 Phil Edwards <pme@gcc.gnu.org> * testsuite/abi_check.cc: Pull shell fragments out into... * config/abi/extract_symvers: ...here. New file. @@ -633,17 +2360,34 @@ (new-abi-baseline): New target. * Makefile.in: Regenerated. -2002-09-16 Loren J. Rittle <ljrittle@acm.org> +2002-09-16 Richard Henderson <rth@redhat.com> - libstdc++/7922 - * include/ext/stl_rope.h (rope<>): Qualify dependent names - with `typename'. + * include/std/std_limits.h (__glibcpp_f32_denorm_min_bytes, + __glibcpp_f32_has_denorm, __glibcpp_f64_denorm_min_bytes, + __glibcpp_f64_has_denorm, __glibcpp_f80_denorm_min_bytes, + __glibcpp_f80_has_denorm, __glibcpp_f96_denorm_min_bytes, + __glibcpp_f96_has_denorm, __glibcpp_f128_denorm_min_bytes, + __glibcpp_f128_has_denorm, __glibcpp_float_denorm_min_bytes, + __glibcpp_float_has_denorm, __glibcpp_double_denorm_min_bytes, + __glibcpp_double_has_denorm, __glibcpp_long_double_denorm_min_bytes, + __glibcpp_long_double_has_denorm): Remove. + (__glibcpp_float_denorm_min, __glibcpp_double_denorm_min, + __glibcpp_long_double_denorm_min): Remove. + (std::numeric_limits<float>::has_denorm): Use __FLT_DENORM_MIN__. + (std::numeric_limits<float>::denorm_min): Likewise. + (std::numeric_limits<double>): Similarly. + (std::numeric_limits<long double>): Similarly. + * src/limits.cc (__glibcpp_float_denorm_min, + __glibcpp_double_denorm_min, __glibcpp_long_double_denorm_min): Remove. -2002-09-16 Benjamin Kosnik <bkoz@redhat.com> +2002-09-13 Andy Felt <afelt@uwsp.edu> + + * docs/html/17_intro/howto.html: Update link. + +2002-09-13 Phil Edwards <pme@gcc.gnu.org> - * include/bits/codecvt.h: Remove __s. - * config/locale/gnu/codecvt_members.cc: Remove _M_c_locale_codecvt - usage, substitute _S_c_locale. + * docs/doxygen/run_doxygen: Massage man page for Iterator_types.3. + * docs/html/faq/index.html: Whitespace fixes. 2002-09-12 Benjamin Kosnik <bkoz@redhat.com> @@ -657,39 +2401,67 @@ Inject __uselocale into __gnu_cxx. * config/locale/generic/c_locale.h: Match. -2002-09-12 Benjamin Kosnik <bkoz@redhat.com> +2002-09-11 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.tcc (__convert_from_v): Remove. * config/locale/gnu/c_locale.h (__convert_from_v): Add. - * config/locale/generic/c_locale.h (__convert_from_v): Add. + * config/locale/generic/c_locale.h (__convert_from_v): Add. -2002-09-12 Paolo Carlini <pcarlini@unitus.it> +2002-09-11 Paolo Carlini <pcarlini@unitus.it> - * include/bits/locale_facets.tcc (__convert_from_v): - Use __uselocale instead of setlocale for glibc 2.3+. + * include/bits/locale_facets.tcc (__convert_from_v): + Use __uselocale instead of setlocale for glibc 2.3+. -2002-09-12 Benjamin Kosnik <bkoz@redhat.com> +2002-09-10 Benjamin Kosnik <bkoz@redhat.com> * src/Makefile.am (sources): Edit. (target_sources): New. (target_sources_extra): New. * src/Makefile.in: Regenerate. - * acinclude.m4: Set CCODECVT_CC. + * acinclude.m4: Set CCODECVT_CC. * aclocal.m4: Regenerate. * configure: Regenerate. * src/locale.cc: Move ctype definitions... - * src/ctype.cc: ...here. New file. + * src/ctype.cc: ...here. New file. * src/locale.cc: Move codecvt definitions... - * src/codecvt.cc: ...here. - * config/generic/codecvt_members.cc: ...and here. - * config/gnu/codecvt_members.cc: ...and here. + * src/codecvt.cc: ...here. + * config/generic/codecvt_members.cc: ...and here. + * config/gnu/codecvt_members.cc: ...and here. * include/bits/codecvt.h: Tweak. * include/bits/locale_facets: Tweak. * src/bitset.cc: Correct license text. * src/concept-inst.cc: Same. * src/strstream.cc: Same. - * src/vterminate.cc: Same. + * src/vterminate.cc: Same. + +2002-09-10 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net> + + * include/bits/stl_vector.h (vector<>): Don't use a name with + different meanings before and after re-evaluation in the completed + scope. + * include/bits/basic_string.h (basic_string<>): Likewise. + * include/bits/stl_bvector.h (vector<bool>): Likewise. + * include/bits/stl_deque.h (std): Likewise. + * include/bits/stl_list.h (list<>): Likewise. + * include/bits/stl_tree.h (_Rb_tree<>): Likewise. + +2002-09-10 Paolo Carlini <pcarlini@unitus.it> + + * include/bits/codecvt.h (class __codecvt_abstract_base): + Add __c_locale type _M_c_locale_codecvt member. + (class codecvt<char, char, mbstate_t>, + class codecvt<wchar_t, char, mbstate_t>): Add new + codecvt(__c_locale, size_t) constructor. + (codecvt_byname::codecvt_byname): Update. + * src/codecvt.cc (class codecvt<char, char, mbstate_t>, + class codecvt<wchar_t, char, mbstate_t>): Update codecvt(size_t) + constructor and ~codecvt() destructor; define + codecvt(__c_locale, size_t) constructor. + (codecvt::do_out): Switch to _M_c_locale_codecvt around wcsrtombs call. + (codecvt::do_in): Ditto for mbsrtowcs call. + * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)): + Tweak construction of codecvt facets. 2002-09-10 Danny Smith <dannysmith@users.sourceforge.net> @@ -698,10 +2470,19 @@ 2002-09-09 Benjamin Kosnik <bkoz@redhat.com> - * src/misc-inst.cc: Remove some instantiations. - + * docs/html/configopts.html: Change grouping. Note ABI impacts. + Update information for locale model defaults. + * docs/html/install.html: Update include directory + information. + Update testing information. + Update linux issues for named locales. + * docs/html/abi.txt: Fix typos. + Add more info. + + * src/misc-inst.cc: Add missing instantiations. + * testsuite/abi_check.cc: Make output results more verbose. - + * config/os/gnu-linux/ctype_base.h: Remove shadow headers injections. 2002-09-07 Jakub Jelinek <jakub@redhat.com> @@ -710,17 +2491,22 @@ messages<wchar_t>. * config/locale/ieee_1003.1-20021/messages_members.cc: Likewise. +2002-09-06 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/localefwd.h: Tweak formatting. + * docs/html/abi.txt: Add. + 2002-09-06 Jakub Jelinek <jakub@redhat.com> * configure.target: Use cpu_include_dir="config/cpu/sparc" for all sparc targets. - * config/cpu/sparc/bits/atomicity.h: New file. - * config/cpu/sparc/sparc32/bits/atomicity.h: Removed. - * config/cpu/sparc/sparc64/bits/atomicity.h: Removed. + * config/cpu/sparc/atomicity.h: New file. + * config/cpu/sparc/sparc32/atomicity.h: Removed. + * config/cpu/sparc/sparc64/atomicity.h: Removed. 2002-09-06 Jakub Jelinek <jakub@redhat.com> - * config/os/gnu-linux/bits/ctype_noninline.h + * config/os/gnu-linux/ctype_noninline.h [_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*. (ctype<char>::classic_table): If _GLIBCPP_C_LOCALE_GNU, return _S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale @@ -733,16 +2519,8 @@ _S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily switch to "C" locale and initialize using __ctype_{b,tolower,toupper}. -2002-09-05 Loren J. Rittle <ljrittle@acm.org> - - Move from mainline. - * src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation. - * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise. - * src/Makefile.in: Regenerate (explicitly with --cygnus option). - * testsuite/Makefile.in: Likewise. - 2002-09-05 Paolo Carlini <pcarlini@unitus.it> - Roland McGrath <roland@redhat.com> + Roland McGrath <roland@redhat.com> PR libstdc++/7811 * src/locale.cc (locale::locale(__s)): Use getenv instead @@ -756,13 +2534,24 @@ * config/abi/alphaev67-unknown-linux-gnu: Add. * config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt: New file. -2002-09-05 Phil Edwards <pme@gcc.gnu.org> +2002-09-05 Jonathan Wakely <jw@kayari.org> - * testsuite/Makefile.am: Use LD_RUN_PATH when linking abi_check. - Fix spelling in comment. - * testsuite/Makefile.in: Regenerate. - * testsuite/abi_check.cc: Use string literals to build 'cmd' rather - than 'quote' and 'bslash'. + * docs/html/Makefile: Use more portable shell wildcard. + * docs/html/makedoc.awk: Nest elements correctly for XHTML conversion. + * docs/html/configopts.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/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/23_containers/howto.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/howto.html, + docs/html/ext/sgiexts.html, docs/html/faq/index.html: Convert + to XHTML. + * docs/html/faq/index.txt: Regenerate. 2002-09-05 Jakub Jelinek <jakub@redhat.com> @@ -811,7 +2600,171 @@ * config/locale/gnu/messages_members.h: Remove generic definition of do_get. -2002-08-26 Phil Edwards <pme@gcc.gnu.org> +2002-09-04 Richard Henderson <rth@redhat.com> + + * include/std/std_limits.h (__glibcpp_f32_infinity_bytes, + __glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes, + __glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes, + __glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes, + __glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes, + __glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes, + __glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes, + __glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes, + __glibcpp_long_double_has_infinity): Remove. + (std::numeric_limits<float>, std::numeric_limits<double>, + std::numeric_limits<long double>): Use __builtin_huge_val + to implement has_infinity and infinity(). + * src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity, + __glibcpp_long_double_infinity): Remove. + +2002-09-03 Richard Henderson <rth@redhat.com> + + * include/std/std_limits.h (__glibcpp_f32_min, __glibcpp_f32_max, + __glibcpp_f32_digits, __glibcpp_f32_digits10, __glibcpp_f32_radix, + __glibcpp_f32_epsilon, __glibcpp_f32_min_exponent, + __glibcpp_f32_min_exponent10, __glibcpp_f32_max_exponent, + __glibcpp_f32_max_exponent10, __glibcpp_f64_min, __glibcpp_f64_max, + __glibcpp_f64_digits, __glibcpp_f64_digits10, __glibcpp_f64_radix, + __glibcpp_f64_min_exponent, __glibcpp_f64_min_exponent10, + __glibcpp_f64_max_exponent, __glibcpp_f64_max_exponent10, + __glibcpp_f80_min, __glibcpp_f80_max, __glibcpp_f80_digits, + __glibcpp_f80_digits10, __glibcpp_f80_radix, __glibcpp_f80_epsilon, + __glibcpp_f80_min_exponent, __glibcpp_f80_min_exponent10, + __glibcpp_f80_max_exponent, __glibcpp_f80_max_exponent10, + __glibcpp_f96_min, __glibcpp_f96_max, __glibcpp_f96_digits, + __glibcpp_f96_digits10, __glibcpp_f96_radix, __glibcpp_f96_epsilon, + __glibcpp_f96_min_exponent, __glibcpp_f96_min_exponent10, + __glibcpp_f96_max_exponent, __glibcpp_f96_max_exponent10, + __glibcpp_f128_min, __glibcpp_f128_max, __glibcpp_f128_digits, + __glibcpp_f128_digits10, __glibcpp_f128_radix, __glibcpp_f128_epsilon, + __glibcpp_f128_min_exponent, __glibcpp_f128_min_exponent10, + __glibcpp_f128_max_exponent, __glibcpp_f128_max_exponent10, + __glibcpp_float_min, __glibcpp_float_max, __glibcpp_float_digits, + __glibcpp_float_digits10, __glibcpp_float_radix, + __glibcpp_float_epsilon, __glibcpp_float_min_exponent, + __glibcpp_float_min_exponent10, __glibcpp_float_max_exponent, + __glibcpp_float_max_exponent10, __glibcpp_double_min, + __glibcpp_double_max, __glibcpp_double_digits, + __glibcpp_double_digits10, __glibcpp_double_radix, + __glibcpp_double_epsilon, __glibcpp_double_min_exponent, + __glibcpp_double_min_exponent10, __glibcpp_double_max_exponent, + __glibcpp_double_max_exponent10, __glibcpp_long_double_min, + __glibcpp_long_double_max, __glibcpp_long_double_digits, + __glibcpp_long_double_digits10, __glibcpp_long_double_radix, + __glibcpp_long_double_epsilon, __glibcpp_long_double_min_exponent, + __glibcpp_long_double_min_exponent10, + __glibcpp_long_double_max_exponent, + __glibcpp_long_double_max_exponent10): Remove macros. + (std::numeric_limits<float>, std::numeric_limits<double>, + std::numeric_limits<long double>): Use protected float.h macros. + +2002-09-01 Phil Edwards <pme@gcc.gnu.org> + + * testsuite/Makefile.am: Use LD_RUN_PATH when linking abi_check. + Fix spelling in comment. + * testsuite/Makefile.in: Regenerate. + * testsuite/abi_check.cc: Use string literals to build 'cmd' rather + than 'quote' and 'bslash'. + +2002-08-31 Phil Edwards <pme@gcc.gnu.org> + + * acinclude.m4: Minor comment tweaks. + + * docs/html/makedoc.awk: New file... + * docs/html/Makefile: ...called from here... + * docs/html/documentation.html: ...to help generate this. + + * docs/html/21_strings/howto.html: Prepare for new entry. + * include/bits/basic_string.h: Initial basic_stirng hook for + doxygen. Remove trailing whitespace. + * include/bits/char_traits.h: Point to onlinedocs for new entry. + * include/bits/stringfwd.h: Add doxygen hooks for string and + wstring typedefs. + +2002-08-29 Richard Earnshaw <rearnshaw@arm.com> + + * config/cpu/arm/cpu_limits.h: New file. + * configure.target: Use config/cpu/arm for XScale and StrongARM + configurations. + +2002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * include/std/std_limits.h (__glibcpp_char_bits, + __glibcpp_short_bits, __glibcpp_int_bits, __glibcpp_long_bits, + __glibcpp_long_long_bits, __glibcpp_float_bits, + __glibcpp_double_bits, __glibcpp_long_double_bits): Remove. Use + compiler predifined macros. + (__glibcpp_wchar_t_is_signed): Define based on compiler predefined + __WCHAR_UNSIGNED__. + +2002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * include/std/std_limits.h (__glibcpp_f32_infinity_bytes, + __glibcpp_f32_has_infinity, __glibcpp_f32_QNaN_bytes, + __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes, + __glibcpp_f32_has_SNaN, __glibcpp_f32_denorm_min_bytes, + __glibcpp_f32_has_denorm, __glibcpp_f32_is_iec559, + __glibcpp_f64_infinity_bytes, + __glibcpp_f64_has_infinity, __glibcpp_f64_QNaN_bytes, + __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes, + __glibcpp_f64_has_SNaN, __glibcpp_f64_denorm_min_bytes, + __glibcpp_f64_has_denorm, __glibcpp_f64_is_iec559, + __glibcpp_f80_infinity_bytes, + __glibcpp_f80_has_infinity, __glibcpp_f80_QNaN_bytes, + __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes, + __glibcpp_f80_has_SNaN, __glibcpp_f80_denorm_min_bytes, + __glibcpp_f80_has_denorm, __glibcpp_f80_is_iec559, + __glibcpp_f96_infinity_bytes, + __glibcpp_f96_has_infinity, __glibcpp_f96_QNaN_bytes, + __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes, + __glibcpp_f96_has_SNaN, __glibcpp_f96_denorm_min_bytes, + __glibcpp_f96_has_denorm, __glibcpp_f96_is_iec559, + __glibcpp_f128_infinity_bytes, + __glibcpp_f128_has_infinity, __glibcpp_f128_QNaN_bytes, + __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes, + __glibcpp_f128_has_SNaN, __glibcpp_f128_denorm_min_bytes, + __glibcpp_f128_has_denorm, __glibcpp_f128_is_iec559, + __glibcpp_float_infinity_bytes, + __glibcpp_float_has_infinity, __glibcpp_float_QNaN_bytes, + __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes, + __glibcpp_float_has_SNaN, __glibcpp_float_denorm_min_bytes, + __glibcpp_float_has_denorm, __glibcpp_float_is_iec559, + __glibcpp_double_infinity_bytes, + __glibcpp_double_has_infinity, __glibcpp_double_QNaN_bytes, + __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes, + __glibcpp_double_has_SNaN, __glibcpp_double_denorm_min_bytes, + __glibcpp_double_has_denorm, __glibcpp_double_is_iec559, + __glibcpp_long_double_infinity_bytes, + __glibcpp_long_double_has_infinity, __glibcpp_long_double_QNaN_bytes, + __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes, + __glibcpp_long_double_has_SNaN, __glibcpp_long_double_denorm_min_bytes, + __glibcpp_long_double_has_denorm, __glibcpp_long_double_is_iec559: + New macros. + (__glibcpp_word_bits, __glibcpp_word): Likewise. + (__glibcpp_byte): New typedef. + (__float_storage, __double_storage, __long_double_storage): New types. + (__glibcpp_float_infinity, __glibcpp_float_QNaN, + __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Now + objects. Declare. + (__glibcpp_double_infinity, __glibcpp_double_QNaN, + __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise. + (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN, + __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min): + Likewise. + + * src/limits.cc (__glibcpp_float_infinity, __glibcpp_float_QNaN, + __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Define. + (__glibcpp_double_infinity, __glibcpp_double_QNaN, + __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise. + (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN, + __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min): + Likewise. + +2002-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * include/std/std_limits.h: Indent conditional macro definitions. + +2002-08-23 Phil Edwards <pme@gcc.gnu.org> * Makefile.am (check-abi): Specify current directory. * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Fix shell syntax, use @@ -820,7 +2773,18 @@ * configure.target: Add abi_baseline_triplet with default. * testsuite/abi_check.cc: More error checking. -2002-08-25 Benjamin Kosnik <bkoz@redhat.com> +2002-08-23 Phil Edwards <pme@gcc.gnu.org> + + * config/linker-map.gnu: Verbose comments, clean up spacing. + * include/bits/stl_alloc.h: Fix indentation of 'if' bodies, return + statements. + __allocator: Change class declaration to struct. + * docs/html/17_intro/C++STYLE: Fix typo. + * include/bits/stl_deque.h, include/bits/stl_list.h, + include/bits/stl_map.h, include/bits/stl_multimap.h, + include/bits/stl_vector.h: Fix fallout from typo. + +2002-08-22 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Set GLIBCPP_BUILD_ABI_CHECK based on cross compiling, build, host @@ -830,10 +2794,24 @@ native compiling. * testsuite/Makefile.in: Regenerate. +2002-08-22 Loren J. Rittle <ljrittle@acm.org> + + * testsuite/abi_check.cc: Enhance shell portability. + Support older binutils/readelf. + * config/abi/i386-unknown-freebsd4.6: Add. + * config/abi/i386-unknown-freebsd4.6/baseline_symbols.txt: New file. + +2002-08-22 Paolo Carlini <pcarlini@unitus.it> + + * docs/html/faq/index.html: Add Loren James Rittle and + Paolo Carlini to the list of v3 maintainers. + * docs/html/faq/index.txt: Ditto. + * docs/html/17_intro/RELEASE-NOTES: Ditto. + 2002-08-22 Benjamin Kosnik <bkoz@redhat.com> Phil Edwards <pme@gcc.gnu.org> Ulrich Drepper <drepper@redhat.com> - + * Makefile.am (check-abi): New rule. * Makefile.in: Regenerate. * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file. @@ -841,7 +2819,7 @@ * configure: Regenerate. * testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check. (abi_check_SOURCES): Add. - * testsuite/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. * testsuite/abi_check.cc: New file. * config/abi: Add. * config/abi/i686-pc-linux-gnu: Add. @@ -852,6 +2830,14 @@ * configure.in (libtool_VERSION): Update to 5:1:0. * configure: Regenerate. +2002-08-19 Jonathan Wakely <jw@kayari.org> + + * docs/html/configopts.html, docs/html/documentation.html, + docs/html/install.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: Conform to HTML 4.01 standard. + 2002-08-15 Benjamin Kosnik <bkoz@redhat.com> * include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set @@ -861,45 +2847,153 @@ Revert PR libstdc++/7445 * src/locale.cc (locale::classic): Revert. - + * docs/html/17_intro/TODO: Add. -2002-08-15 Danny Smith <dannysmith@users.sourceforge.net> - Benjamin Kosnik <bkoz@redhat.com> - +2002-08-15 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/documentation.html: Update doxygen links for 3.2. + +2002-08-15 Steve Ellcey <sje@cup.hp.com> + + * libsupc++/unwind-cxx.h (__cxa_exception): Change catchTemp + type from void* to _Unwind_Ptr. + * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): + Do not cast landing_pad or base_of_encoded_value to (void *). + * libsupc++/eh_throw.cc (__gxx_exception_cleanup): + Accept _URC_NO_REASON as a valid reason code. + +2002-08-14 Jonathan Wakely <jw@kayari.org> + + * docs/html/22_locale/messages.html: Use HTML entities for + punctuation. + +2002-08-13 Jonathan Wakely <jw@kayari.org> + Phil Edwards <pme@gcc.gnu.org> + + * docs/html/documentation.html: Use HTML entities for punctuation. + +2002-08-09 Phil Edwards <pme@gcc.gnu.org> + + * include/bits/deque.tcc, include/bits/list.tcc, + include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h, + include/bits/stl_list.h, include/bits/stl_map.h, + include/bits/stl_multimap.h, include/bits/stl_queue.h, + include/bits/stl_stack.h, include/bits/stl_vector.h, + include/bits/vector.tcc: Re-indent contents of namespace std, + re-wrap comment lines as necessary. + +2002-08-08 Danny Smith <dannysmith@users.sourceforge.net> + Benjamin Kosnik <bkoz@redhat.com> + * include/bits/istream.tcc (basic_istream::ignore): Use sbumpc, not snextc. * testsuite/27_io/narrow_stream_objects.cc (test10): Add. -2002-08-15 Danny Smith <dannysmith@users.sourceforge.net> +2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * libsupc++/Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS. + * libsupc++/Makefile.in: Regenerate. + +2002-08-05 Gabriel Dos Reis <gdr@nerim.net> + + PR/7491 + * include/bits/slice_array.h(_DEFINE_VALARRAY_OPERATOR): + Instantiate with new function objects. + * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): Likewise. + Reformat. Uglify. + * include/bits/gslice_array.h: Likewise. + * include/bits/indirect_array.h: Likewise. + +2002-08-03 Gabriel Dos Reis <gdr@nerim.net> + + * testsuite/26_numerics/valarray_name_lookup.cc: Rename from + testsuite/26_numerics/valarray_name_lookup.C + + * include/bits/valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our + object function surrogates. + * include/bits/valarray_meta.h (__shift_left): Fix typo. + (_BinFunClos<>): Remove. + (_BinFunBase<>): Likewise. + (_BinFunBase1<>):Likewise. + (_BinFunBase2<>): Likewise. + (_DEFINE_EXPR_RELATIONAL_OPERATOR): Likewise. + (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition. + (_DEFINE_EXPR_BINARY_OPERATOR): Likewise. + (_DEFINE_EXPR_BINARY_FUNCTION): Likewise. + * include/std/std_valarray.h: Dont #include <functional> anymore. + (_Bitwise_or<>, _Bitwise_and<>, _Bitwise_xor<>, _Shift_left<>, + _Shift_right<>): Remove. + (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT): Adjust instantiation. + (_DEFINE_BINARY_OPERATOR): Tweak definition. + (_DEFINE_LOGICAL_OPERATOR): Remove. + * testsuite/26_numerics/valarray_name_lookup.C (main): Add more tests. + +2002-08-02 Gabriel Dos Reis <gdr@nerim.net> + + * include/bits/valarray_meta.h (_UnFunBase<>): Remove. + (_UnFunClos<>): Same. + (_UnBase<>): Reformat. Make first template-parameter non + template. + (_UnClos<>): Likewise. + (_Expr<>): Reformate. Adjust unary member operator return types. + (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition. + (_DEFINE_EXPR_UNARY_FUNCTION): Likewise. + * include/std/std_valarray.h (_UnClos<>): Adjust declaration. + (valarray<>::_UnaryOp<>): New nested traits. Adjust unary member + operator return types. Reformat. + (_Bitwise_not): Remove. + (_DEFINE_VALARRAY_UNARY_OPERATOR): Adjust definition. + * testsuite/26_numerics/valarray_name_lookup.C: New test. + +2002-08-02 Danny Smith <dannysmith@users.sourceforge.net> * config/os/newlib/ctype_inline.h (is): Don't offset _M_table. (scan_is): Use this->is. (scan_not): Likewise. - -2002-08-15 Rick Danos <rdanos@hotmail.com> - PR libstdc++/7461 - * config/os/newlib/ctype_noninline.h (classic_table): Add offset. - * config/os/newlib/ctype_inline.h (is): Use static_cast. - -2002-08-14 Release Manager - - * GCC 3.2 Released. - -2002-08-06 Benjamin Kosnik <bkoz@redhat.com> +2002-08-02 Benjamin Kosnik <bkoz@redhat.com> Revert PR libstdc++/6594 * src/strstream.cc (strstreambuf): Revert. (strstreambuf::overflow): Same. - (strstreambuf::~strstreambuf): Same. + (strstreambuf::~strstreambuf): Same. * testsuite/backward/strstream_members.cc (test02): Add. + * docs/html/abi.txt: Update. Spell check. + * testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test. + * testsuite/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES. + * testsuite/Makefile.in: Regenerate. + * testsuite/testsuite_hooks.h: Use __throw_exception_again, + include functexcept.h so that -fno-exceptions will build. + +2002-08-02 Gabriel Dos Reis <gdr@nerim.net> + + * include/bits/valarray_meta.h (__unary_plus, __negate, + __bitwise_not, __plus, __minus, __multiplies, __divides, + __modulus, __bitwise_xor, __bitwise_or, __bitwise_and, + __shift_left, __shift_right, __logical_and, __logical_or, + __logical_not, __equal_to, __not_equal_to, __less, __less_equal, + __greater_equal, __greater, __atan2, __pow): New function object + classes. + (__fun<>): New function traits class. + +2002-08-01 Rick Danos <rdanos@hotmail.com> + + PR libstdc++/7461 + * config/os/newlib/ctype_noninline.h (classic_table): Add offset. + * config/os/newlib/ctype_inline.h (is): Use static_cast. + +2002-08-01 Neil Booth <neil@daikokuya.co.uk> + + * libsupc++/Makefile.am (LT_COMPILE): Remove C++ flags. + * libsupc++/Makefile.in: Regenerate. + 2002-08-01 Benjamin Kosnik <bkoz@redhat.com> Jakub Jelinek <jakub@redhat.com> - + * config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2, GLIBCPP_3.1 to GLIBCPP_3.2. @@ -914,7 +3008,7 @@ 2002-07-31 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/7442 - * libsupc++/cxxabi.h + * libsupc++/cxxabi.h (__base_class_info): Change to __base_class_type_info. 2.9.5p6c (__base_class_info::__base): Change to __base_type. 2.9.5p6c (__base_class_info::offset_shift): Change to __offset_shift. 2.9.5p6c @@ -935,6 +3029,10 @@ * libsupc++/tinfo.cc (__do_dyncast): Same. * libsupc++/tinfo.cc (__do_upcast): Same. +2002-07-31 Benjamin Kosnik <bkoz@redhat.com> + + * src/fstream.cc: Add _GLIBCPP_USE_WCHAR_T guards. + 2002-07-31 Simon Whomsley <whomsley@avacadcam.com> * docs/html/22_locale/howto.html: Fix. @@ -945,6 +3043,10 @@ * src/locale.cc (locale::classic): Move locks inside !_S_classic block. +2002-07-31 Benjamin Kosnik <bkoz@redhat.com> + + * docs/html/abi.txt: Update. + 2002-07-30 Benjamin Kosnik <bkoz@redhat.com> Gabriel Dos Reis <gdr@nerim.net> @@ -956,15 +3058,15 @@ (istream::sync): Same. (istream::sentry::sentry): Use eq_int_type. (istream::get): Same. - * include/bits/ostream.tcc: Change __pad to - __pad<_CharT, _Traits>::_S_pad. + * include/bits/ostream.tcc: Change __pad to + __pad<_CharT, _Traits>::_S_pad. * include/bits/locale_facets.h: Add __pad_traits generic and ostreambuf_iterator specialization. * include/bits/locale_facets.tcc: Change __pad into struct __pad with a _CharT and _Traits template parameter and _S_pad static member function. * src/locale-inst.cc: Update __pad instantiations. - + * include/std/std_fstream.h: Declare _M_underflow_common specializations. * src/fstream.cc: New. Add _M_underflow_common specializations. @@ -986,15 +3088,23 @@ * testsuite/27_io/streambuf.cc: Add instantiation test, testsuite_hooks include. * testsuite/27_io/istream.cc: Same. - * testsuite/27_io/ostream.cc: Same. + * testsuite/27_io/ostream.cc: Same. * testsuite/27_io/fstream.cc: Same. * testsuite/27_io/stringstream.cc: Same. * testsuite/27_io/filebuf.cc: Same. * testsuite/27_io/stringbuf.cc: Same. +2002-07-29 Alan Modra <amodra@bigpond.net.au> + + * config/cpu/powerpc/cpu_limits.h (__glibcpp_long_bits): Define. + * configure.target (cpu_include_dir): Use cpu/powerpc for powerpc64. + * config/cpu/powerpc/atomicity.h (__always_swap): Remove. + (__test_and_set): Remove. + (_STWCX): Define and use. + 2002-07-26 Phil Edwards <pme@gcc.gnu.org> - * libsupc++/new (placement delete): Remove unused paramater names. + * libsupc++/new (placement delete): Remove unused parameter names. 2002-07-25 Benjamin Kosnik <bkoz@redhat.com> @@ -1006,18 +3116,18 @@ * testsuite/27_io/ostream.cc: Same. * testsuite/27_io/filebuf.cc: Same. * testsuite/27_io/stringbuf.cc: Replace content, move to... - * testsuite/27_io/stringbuf_members.cc: ...here. + * testsuite/27_io/stringbuf_members.cc: ...here. * testsuite/27_io/streambuf.cc: Replace content, move to... - * testsuite/27_io/streambuf_members.cc: ...here. + * testsuite/27_io/streambuf_members.cc: ...here. * testsuite/27_io/stringstream.cc: Replace content, move to... * testsuite/27_io/stringstream_members.cc: ...here. * testsuite/27_io/ios.cc: New file. * testsuite/27_io/fstream.cc: New file. - * testsuite/27_io/ifstream.cc: New file. - * testsuite/27_io/ofstream.cc: New file. - * testsuite/27_io/istringstream.cc: New file. - * testsuite/27_io/ostringstream.cc: New file. - + * testsuite/27_io/ifstream.cc: New file. + * testsuite/27_io/ofstream.cc: New file. + * testsuite/27_io/istringstream.cc: New file. + * testsuite/27_io/ostringstream.cc: New file. + 2002-07-25 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/7220 @@ -1025,18 +3135,153 @@ zero. * testsuite/27_io/istream_unformatted.cc (test10): Add. +2002-07-25 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/27_io/ios_base_type.cc: Move to... + * testsuite/27_io/ios_base_types.cc: ...here. + 2002-07-24 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/7222 * src/locale.cc (locale::locale(const char*)): Use setlocale NULL. * testsuite/22_locale/ctor_copy_dtor.cc (test02): New. - + +2002-07-24 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/7230 + * config/linker-map.gnu: Revert strstream patch from 2002-07-01. + * include/Makefile.am (backward_headers): Use strstream, not + strstream.h. + * include/Makefile.in: Regenerate. + * include/backward/strstream: Revert. + * include/backward/strstream.h: Remove. + * src/strstream.cc: Revert. + * testsuite/backward/strstream_members.cc: Change include. + +2002-07-24 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/7219 + * include/bits/ios_base.h (ios_base::streampos): Add. + (ios_base::streamoff): Add. + * testsuite/27_io/ios_base_type.cc: New. + 2002-07-24 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/7286 * libsupc++/new: Add placement delete. * testsuite/18_support/new_delete_placement.cc: New. - + + * docs/html/abi.txt: Fix typos. + +2002-07-23 Benjamin Kosnik <bkoz@redhat.com> + + * docs/html/documentation.html: Remove libstdc++-v3.0.86 links, + confusing usage of "latest." + De-tangle contributor information from introductory notes. + Move abi.txt link placement, activate. + Re-organize. + Move chapter info into old FAQ format. + * docs/html/organization.html: Removed, obsoleted by doxygen work. + * docs/html/abi.txt: Add notes on testing ABI changes. + +2002-07-20 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/abi.txt: New file. + * docs/html/23_containers/howto.html: Tweak vector-overhead text. + * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html: + Import from upstream, R22. + + * include/bits/char_traits.h, include/bits/stl_iterator.h, + include/bits/stl_iterator_base_types.h, libsupc++/exception, + libsupc++/new, libsupc++/typeinfo: Use @brief markup. + + * include/bits/deque.tcc, include/bits/stl_alloc.h, + include/bits/stl_deque.h, include/bits/stl_list.h: Postpone removal + of deprecated functions until 3.4. (Same timeframe, different text.) + * include/bits/stl_vector.h: Ditto. Also do the same cleanups that + the other sequence classes received. + +2002-07-18 Brendan Kehoe <brendan@zen.org> + + * bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): Fix typo of + _Nname to _Name. + +2002-07-19 Gabriel Dos Reis <gdr@nerim.net> + + DR/123 + * include/bits/slice_array.h + (slice_array<T>::operator=(const T&)): Constify. + * include/bits/gslice_array.h + (gslice_array<T>::operator=(const T&)): Likewise. + * include/bits/mask_array.h + (mask_array<T>::operator=(const T&)): Likewise. + * include/bits/indirect_array.h + (indirect_array<T>::operator=(const T&): Likewise. + +2002-07-17 Phil Edwards <pme@gcc.gnu.org> + + * docs/doxygen/run_doxygen: Remove template parameter names from + "Compound List" summary page. Reformat. + * docs/html/documentation.html: XHTML fixes. + +2002-07-16 Andreas Schwab <schwab@suse.de> + + * libsupc++/new (set_new_handler): Declare to not throw any + exceptions. + * libsupc++/new_handler.cc (set_new_handler): Likewise. + +2002-07-16 Gabriel Dos Reis <gdr@nerim.net> + + * include/Makefile.am (bits_headers): Remove slice.h + * include/Makefile.in: Regenerate. + * include/bits/slice.h (slice): move to include/bits/slice_array.h + * include/bits/slice.h Remove. + * include/std/std_valarray.h: Don't #include bits/slice.h anymore. + * include/bits/slice_array.h: Comply to official coding styles. + * testsuite/26_numerics/slice.cc: New test. + +2002-07-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix + print to match vendor <ctype.h>. + +2002-07-15 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/faq/index.html: Fix download links. + * docs/html/faq/index.txt: Regenerate. + * docs/html/17_intro/porting.html: Regenerate from earlier changes. + +2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * configure.target (target_os switch): Allow for irix6*o32 + configurations. + +2002-07-10 Gabriel Dos Reis <gdr@nerim.net> + + * include/bits/valarray_meta.h (_UnFunBase): Take a second + template parameter. Remove _M_func data member. + (_UnFunClos): Take a third template parameter. + (__abs, __cos, __acos, __cosh, __sin, __asin, __sinh, __tan, + __atan, __tanh, __exp, __log, __log10, __sqrt): New classes. + (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition. + +2002-07-08 Eric Christopher <echristo@redhat.com> + + * configure.target: Fix comment for mips atomicity. Add + mips*-*-linux* target, enable atomic operations there. + * config/cpu/mips/atomicity.h: Fix comments, remove + #ifndef/#endif. Add push/pop mips2. + +2002-07-08 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> + + * include/bits/stl_deque.h (_Deque_alloc_base): Change order of + member declarations to avoid compiler warnings and restore 3.1 ABI. + +2002-07-08 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/23_containers/howto.html: Link to dk_std::vector paper + and homepage. + 2002-07-07 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/7186 @@ -1050,8 +3295,8 @@ * include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to size_t, from int_type. - (basic_streambuf::_M_buf_size_opt): Same. - (basic_streambuf::_S_pback_sizex): Same. + (basic_streambuf::_M_buf_size_opt): Same. + (basic_streambuf::_S_pback_sizex): Same. * include/bits/streambuf.tcc: Same. * include/std/std_streambuf.h (basic_streambuf::snextc): Use eq_int_type. @@ -1064,14 +3309,37 @@ (basic_streambuf::xsputn): Same. (__copy_streambufs): Same. -2002-07-02 Paolo Carlini <pcarlini@unitus.it> +2002-07-03 Benjamin Kosnik <bkoz@redhat.com> - PR libstdc++/6642 - * include/bits/stl_iterator.h - (__normal_iterator::operator-(const __normal_iterator&)): - Make non-member, as already happens for the comparison - operators in accord with DR179 (Ready). - * testsuite/24_iterators/iterator.cc: Add test from the PR. + * include/std/std_memory.h: Fix formatting. + * testsuite/20_util/auto_ptr_neg.cc: New. + * testsuite/20_util/auto_ptr.cc: Tweaks. + * testsuite/23_containers/map_operators.cc (test01): Split into.. + * testsuite/23_containers/map_operators_neg.cc (test01): ...this. New. + * testsuite/23_containers/set_operators.cc: Move to... + * testsuite/23_containers/set_operators_neg.cc: ...here. + * testsuite/README: Add some more naming rules. + +2002-07-03 Steev Wilcox <steev@paradigmds.com> + + PR libstdc++/7057 + * include/ext/stl_hashtable.h: Fix. + * testsuite/ext/hash_map.cc: New. + +2002-07-03 Jack Reeves <jackw_reeves@hotmail.com> + Kenny Simpson <theonetruekenny@yahoo.com> + Phil Edwards <pme@gcc.gnu.org> + + PR libstdc++/3946 + * testsuite/20_util/auto_ptr.cc (test08): New test. + * include/std/std_memory.h (auto_ref_ptr): Make constructor explicit. + (auto_ptr::operator auto_ptr_ref): Fix typo. + General reformatting and doxygenating of the whole file. + +2002-07-03 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/7097 + * include/c/std_cwchar.h: Fix. 2002-07-02 Benjamin Kosnik <bkoz@redhat.com> @@ -1082,89 +3350,116 @@ * config/locale/generic/monetary_members.cc: Same. * src/localename.cc (_Impl::_Impl(const char*, size_t)): Use it. + * include/backward/strstream.h: Update date. + +2002-07-02 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/6642 + * include/bits/stl_iterator.h + (__normal_iterator::operator-(const __normal_iterator&)): + Make non-member, as already happens for the comparison + operators in accord with DR179 (Ready). + * testsuite/24_iterators/iterator.cc: Add test from the PR. + +2002-07-02 Phil Edwards <pme@gcc.gnu.org> + + PR libstdc++/7173 + * acinclude.m4: Simplify determination of gcc_version, and move + up to GLIBCPP_CONFIGURE. + * configure.in (release_VERSION): Really remove. + (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER): Move after GLIBCPP_CONFIGURE. + * aclocal.m4, configure: Regenerate. + +2002-07-02 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/configopts.html, docs/html/install.html: Tweaks. + * include/ext/algorithm, include/ext/hash_map, include/ext/hash_set, + include/ext/iterator, include/ext/numeric, include/ext/rb_tree, + include/ext/slist, include/ext/stl_rope.h: Add doxygen hooks. + 2002-07-01 Benjamin Kosnik <bkoz@redhat.com> - * configure.in (libtool_VERSION): Bump to 5:0:0. - * configure: Regenerate. + * include/backward/strstream: Remove namespace std. Transfer to... + * include/backward/strstream.h: ...here. Qualify std names. + * src/strstream.cc: Remove namespace std. + * include/Makefile.am (backward_headers): Remove strstream.h. + * include/Makefile.in: Regenerate. + * config/linker-map.gnu: Export strstream bits. -2002-05-19 Paolo Carlini <pcarlini@unitus.it> + * src/fstream-inst.cc: Tweak. + * src/io-inst.cc: Same. + * src/istream-inst.cc: Same. + * src/misc-inst.cc: Same. + * src/ostream-inst.cc: Same. + * src/sstream-inst.cc: Same. + * src/valarray-inst.cc: Same. + * src/misc-inst.cc: Remove unused instantiations. - * testsuite/23_containers/deque_operators.cc (test01): - Fix minor typo in last commit. +2002-07-01 Benjamin Kosnik <bkoz@redhat.com> -2002-05-18 Paolo Carlini <pcarlini@unitus.it> + * configure.in (libtool_VERSION): Bump to 5:0:0. + * configure: Regenerate. - PR libstdc++/6503 - * include/bits/stl_deque.h (_Deque_iterator::operator==, - operator!=, operator<, operator>, operator>=, operator<=): - Make non-member functions, to allow comparing const and - non-const iterators in any order. - * testsuite/23_containers/deque_operators.cc: New testfile. +2002-06-28 Phil Edwards <pme@gcc.gnu.org> -2002-07-25 Release Manager + PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161 + * include/std/std_queue.h: Include deque.tcc, vector.tcc. + * include/std/std_stack.h: Include deque.tcc. + * testsuite/23_containers/adaptors.cc: New file. - * GCC 3.1.1 Released. +2002-06-27 Phil Edwards <pme@gcc.gnu.org> -2002-07-20 Phil Edwards <pme@gcc.gnu.org> + * include/bits/stl_alloc.h: Deprecate all 'reallocate' memfns. + * docs/html/ext/howto.html: Update allocator notes. - Bulk documentation merge (copy) from trunk. - * docs/doxygen/TODO, docs/doxygen/run_doxygen, docs/doxygen/tables.html, - docs/doxygen/user.cfg.in, docs/html/Makefile, - docs/html/documentation.html, docs/html/17_intro/porting.html, - docs/html/17_intro/porting.texi, docs/html/23_containers/howto.html, - docs/html/ext/howto.html, docs/html/ext/lwg-active.html, - docs/html/ext/lwg-defects.html, docs/html/faq/index.html, - docs/html/faq/index.txt: Merge from trunk. +2002-06-26 Benjamin Kosnik <bkoz@redhat.com> -2002-07-16 Andreas Schwab <schwab@suse.de> + * configure.in (INTERFACE): Remove. + (release_VERSION): Remove. + * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Change include placement. + (libstdcxx_interface): Change. Use gcc methods to determine version. + * configure: Regenerate. + * aclocal.m4: Regenerate. - * libsupc++/new (set_new_handler): Declare to not throw any - exceptions. - * libsupc++/new_handler.cc (set_new_handler): Likewise. +2002-06-25 DJ Delorie <dj@redhat.com> -2002-07-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + * acinclude.m4 (GLIBCPP_CONFIGURE): Split out + GLIBCPP_TOPREL_CONFIGURE. + * aclocal.m4: Likewise. + * configure.in: Call it before AC_CANONICAL_SYSTEM. + * configure: Regenerate. - * config/os/solaris/solaris2.5/bits/ctype_base.h (ctype_base): Fix - print to match vendor <ctype.h>. +2002-06-25 Jessica Han <jessica@cup.hp.com> -2002-07-03 Steev Wilcox <steev@paradigmds.com> - - PR libstdc++/7057 - * include/ext/stl_hashtable.h: Fix. - * testsuite/ext/hash_map.cc: New. + * config/os/hpux/os_defines.h Define _GLIBCPP_VTABLE_PADDING + * libsupc++/tinfo.cc Handle the 8 byte aligned vtable entries when + _GLIBCPP_VTABLE_PADDING is defined. -2002-07-03 Benjamin Kosnik <bkoz@redhat.com> +2002-06-25 Benjamin Kosnik <bkoz@redhat.com> - PR libstdc++/7097 - * include/c/std_cwchar.h: Fix. + * include/bits/stl_alloc.h: Additional formatting. -2002-07-03 Jack Reeves <jackw_reeves@hotmail.com> - Kenny Simpson <theonetruekenny@yahoo.com> - Phil Edwards <pme@gcc.gnu.org> +2002-06-24 Phil Edwards <pme@gcc.gnu.org> - PR libstdc++/3946 - * testsuite/20_util/auto_ptr.cc (test08): New test. - * include/std/std_memory.h (auto_ref_ptr): Make constructor explicit. - (auto_ptr::operator auto_ptr_ref): Fix typo. - General reformatting and doxygenating of the whole file. + * include/bits/stl_alloc.h: Reformat as per C++STYLE. -2002-07-03 Phil Edwards <pme@gcc.gnu.org> +2002-06-24 Phil Edwards <pme@gcc.gnu.org> - PR libstdc++/7173 - * acinclude.m4: Simplify determination of gcc_version, and move - up to GLIBCPP_CONFIGURE. - * configure.in (release_VERSION): Really remove. - (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER): Move after GLIBCPP_CONFIGURE. - * aclocal.m4, configure: Regenerate. + * config/cpu/*/bits/*: Move header files up a level. Remove bits. + * config/os/*/bits/*: Likewise. + * configure.in: Update. + * configure: Regenerate. + * configure.target: Update. + * docs/html/17_intro/porting.texi: Update. -2002-07-02 Phil Edwards <pme@gcc.gnu.org> +2002-06-21 Phil Edwards <pme@gcc.gnu.org> - * docs/html/configopts.html, docs/html/install.html: Tweaks. - * include/ext/algorithm, include/ext/hash_map, include/ext/hash_set, - include/ext/iterator, include/ext/numeric, include/ext/rb_tree, - include/ext/slist, include/ext/stl_rope.h: Add doxygen hooks. + * include/bits/stl_map.h, include/bits/stl_multimap.h, + include/bits/stl_queue.h, include/bits/stl_stack.h: Reformat and + complete doxygenation. + * include/bits/boost_concept_check.h: Minor comment. -2002-06-28 Benjamin Kosnik <bkoz@redhat.com> +2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. @@ -1193,8 +3488,8 @@ * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. - - Pendantic std usage in testsuites. + + Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. @@ -1228,23 +3523,23 @@ * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. -2002-06-28 Benjamin Kosnik <bkoz@redhat.com> +2002-06-20 Benjamin Kosnik <bkoz@redhat.com> * libsupc++/Makefile.am (libsupc__convenience_la_SOURCES): Add c_sources. -2002-06-28 Benjamin Kosnik <bkoz@redhat.com> +2002-06-20 Benjamin Kosnik <bkoz@redhat.com> * src/ext-inst.cc (__gnu_cxx): Use instead of std:: for extensions. Use size_type instead of unsigned long. -2002-06-28 Steve Ellcey <sje@cup.hp.com> +2002-06-20 Steve Ellcey <sje@cup.hp.com> * src/ext-inst.cc (_S_fetch): Add explicit templates for char and wchar types. (_S_min_len): Ditto. -2002-06-28 Benjamin Kosnik <bkoz@redhat.com> +2002-06-20 Benjamin Kosnik <bkoz@redhat.com> * include/Makefile.am: Add rules. * include/Makefile.in: Regenerate. @@ -1253,20 +3548,28 @@ * aclocal.m4: Regenerate. * configure: Regenerate. * configure.target (c_model, c_compatibility): Add. - + * libsupc++/Makefile.am (c_sources): New. (libsupc___la_SOURCES): Add c_sources. (LTCOMPILE): Remove INCLUDES. (GCC_INCLUDES): New. (C_COMPILE): New, like COMPILE but without INCLUDES. (cxa_demangle.o): Use C_COMPILE. - (dyn-string.o): Use C_COMPILE. - - * include/c/std_cstdarg.h: Define __need___va_list. + (dyn-string.o): Use C_COMPILE. + + * include/c/std_cstdarg.h: Define __need___va_list. * include/c/std_cstddef.h: Define need_size_t, need_ptrdiff_t, need_NULL, need_offsetof. -2002-06-28 Benjamin Kosnik <bkoz@redhat.com> +2002-06-19 Steve Ellcey <sje@cup.hp.com> + + * configure.in (HAVE_FINITE*, HAVE_ISINF*, HAVE_ISNAN*): Remove + definitions in hpux11 cross-build because these functions do + not exist on hpux11 (but some exist on hpux10); move defaults out + into existing sections. + * configure: Regenerate. + +2002-06-18 Benjamin Kosnik <bkoz@redhat.com> * include/c/std_cwchar.h: Guard. Add mbstate_t bits. * include/c/std_cwctype.h: Guard. @@ -1280,32 +3583,36 @@ * src/Makefile.in: Regenerate. * src/cmath.cc: Remove. -2002-06-27 Benjamin Kosnik <bkoz@redhat.com> +2002-06-18 Phil Edwards <pme@gcc.gnu.org> - * configure.in (INTERFACE): Remove. - (release_VERSION): Remove. - * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Change include placement. - (libstdcxx_interface): Change. Use gcc methods to determine version. - * configure: Regenerate. - * aclocal.m4: Regenerate. + * configure.target: Force mips to use the generic cpu routines. -2002-06-27 Benjamin Kosnik <bkoz@redhat.com> +2002-06-18 Phil Edwards <pme@gcc.gnu.org> - * acinclude.m4: Fix last checkin. - * aclocal.m4: Regenerate. - * configure: Regenerate. + * configure.host: Delete file. + * configure.target: More documentation. Factor out common parts of + script into "intelligent" settings about defaults. Remove redundancy. -2002-06-25 DJ Delorie <dj@redhat.com> + * acinclude.m4: Update comments. Do not call configure.host. + (GLIBCPP_ENABLE_SYMVERS): If disabled, do not bother checking for + libgcc_s. + * configure.in: Slight reformatting, more comments. Factor out + "config/" from all the directories. + * docs/html/17_intro/porting.texi: Update and expand. + * testsuite/Makefile.am (AM_RUNTESTFLAGS): Move empty setting + from configure.host. - * acinclude.m4 (GLIBCPP_CONFIGURE): Split out - GLIBCPP_TOPREL_CONFIGURE. - * aclocal.m4: Likewise. - * configure.in: Call it before AC_CANONICAL_SYSTEM. - * configure: Regenerate. + * aclocal.m4, configure, docs/html/17_intro/porting.html, + testsuite/Makefile.in: Regenerate. -2002-06-20 David Edelsohn <edelsohn@gnu.org> +2002-06-16 Phil Edwards <pme@gcc.gnu.org> - * configure.target (CPULIMITSH): Use powerpc directory for rs6000. + * docs/doxygen/TODO: Update. + * docs/doxygen/tables.html: Uncomment magical middle column. + * docs/doxygen/user.cfg.in: Kludge to ignore function-like macros. + * include/bits/stl_queue.h: Doxygenate and reformat. + * include/bits/ios_base.h, include/std/std_streambuf.h: Add comment + for deprecated names required by the standard. 2002-06-14 J.T. Conklin <jtc@acorntoolworks.com> @@ -1313,31 +3620,49 @@ * configure: Regenerate. * aclocal.m4: Regenerate. +2002-06-12 Phil Edwards <pme@gcc.gnu.org> + + * include/Makefile.am: Add new files. + * include/Makefile.in: Regenerate. + + * include/bits/stl_deque.h, include/bits/stl_list.h, + include/bits/stl_vector.h: Clean up, reformat. Move definitions... + * include/bits/deque.tcc, include/bits/list.tcc, + include/bits/vector.tcc: ...to here. New files. + + * include/ext/stl_hashtable.h: Inclide correct full headers. + * include/std/std_deque.h: Include .tcc files for now. + * include/std/std_list.h: Likewise. + * include/std/std_vector.h: Likewise. + +2002-06-12 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.am: Add FLAGS_TO_PASS. + * Makefile.in: Regenerated. + 2002-06-11 J.T. Conklin <jtc@acorntoolworks.com> - Benjamin Kosnik <bkoz@redhat.com> - + Benjamin Kosnik <bkoz@redhat.com> + * configure.target: Set os_include_dir to config/os/qnx/qnx6.1 under *-qnx6.[12]*. * configure.in: Add support for *-qnx6.[12]*. * configure: Regenerate. * config/os/qnx, config/os/qnx/qnx6.1, config/os/qnx/qnx6.1/bits: - New directories. + New directories. * config/os/qnx/qnx6.1/bits/ctype_base.h, ctype_inline.h, ctype_noninline.h, os_defines.h: New files. -2002-06-10 Steve Ellcey <sje@cup.hp.com> +2002-06-10 Loren J. Rittle <ljrittle@acm.org> - * src/locale-inst.cc (__codecvt_abstract_base): - Put inside _GLIBCPP_USE_WCHAR_T ifdef. - * include/bits/istream.tcc (basic_istream): Ditto. - (ws) Ditto. - (operator>>) Ditto. - * include/bits/ostream.tcc (basic_ostream): Ditto. - (endl): Ditto. - (ends): Ditto. - (flush): Ditto. - (operator<<): Ditto. + * acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT_ancilliary): Reorder and + include all required headers for test against older POSIX standard. + (GLIBCPP_CHECK_SETRLIMIT): Likewise. + (ac_setrlimit): Likewise. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * testsuite/testsuite_hooks.cc: Reorder and include all + required headers for use against older POSIX standard. 2002-06-08 Paolo Carlini <pcarlini@unitus.it> @@ -1347,7 +3672,7 @@ * include/backwards/strstream: Format. * src/strstream.cc: Format. - + 2002-06-08 Andreas Schwab <schwab@suse.de> * src/strstream.cc (strstreambuf::overflow): Set _M_buf, @@ -1357,12 +3682,53 @@ * config/os/generic/bits/ctype_noninline.h: Tweak format. +2002-06-07 Steve Ellcey <sje@cup.hp.com> + + * src/locale-inst.cc (__codecvt_abstract_base): + Put inside _GLIBCPP_USE_WCHAR_T ifdef. + * include/bits/istream.tcc (basic_istream): Ditto. + (ws) Ditto. + (operator>>) Ditto. + * include/bits/ostream.tcc (basic_ostream): Ditto. + (endl): Ditto. + (ends): Ditto. + (flush): Ditto. + (operator<<): Ditto. + +2002-06-07 Phil Edwards <pme@gcc.gnu.org> + + * mkcheck.in: Link against local testsuite library. + * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Move null + implementation out... + * testsuite/testsuite_hooks.cc: ...to here. + +2002-06-06 Loren J. Rittle <ljrittle@acm.org> + + * src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation. + * include/Makefile.am (AUTOMAKE_OPTIONS): Likewise. + * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise. + * src/Makefile.in: Regenerate (explicitly with --cygnus option). + * testsuite/Makefile.in: Likewise. + 2002-06-05 David Edelsohn <edelsohn@gnu.org> * config/os/aix/bits/ctype_noninline.h (do_toupper,do_tolower): Call external symbol. -2002-06-05 Paolo Carlini <pcarlini@unitus.it> +2002-06-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile): + Search correct multilib testsuite dir for libv3test. + +2002-06-04 Paolo Carlini <pcarlini@unitus.it> + Gaby Dos Reis <gdr@codesourcery.com> + + * include/bits/basic_string.tcc + (basic_string::_S_construct(forward_iterator_tag): + Fix typo in null pointer check. + * testsuite/21_strings/ctor_copy_dtor.cc: Add test04. + +2002-06-04 Paolo Carlini <pcarlini@unitus.it> * testsuite/22_locale/money_get_members_char.cc (test02): Add decimal point to long double constants. @@ -1381,18 +3747,35 @@ * testsuite/22_locale/num_put_members_wchar_t.cc: (test02, test01): Likewise. -2002-06-04 Paolo Carlini <pcarlini@unitus.it> - Gaby Dos Reis <gdr@codesourcery.com> +2002-06-03 Marc Espie <espie@openbsd.org> - * include/bits/basic_string.tcc - (basic_string::_S_construct(forward_iterator_tag): - Fix typo in null pointer check. - * testsuite/21_strings/ctor_copy_dtor.cc: Add test04. + * config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline + assembly for old assemblers. -2002-06-03 Marc Espie <espie@openbsd.org> +2002-06-03 Phil Edwards <pme@gcc.gnu.org> + + * include/bits/stl_bvector.h (swap(_Bit_reference,_Bit_reference)): + Move/rename... + (vector<bool>::swap(reference,reference)): ...to this. + +2002-06-03 Phil Edwards <pme@gcc.gnu.org> - * config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline - assembly for old assemblers. + * docs/doxygen/TODO: Update. + * docs/doxygen/user.cfg.in (SORT_MEMBER_DOCS): Set to off, now that + some class members are in 14882 order. + * docs/html/ext/howto.html: 3.1 is in the past now, not the future. + + * include/std/std_bitset.h: Update comment. + * src/bitset.cc: Update comments, clean up spacing. + + * src/Makefile.am (sources): Alphabetize for convenience. + * src/Makefile.in: Regenerate. + +2002-06-03 Phil Edwards <pme@gcc.gnu.org> + + * include/bits/stl_deque.h, include/bits/stl_list.h, + include/bits/stl_vector.h: Reformat to (mostly) match C++STYLE. + Reorder to match 14882. Doxygen blocks for all public members. 2002-05-31 Marcus Meissner <meissner@suse.de> @@ -1400,15 +3783,9 @@ * include/bits/stl_bvector.h: Use UL suffix for unsigned longs. * testsuite/23_containers/vector_bool.cc (test02): New test. -2002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * config/os/gnu-linux/bits/os_defines.h (__glibcpp_long_bits): Define - to 64 for hppa 64-bit port. - (__glibcpp_long_double_bits): Define to 64 for all hppa ports. - 2002-05-30 Marc Espie <espie@openbsd.org> - * configure.in: Always check for sys/types.h. + * configure.in: Always check for sys/types.h * configure: Regenerate. 2002-05-28 Nick Clifton <nickc@cambridge.redhat.com> @@ -1416,18 +3793,24 @@ * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Rebuild the wrapper file every time this proc is called. -2002-05-28 Loren J. Rittle <ljrittle@acm.org> +2002-05-28 Phil Edwards <pme@gcc.gnu.org> - libstdc++/6641 - * include/bits/c++config (__USE_MALLOC): Report case where - the user improperly defined it on the command line. + * testsuite/Makefile.am (noinst_LIBRARIES): New target. Pull in + CXX/INCLUDES. + * testsuite/Makefile.in: Regenerate. + * testsuite/testsuite_hooks.h (gnu_copy_tracker): Move from + list_modifiers.cc and rename from 'T'. Move code bodies... + * testsuite/testsuite_hooks.cc: ...to here. New file. + * testsuite/23_containers/list_modifiers.cc: Move 'T' class out. + * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile): + Add libv3test.a to link options. 2002-05-27 Benjamin Kosnik <bkoz@redhat.com> * src/misc-inst.cc: Define unnecessary algorithm instantiations. Break apart instantiations into groupings below. * src/fstream-inst.cc: New. - * src/io-inst.cc: New. + * src/io-inst.cc: New. * src/istream-inst.cc: New. * src/ostream-inst.cc: New. * src/streambuf-inst.cc: New. @@ -1437,7 +3820,7 @@ * acinclude.m4: Work around automake 1.4-p5 bug, change AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT. - + 2002-05-27 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/6795. @@ -1454,7 +3837,7 @@ * testsuite/22_locale/ctype_widen_wchar_t.cc: Same. 2002-05-26 Carlo Wood <carlo@alinoe.com> - Paolo Carlini <pcarlini@unitus.it> + Paolo Carlini <pcarlini@unitus.it> PR libstdc++/6811 * config/locale/ieee_1003.1-2001/codecvt_specializations.h @@ -1472,7 +3855,7 @@ PR libstdc++/6701 * testsuite/22_locale/ctype_narrow_char.cc: New. - * testsuite/22_locale/ctype_narrow_wchar_t.cc: New. + * testsuite/22_locale/ctype_narrow_wchar_t.cc: New. * testsuite/22_locale/ctype_widen_char.cc: New. * testsuite/22_locale/ctype_widen_wchar_t.cc: New. * testsuite/22_locale/ctype_members_char.cc: Move some bits into... @@ -1483,13 +3866,13 @@ * testsuite/22_locale/ctype_to_wchar_t.cc: ...and this. * testsuite/22_locale/ctype_scan_wchar_t.cc: Should pass. - + 2002-05-24 Dale Peakall <dale@peakall.net> PR libstdc++/6701 * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_narrow): Fix. * config/locale/generic/ctype_members.cc: Same. - + 2002-05-24 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/6750 @@ -1500,19 +3883,6 @@ (ostream<char>::operator<<(streambuf*)): Same. * testsuite/27_io/ostream_inserter_char.cc (test08): Add tests. * testsuite/27_io/ostream_inserter_other.cc (test02): Modify. - -2002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * configure.in: Update local install.html, configopts.html paths. - * configure: Regenerate. - - * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Retrieve - current limits before setting. - - * acinclude.m4 (enable_symvers): Quote $LD. - * aclocal.m4: Regenerate. - * configure: Likewise. - Fixes PR target/6755. 2002-05-23 Benjamin Kosnik <bkoz@redhat.com> @@ -1528,21 +3898,115 @@ * include/ext/stdio_filebuf.h: Add header guards. Doxygenate. -2002-05-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> +2002-05-21 Phil Edwards <pme@gcc.gnu.org> + + * docs/doxygen/user.cfg.in (EXCLUDE): Add 'CVS'. - * configure.in (AC_CHECK_HEADERS): Check for string.h & stdlib.h. - * libsupc++/Makefile.am (LTCOMPILE): Add $(DEFS). - * Makefile.in, config.h.in, configure: Regenerate. +2002-05-21 Phil Edwards <pme@gcc.gnu.org> - * config/os/irix/irix5.2/bits/ctype_noninline.h (classic_table): - Return __ctype + 1. - (ctype:_M_table): Initialize to classic_table(), not __ctype. + * include/bits/stl_vector.h: Reformat to follow C++STYLE. + Doxygenate all public members. Reorder to follow 14882. + (vector::push_back(void)): Remove previously-deprecated fn. + (vector::insert(iterator), vector::_M_insert_aux(iterator)): + Deprecate for removal in 3.3. - * config/os/irix/irix5.2/bits/os_defines.h - (__glibcpp_long_double_bits, __glibcpp_long_bits): Define. +2002-05-20 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/faq/index.html (5.4): Recommend against -I options for + finding the ext headers. + * docs/html/faq/index.txt: Regenerate. 2002-05-19 Paolo Carlini <pcarlini@unitus.it> - Jakub Jelinek <jakub@redhat.com> + + * testsuite/23_containers/deque_operators.cc (test01): + Fix minor typo in last commit. + +2002-05-18 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/6503 + * include/bits/stl_deque.h (_Deque_iterator::operator==, + operator!=, operator<, operator>, operator>=, operator<=): + Make non-member functions, to allow comparing const and + non-const iterators in any order. + * testsuite/23_containers/deque_operators.cc: New testfile. + +2002-05-16 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/faq/index.html: Update not-a-bug list with basic_file.h. + * docs/html/faq/index.txt: Regenerate. + +2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * Makefile.am: Allow for PWDCMD to override hardcoded pwd. + * acinclude.m4: Likewise. + * docs/html/Makefile: Likewise. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2002-05-15 Loren J. Rittle <ljrittle@acm.org> + + libstdc++/6641 + * include/bits/c++config (__USE_MALLOC): Report case where + the user improperly defined it on the command line. + +2002-05-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): + Retrieve current limits before setting. + +2002-05-15 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/6518 + * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix + for null case. + (ostream::operator<<(const _CharT*)): Same. + (ostream<char>::operator<<(const char*)): Same. + * testsuite/27_io/ostream_inserter_char.cc (test07): Add test. + +2002-05-15 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/6594 + * src/strstream.cc (strstreambuf): Fix leak. + +2002-05-15 Paolo Carlini <pcarlini@unitus.it> + + PR libstdc++/6648 + * include/bits/istream.tcc (istream::getline, ignore): + Upon __idelim (__delim) call sbumpc() not snextc(). + * testsuite/27_io/narrow_stream_objects.cc: + Add test08 and test09. + +2002-05-13 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/22_locale/ctype_scan_char.cc: Tweak. + * testsuite/22_locale/ctype_scan_wchar_t.cc: New. + + * docs/html/install.html: Fix. + +2002-05-13 Benjamin Kosnik <bkoz@redhat.com> + + * include/bits/fstream.tcc + (basic_filebuf::_M_allocate_internal_buffer): Remove extraneous + try/catch blocks. + * src/localename.cc (locale::_Impl::_M_install_facet): Same. + + * docs/html/install.html: Tweak, add bits about required locales + for the 22_locale tests when using the gnu model. + + * testsuite/27_io/istream_sentry.cc: Tweak. + +2002-05-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * config/os/irix/irix5.2/bits/ctype_inline.h (scan_is, scan_not): + Fix typo, use this->is() rather than manually (and perhaps + incorrectly) inlining it. + * config/os/irix/irix6.5/bits/ctype_inline.h (scan_is, scan_not): + Likewise. + * testsuite/22_locale/ctype_scan_char.cc: New file. + +2002-05-13 Paolo Carlini <pcarlini@unitus.it> + Jakub Jelinek <jakub@redhat.com> * testsuite/22_locale/money_get_members_char.cc (test01, test02, test04): Use the de_DE@euro named locale @@ -1555,7 +4019,7 @@ * testsuite/22_locale/money_put_members_wchar_t.cc (test01, test02, test04): Likewise. -2002-05-19 Paolo Carlini <pcarlini@unitus.it> +2002-05-13 Paolo Carlini <pcarlini@unitus.it> * testsuite/22_locale/codecvt_members_char_char.cc (test03): Robustify wrt localedata. @@ -1567,22 +4031,61 @@ * testsuite/22_locale/messages_members_char.cc (test03): Likewise. * testsuite/22_locale/money_get_members_char.cc (test08): Likewise. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise. - * testsuite/22_locale/money_put_members_char.cc (test07): Likewise. + * testsuite/22_locale/money_put_members_char.cc (test07): Likewise. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise. * testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise. * testsuite/22_locale/num_get_members_char.cc (test06): Likewise. - * testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise. + * testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise. * testsuite/22_locale/num_put_members_char.cc (test04): Add comment. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise. * testsuite/22_locale/numpunct_members_char.cc (test03): Likewise. - * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise. + * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise. * testsuite/22_locale/time_get_members_char.cc (test08): Likewise. - * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise. + * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise. * testsuite/22_locale/time_put_members_char.cc (test04): Likewise. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise. -2002-05-19 Paolo Carlini <pcarlini@unitus.it> +2002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * config/os/irix/irix5.2/bits/os_defines.h: Revert 2002-05-06 + change. + +2002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * config/os/gnu-linux/bits/os_defines.h (__glibcpp_long_bits): Define + to 64 for hppa 64-bit port. + (__glibcpp_long_double_bits): Define to 64 for all hppa ports. + +2002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * acinclude.m4 (enable_symvers): Quote $LD. + * aclocal.m4: Regenerate. + * configure: Likewise. + +2002-05-09 Jakub Jelinek <jakub@redhat.com> + + * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Append all + multilib dirs containing libgcc_s*.so.1 below gcc object dir to + LD_LIBRARY_PATH. + +2002-05-08 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at + script entry, and set LD to it when configuring multilibs. + * configure: Rebuilt. + +2002-05-07 Mark Mitchell <mark@codesourcery.com> + + * configure.in: Add support for WindISS. + * configure: Regenerated. + * configure.target: Add support for WindISS. + * config/os/windiss/bits/ctype_base.h: New file. + * config/os/windiss/bits/ctype_inline.h: Likewise. + * config/os/windiss/bits/ctype_noninline.h: Likewise. + * config/os/windiss/bits/os_defines.h: Likewise. + +2002-05-06 Paolo Carlini <pcarlini@unitus.it> Test all the facets for the temporary "C" locale switch issue. * testsuite/22_locale/codecvt_members_char_char.cc: Add test03. @@ -1594,31 +4097,40 @@ * testsuite/22_locale/messages_members_char.cc: Add test03. * testsuite/22_locale/money_get_members_char.cc: Add test08. * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise. - * testsuite/22_locale/money_put_members_char.cc: Add test07. + * testsuite/22_locale/money_put_members_char.cc: Add test07. * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise. * testsuite/22_locale/moneypunct_members_char.cc: Add test03. * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise. * testsuite/22_locale/num_get_members_char.cc: Add test06. - * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise. + * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise. * testsuite/22_locale/numpunct_members_char.cc: Add test03. - * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise. + * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise. * testsuite/22_locale/time_get_members_char.cc: Add test08. - * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise. + * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise. * testsuite/22_locale/time_put_members_char.cc: Add test04. * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise. * testsuite/22_locale/num_put_members_char.cc (test04): Add comment. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise. -2002-05-19 Benjamin Kosnik <bkoz@redhat.com> +2002-05-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * config/os/irix/irix5.2/bits/os_defines.h (_SGI_SOURCE, + __EXTENSIONS__): Ensure they are always defined. + +2002-05-06 Phil Edwards <pme@gcc.gnu.org> + + * docs/html/documentation.html: Fix broken link. + +2002-05-04 Benjamin Kosnik <bkoz@redhat.com> Paolo Carlini <pcarlini@unitus.it> * testsuite/22_locale/num_put_members_char.cc: Add test04(), testing for the locale_facets.tcc entry of the previous commit. * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise. -2002-05-18 Takeshi Kobayakawa <tskoba@mte.biglobe.ne.jp> - +2002-05-04 Takeshi Kobayakawa <tskoba@mte.biglobe.ne.jp> + * config/locale/generic/c_locale.cc (__convert_to_v(float, double, long double)): Fix the temporary switch to the "C" locale, saving and @@ -1633,121 +4145,47 @@ (__timepunct<char, wchar_t>::_M_put): Likewise. * include/bits/locale_facets.tcc (__convert_from_v): Likewise. -2002-05-18 Paolo Carlini <pcarlini@unitus.it> - Nathan Myers <ncm@cantrip.org> - Philip Martin <philip@codematters.co.uk> - - * include/bits/basic_string.h - (replace(i1, i2, _CharT* k1, _CharT* k2), - replace(i2, i2, const _CharT* k1, const _CharT* k2), - replace(i1, i2, iterator k1, iterator k2, - replace(i1, i2, const_iterator k1, const_iterator k2): - New specializations to optimize for the common cases of - pointers and iterators. - (replace(pos, n1, s, n2)): Tweak. - * include/bits/basic_string.tcc: Tweak comments. - * testsuite/21_strings/replace.cc (test05): New tests. - -2002-05-18 Benjamin Kosnik <bkoz@redhat.com> +2002-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * config/os/solaris/solaris2.5/bits/os_defines.h: Remove - _G_USING_THUNKS. - * config/os/solaris/solaris2.6/bits/os_defines.h: Same. - * config/os/solaris/solaris2.7/bits/os_defines.h: Same. - -2002-05-18 Benjamin Kosnik <bkoz@redhat.com> + * configure.in (AC_CHECK_HEADERS): Check for string.h & stdlib.h. + * libsupc++/Makefile.am (LTCOMPILE): Add $(DEFS). - * docs/html/17_intro/RELEASE-NOTES (New): Update. + * Makefile.in, config.h.in, configure: Regenerate. -2002-05-18 Benjamin Kosnik <bkoz@redhat.com> +2002-05-03 Benjamin Kosnik <bkoz@redhat.com> - PR libstdc++/6518 - * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix - for null case. - (ostream::operator<<(const _CharT*)): Same. - (ostream<char>::operator<<(const char*)): Same. - * testsuite/27_io/ostream_inserter_char.cc (test07): Add test. + PR libstdc++/6549. + * include/bits/fstream.tcc (filebuf::_M_underflow_common): Revert. + * testsuite/27_io/narrow_stream_objects.cc (test07): Add. -2002-05-18 Benjamin Kosnik <bkoz@redhat.com> +2002-05-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - PR libstdc++/6594 - * src/strstream.cc (strstreambuf): Fix leak. + * config/os/irix/irix5.2/bits/ctype_noninline.h (classic_table): + Return __ctype + 1. + (ctype:_M_table): Initialize to classic_table(), not __ctype. -2002-05-18 Benjamin Kosnik <bkoz@redhat.com> +2002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - * testsuite/22_locale/ctype_scan_char.cc: Tweak. - * testsuite/22_locale/ctype_scan_wchar_t.cc: New. + * configure.in: Update local install.html, configopts.html paths. + * configure: Regenerate. - * docs/html/install.html: Fix. +2002-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> -2002-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * config/os/irix/irix5.2/bits/os_defines.h + (__glibcpp_long_double_bits, __glibcpp_long_bits): Define. * config/os/irix/irix5.2/bits/ctype_inline.h: Cast to unsigned char. - * config/os/irix/irix5.2/bits/ctype_inline.h (scan_is, scan_not): - Fix typo, use this->is() rather than manually (and perhaps - incorrectly) inlining it. - * config/os/irix/irix6.5/bits/ctype_inline.h (scan_is, scan_not): - Likewise. - * testsuite/22_locale/ctype_scan_char.cc: New file. - -2002-05-18 Benjamin Kosnik <bkoz@redhat.com> - - * include/bits/fstream.tcc - (basic_filebuf::_M_allocate_internal_buffer): Remove extraneous - try/catch blocks. - * src/localename.cc (locale::_Impl::_M_install_facet): Same. - - * docs/html/install.html: Tweak, add bits about required locales - for the 22_locale tests when using the gnu model. - - * testsuite/27_io/istream_sentry.cc: Tweak. - -2002-05-16 Phil Edwards <pme@gcc.gnu.org> - - * docs/html/faq/index.html: Update not-a-bug list with basic_file.h. - * docs/html/faq/index.txt: Regenerate. - -2002-05-15 Paolo Carlini <pcarlini@unitus.it> - - PR libstdc++/6648 - * include/bits/istream.tcc (istream::getline, ignore): - Upon __idelim (__delim) call sbumpc() not snextc(). - * testsuite/27_io/narrow_stream_objects.cc: - Add test08 and test09. - -2002-05-14 Release Manager - - * GCC 3.1 Released. - -2002-05-09 Jakub Jelinek <jakub@redhat.com> - - * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Append all - multilib dirs containing libgcc_s*.so.1 below gcc object dir to - LD_LIBRARY_PATH. - -2002-05-08 Alexandre Oliva <aoliva@redhat.com> - - * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at - script entry, and set LD to it when configuring multilibs. - * configure: Rebuilt. - -2002-05-06 Phil Edwards <pme@gcc.gnu.org> - - * docs/html/documentation.html: Fix broken link. - -2002-05-03 Benjamin Kosnik <bkoz@redhat.com> - - PR libstdc++/6549. - * include/bits/fstream.tcc (filebuf::_M_underflow_common): Revert. - * testsuite/27_io/narrow_stream_objects.cc (test07): Add. - 2002-05-02 Phil Edwards <pme@gcc.gnu.org> * docs/html/faq/index.html: Update list in #4.1. * docs/html/faq/index.txt: Regenerated. +2002-05-02 Benjamin Kosnik <bkoz@redhat.com> + + * docs/html/17_intro/RELEASE-NOTES (New): Update. + 2002-05-01 Phil Edwards <pme@gcc.gnu.org> * include/std/std_bitset.h: Fix doxygen comments. @@ -1762,10 +4200,10 @@ PR libstdc++/6533 * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get): New. (istreambuf_iterator::equal): Use it. - (istreambuf_iterator::operator*): Use it. + (istreambuf_iterator::operator*): Use it. 2002-05-01 Paolo Carlini <pcarlini@unitus.it> - + PR libstdc++/6513 * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIter, _InputIter, _ForwardIter)): @@ -1799,56 +4237,63 @@ * src/misc-inst.cc (file_filebuf<char>): Add instantiation. * include/Makefile.am (ext_headers): Add ext_filebuf.h, stdio_filebuf.h. * include/Makefile.in: Regenerate. - + 2002-04-30 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/6511 * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Fix typo. - -2002-04-29 Benjamin Kosnik <bkoz@redhat.com> - PR libstdc++/5820 - * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common): - Check for eof. - * include/bits/streambuf_iterator.h: Match stream_iterator.h. - (istreambuf_iterator::operator++): Invalidate on eof. - (istreambuf_iterator::operator++(int)): Same. - (istreambuf_iterator::operator*): Same. - 2002-04-29 Benjamin Kosnik <bkoz@redhat.com> - PR libstdc++/5820 - * config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int. - (__basic_file::sys_ungetc): Take int. - * config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same. - * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common): - Use sys_getc for unbuffered input. - * testsuite/27_io/narrow_stream_objects.cc (test06): New. - - * src/ios.cc (_M_grow_words): Adjust error checking. - * testsuite/27_io/ios_base_storage.cc: Same. + PR libstdc++/5820 + * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common): + Check for eof. + * include/bits/streambuf_iterator.h: Match stream_iterator.h. + (istreambuf_iterator::operator++): Invalidate on eof. + (istreambuf_iterator::operator++(int)): Same. + (istreambuf_iterator::operator*): Same. 2002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set all of LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH, - LD_LIBRARY64_PATH. + LD_LIBRARY64_PATH. + +2002-04-28 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/5820 + * config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int. + (__basic_file::sys_ungetc): Take int. + * config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same. + * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common): + Use sys_getc for unbuffered input. + * testsuite/27_io/narrow_stream_objects.cc (test06): New. + + * src/ios.cc (_M_grow_words): Adjust error checking. + * testsuite/27_io/ios_base_storage.cc: Same. 2002-04-28 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> * include/ext/stl_hashtable.h: Import __iterator_category 2002-04-28 Paolo Carlini <pcarlini@unitus.it> - Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> + Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> * testsuite/ext/hash_set.cc: New testfile. +2002-04-27 Benjamin Kosnik <bkoz@redhat.com> + + * config/os/solaris/solaris2.5/bits/os_defines.h: Remove + _G_USING_THUNKS. + * config/os/solaris/solaris2.6/bits/os_defines.h: Same. + * config/os/solaris/solaris2.7/bits/os_defines.h: Same. + 2002-04-26 Paolo Carlini <pcarlini@unitus.it> * include/bits/basic_string.h (replace(__pos, __n1, __s, __n2): Fix and tighten __throw_length_error check. - * testsuite/21_strings/replace.cc (test04): New. - * testsuite/21_strings/replace.cc (test02, test03): Tweak. + * testsuite/21_strings/replace.cc (test05): New. + * testsuite/21_strings/replace.cc (test02, test03, test04): Tweak. 2002-04-23 Loren J. Rittle <ljrittle@acm.org> @@ -1878,14 +4323,19 @@ * config/cpu/mmix/bits/cpu_limits.h: New file. * configure.target (CPULIMITSH): Use it. +2002-04-22 Loren J. Rittle <ljrittle@acm.org> + + * docs/html/17_intro/porting.texi (_GLIBCPP_AVOID_FSEEK): Remove. + * docs/html/17_intro/porting.html: Rebuilt. + 2002-04-20 Jason Merrill <jason@redhat.com> PR libstdc++/4150 - * include/std/std_streambuf.h (basic_streambuf::_M_set_indeterminate): + * include/std/std_streambuf.h (basic_streambuf::_M_set_indeterminate): Move to filebuf. (basic_streambuf::_M_set_determinate): Likewise. (basic_streambuf::_M_is_indeterminate): Likewise. - * include/bits/std_fstream.h (basic_filebuf::_M_filepos): New + * include/bits/std_fstream.h (basic_filebuf::_M_filepos): New non-static data member. (basic_filebuf::_M_underflow_common): New non-static member function. (basic_filebuf::_M_underflow, _M_uflow): Call it. @@ -1897,20 +4347,20 @@ * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow): Seek back to _M_out_beg if necessary. (basic_filebuf::seekoff): Likewise. - (basic_filebuf::_M_underflow_common): Generalization of old + (basic_filebuf::_M_underflow_common): Generalization of old underflow(). Don't seek back to _M_in_beg. * src/ios.cc: Lose _GLIBCPP_AVOID_FSEEK stuff. * config/os/solaris/solaris2.?/bits/os_defines.h: Likewise. * config/os/bsd/freebsd/bits/os_defines.h: Likewise. * config/os/mingw32/bits/os_defines.h: Likewise. - * testsuite/27_io/filebuf_virtuals.cc (test05): Don't overspecify + * testsuite/27_io/filebuf_virtuals.cc (test05): Don't overspecify ungetc test. 2002-04-22 Benjamin Kosnik <bkoz@redhat.com> * include/bits/istream.tcc (istream::read): Fix. * testsuite/27_io/istream_unformatted.cc (main): Add. - + 2002-04-20 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/6360 @@ -1919,47 +4369,82 @@ * include/bits/streambuf.tcc: Use this->gptr. * testsuite/27_io/istream_unformatted.cc (test08): Add test. -2002-04-19 Benjamin Kosnik <bkoz@redhat.com> +2002-04-18 Benjamin Kosnik <bkoz@redhat.com> - * include/bits/localefwd.h (locale::id::_M_id): Do this correctly, - as type safety is important, especially on solaris. - * include/bits/istream.tcc (istream::read): Clean. - (istream::readsome): Same. - * locale.cc: Wrap lines. + * include/bits/localefwd.h (locale::id::_M_id): Do this correctly, + as type safety is important, especially on solaris. + * include/bits/istream.tcc (istream::read): Clean. + (istream::readsome): Same. + * locale.cc: Wrap lines. - * testsuite/21_strings/inserters_extractors.cc: Tweaks. - * testsuite/27_io/instantiations.cc (test): Add bool variable... - * testsuite/21_strings/capacity.cc: Clean. + * testsuite/21_strings/inserters_extractors.cc: Tweaks. + * testsuite/27_io/instantiations.cc (test): Add bool variable... + * testsuite/21_strings/capacity.cc: Clean. -2002-04-19 Benjamin Kosnik <bkoz@redhat.com> +2002-04-17 Phil Edwards <pme@gcc.gnu.org> - * testsuite/27_io/filebuf_virtuals.cc: Add _S_pback_size instantiation. + * docs/doxygen/doxygroups.cc: New group on binary searching. + * include/bits/stl_algo.h: Document binary searches and merges. + * include/bits/stl_deque.h: The 'map' member is not the 'map' class. -2002-04-19 Benjamin Kosnik <bkoz@redhat.com> +2002-04-17 Phil Edwards <pme@gcc.gnu.org> - * config/linker-map.gnu (__malloc_alloc_template): Add. - (__default_alloc_template): Same. - * include/bits/stl_alloc.h (__malloc_alloc_template): Add extern - template. - (__default_alloc_template): Same. + * docs/doxygen/mainpage.html: Doxygen logo is now a PNG file. + * docs/doxygen/run_doxygen: Bump required version. + * docs/doxygen/user.cfg.in: Revert accidental change. + * docs/html/faq/index.html: Reindent a block of links. + (4.4): New note on using dlsym. + * docs/html/faq/index.txt: Regenerated. + +2002-04-17 Phil Edwards <pme@gcc.gnu.org> + + * testsuite_flags.in (cxxflags): Also pass @EXTRA_CXX_FLAGS@. + +2002-04-17 Benjamin Kosnik <bkoz@redhat.com> + + * config/linker-map.gnu (__malloc_alloc_template): Add. + (__default_alloc_template): Same. + * include/bits/stl_alloc.h (__malloc_alloc_template): Add extern + template. + (__default_alloc_template): Same. + +2002-04-17 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/27_io/filebuf_virtuals.cc: Add _S_pback_size instantiation. -2002-04-19 Benjamin Kosnik <bkoz@redhat.com> +2002-04-16 Benjamin Kosnik <bkoz@redhat.com> - * src/concept-inst.cc (vector<locale::facet*>): Remove instantiations. - * src/stl-inst.cc (vector::_M_insert_aux): Remove instantiation. - (__malloc_alloc_template): Conditionalize. + * src/concept-inst.cc (vector<locale::facet*>): Remove instantiations. + * src/stl-inst.cc (vector::_M_insert_aux): Remove instantiation. + (__malloc_alloc_template): Conditionalize. - * include/bits/istream.tcc: Remove sputbackc calls. + * include/bits/istream.tcc: Remove sputbackc calls. - * testsuite/19_diagnostics/stdexceptions.cc: Fix comment. + * testsuite/19_diagnostics/stdexceptions.cc: Fix comment. -2002-04-19 Benjamin Kosnik <bkoz@redhat.com> +2002-04-16 Paolo Carlini <pcarlini@unitus.it> + + * testsuite/24_iterators/rel_ops.cc: New test. + +2002-04-16 Gabriel Dos Reis <gdr@merlin.codesourcery.com> + + * include/bits/type_traits.h (__normal_iterator): Declare in + __gnu_cxx. Adjust use at global namespace. + * include/bits/stl_iterator.h (__normal_iterator): Move definition + into __gnu_cxx::. Add more operator overloads. Tidy existing ones. + * include/bits/basic_string.h (basic_string): Adjust use of + __normal_iterator. + * include/bits/stl_vector.h (_Alloc>): Likewise. + * src/concept-inst.cc (__gnu_cxx): __normal_iterator<> is now here. + * src/string-inst.cc (operator==): Instantiate in __gnu_cxx. + +2002-04-15 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/4164 Valgrind fixes. * config/io/basic_file_stdio.cc (__basic_file::~__basic_file): Call close. - (__basic_file::close): Call fflush. Correct return if fclose ok. + (__basic_file::close): Call fflush. Correct return if fclose ok. (__basic_file::is_open): Make const. Change __c_file_type to __c_file. * config/io/basic_file_stdio.h: Change __c_file_type to __c_file. @@ -2039,40 +4524,8 @@ * testsuite/22_locale/num_get_members_char.cc: Fixup. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/27_io/filebuf_members.cc: Same. - -2002-04-17 Phil Edwards <pme@gcc.gnu.org> - * docs/doxygen/doxygroups.cc: New group on binary searching. - * include/bits/stl_algo.h: Document binary searches and merges. - * include/bits/stl_deque.h: The 'map' member is not the 'map' class. - -2002-04-17 Phil Edwards <pme@gcc.gnu.org> - - * docs/doxygen/mainpage.html: Doxygen logo is now a PNG file. - * docs/doxygen/run_doxygen: Bump required version. - * docs/doxygen/user.cfg.in: Revert accidental change. - * docs/html/faq/index.html: Reindent a block of links. - (4.4): New note on using dlsym. - * docs/html/faq/index.txt: Regenerated. - -2002-04-16 Paolo Carlini <pcarlini@unitus.it> - - * testsuite/24_iterators/rel_ops.cc: New test. - -2002-04-16 Gabriel Dos Reis <gdr@merlin.codesourcery.com> - - * include/bits/type_traits.h (__normal_iterator): Declare in - __gnu_cxx. Adjust use at global namespace. - * include/bits/stl_iterator.h (__normal_iterator): Move definition - into __gnu_cxx::. Add more operator overloads. Tidy existing ones. - * include/bits/basic_string.h (basic_string): Adjust use of - __normal_iterator. - * include/bits/stl_vector.h (_Alloc>): Likewise. - * src/concept-inst.cc (__gnu_cxx): __normal_iterator<> is now here. - * src/locale-inst.cc (__gnu_cxx): Likewise. - * src/string-inst.cc (operator==): Instantiate in __gnu_cxx. - -2002-04-15 Steve Ellcey <sje@cup.hp.com> +2002-04-12 Steve Ellcey <sje@cup.hp.com> * gcc/libstdc++-v3/config/os/hpux/bits/os_defines.h (strtoll, strtoull): In 64 bit mode HP-UX (IA64 and HPPA) @@ -2108,7 +4561,7 @@ (has_locale): Adjust. * src/locale.cc: Adjust. * src/localename.cc: Same. - + 2002-04-09 Benjamin Kosnik <bkoz@redhat.com> Richard Henderson <rth@redhat.com> @@ -2133,7 +4586,7 @@ Format. * src/bitset.cc: Adjust. * config/linker-map.gnu: Export. - + 2002-04-08 Benjamin Kosnik <bkoz@redhat.com> libstdc++/5180 @@ -2144,7 +4597,7 @@ open modes and which modes. (stringbuf::seekpos): Same. * testsuite/27_io/stringbuf_virtuals.cc: New tests. - + 2002-04-05 Jonathan Wakely <jw@kayari.org> * include/bits/stl_algo.h (unique_copy, __gcd, rotate, rotate_copy, @@ -2158,24 +4611,24 @@ 2002-04-04 Benjamin Kosnik <bkoz@redhat.com> - libstdc++/3457 + libstdc++/3457 via gawrilow@math.tu-berlin.de * acinclude.m4 (version_specific_libs): Fix combo usage with --with-gxx-include-dir. * aclocal.m4: Regenerate. * configure: Same. - + 2002-04-03 Benjamin Kosnik <bkoz@redhat.com> - As per DR 184, libstdc++/3139 - * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1. - (numeric_limits<bool>::is_iec559): False. - (numeric_limits<bool>::is_modulo): False. + As per DR 184, libstdc++/3139 + * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1. + (numeric_limits<bool>::is_iec559): False. + (numeric_limits<bool>::is_modulo): False. * testsuite/27_io/ios_init.cc: Add instantiations. 2002-04-02 Benjamin Kosnik <bkoz@redhat.com> - + libstdc++/5268 * src/ios.cc: (ios_base::Init::_S_ios_destroy): Remove flush calls. * testsuite/27_io/ios_init.cc (tests04): Add test. @@ -2187,12 +4640,27 @@ * include/bits/istream.tcc: Use _M_fctype, make consistent with ostream. * testsuite/27_io/ios_init.cc (tests03): Add test. - + 2002-04-02 Phil Edwards <pme@gcc.gnu.org> * include/Makefile.am (install-data-local): Use mkinstalldirs. * include/Makefile.in: Regenerate. +2002-04-02 Paolo Carlini <pcarlini@unitus.it> + Nathan Myers <ncm@cantrip.org> + Philip Martin <philip@codematters.co.uk> + + * include/bits/basic_string.h + (replace(i1, i2, _CharT* k1, _CharT* k2), + replace(i2, i2, const _CharT* k1, const _CharT* k2), + replace(i1, i2, iterator k1, iterator k2, + replace(i1, i2, const_iterator k1, const_iterator k2): + New specializations to optimize for the common cases of + pointers and iterators. + (replace(pos, n1, s, n2)): Tweak. + * include/bits/basic_string.tcc: Tweak comments. + * testsuite/21_strings/replace.cc (test04): New tests. + 2002-04-01 Benjamin Kosnik <bkoz@redhat.com> libstdc++/5542 @@ -2212,10 +4680,6 @@ 2002-04-01 Phil Edwards <pme@gcc.gnu.org> - * include/bits/c++config: Fix misplaced leading blanks on first line. - -2002-04-01 Phil Edwards <pme@gcc.gnu.org> - * config/linker-map.gnu: Export __verbose_terminate_handler. * libsupc++/Makefile.am (sources): Add cxa_demangle.c, dyn-string.c. Make new LTCOMPILE variable, use it in new special build rules. @@ -2228,31 +4692,31 @@ verbose_terminate_handler into line with reality. 2002-04-01 Benjamin Kosnik <bkoz@redhat.com> - + libstdc++/3129 * include/bits/basic_ios.h (basic_ios::_M_exception): Move. - (basic_ios::_M_streambuf_state): Move. + (basic_ios::_M_streambuf_state): Move. * include/bits/ios_base (ios_base): To here. * include/bits/ios_base.h (ios_base::_S_local_words): To _S_local_word_size. (ios_base::_M_word_array): To _M_local_word. - (ios_base::_M_words_limit): To _M_word_size. - (ios_base::_M_words): To _M_word. + (ios_base::_M_words_limit): To _M_word_size. + (ios_base::_M_words): To _M_word. Comment. - * include/bits/basic_ios.tcc: Adjust. + * include/bits/basic_ios.tcc: Adjust. * src/ios.cc (ios_base::_M_grow_words): Tweak. * testsuite/27_io/ios_base_storage.cc: Add tests. libstdc++/5207 Kenny Simpson <theonetruekenny@yahoo.com> * include/bits/ios_base.h: Fix. - + Richard Henderson <rth@redhat.com> * include/bits/ostream.tcc (ostream::operator<<(_CharT)): Correct last change. * include/bits/basic_string.h: Tweak formatting. - + 2002-04-01 Paolo Carlini <pcarlini@unitus.it> * config/locale/ieee_1003.1-2001/codecvt_specializations.h @@ -2285,7 +4749,7 @@ (test02): New tests. 2002-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> - Paolo Carlini <pcarlini@unitus.it> + Paolo Carlini <pcarlini@unitus.it> * testsuite/22_locale/codecvt_members_unicode_wchar_t.cc (test01): Protect the test with _GLIBCPP_USE_WCHAR_T; @@ -2304,17 +4768,15 @@ 2002-03-27 Phil Edwards <pme@gcc.gnu.org> - Bulk documentation merge (copy) from trunk. - * docs/doxygen/Intro.3, docs/doxygen/TODO, docs/doxygen/doxygroups.cc, - docs/doxygen/mainpage.html, docs/doxygen/run_doxygen, - docs/doxygen/tables.html, docs/doxygen/user.cfg.in, - docs/html/Makefile, docs/html/17_intro/howto.html, - docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html: - Merge from trunk. - -2002-03-27 Phil Edwards <pme@gcc.gnu.org> + * docs/doxygen/Intro.3: Date tweak. + * docs/doxygen/TODO: Update. + * docs/doxygen/doxygroups.cc: Point to tables.html. + * docs/doxygen/mainpage.html: Date tweak. + * docs/doxygen/run_doxygen: Version tweak. Copy tables.html over. + * docs/doxygen/tables.html: Fill in the blanks. - * include/bits/stl_algo.h: Remove @maint and @endmaint. + * docs/doxygen/user.cfg.in (ALIASES): Remove maint and endmaint. + * include/bits/stl_algo.h: Likewise; use expanded form. * include/bits/stl_alloc.h: Likewise. * include/bits/stl_construct.h: Likewise. * include/bits/stl_deque.h: Likewise. @@ -2338,7 +4800,7 @@ * include/Makefile.in: Regerate. 2002-03-25 Paolo Carlini <pcarlini@unitus.it> - Richard Henderson <rth@redhat.com> + Richard Henderson <rth@redhat.com> * testsuite/22_locale/codecvt_members_unicode_char.cc (test01, test02): make sure that the i_lit_base array @@ -2346,8 +4808,8 @@ 2002-03-25 Benjamin Kosnik <bkoz@redhat.com> - * config/os/newlib/bits/ctype_noninline.h (ctype::classic): Set to - _ctype_. + * config/os/newlib/bits/ctype_noninline.h (ctype::classic): Set to + _ctype_. 2002-03-25 Paolo Carlini <pcarlini@unitus.it> @@ -2358,25 +4820,15 @@ returned by collate::compare are normalized, therefore test against +-1. -2002-03-25 Jakub Jelinek <jakub@redhat.com> - - PR target/5676 - * acinclude.m4 (GLIBCPP_ENABLE_SJLJ_EXCEPTIONS): Pass -fexceptions - explicitly. - * aclocal.m4: Rebuilt. - * configure: Rebuilt. - * configure.target (mcore-*-pe*): Add -frtti -fno-exceptions - by default to c++ flags. - 2002-03-25 Benjamin Kosnik <bkoz@redhat.com> - Jakub Jelinek <jakub@redhat.com> + Jakub Jelinek <jakub@redhat.com> * config/locale/gnu/messages_members.h: Correct conditional. * config/locale/gnu/messages_members.cc: Same. * config/locale/gnu/time_members.cc: Same. 2002-03-25 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> - Paolo Carlini <pcarlini@unitus.it> + Paolo Carlini <pcarlini@unitus.it> * testsuite/22_locale/codecvt_members_unicode_char.cc (test01, test02): Fix i_lit_base arrays, making them @@ -2418,7 +4870,7 @@ * configure: Likewise. 2002-03-19 Paolo Carlini <pcarlini@unitus.it> - Ulrich Drepper <drepper@redhat.com> + Ulrich Drepper <drepper@redhat.com> * src/locale-inst.cc (__convert_from_v): Add an additional __size parameter in the declarations. @@ -2520,7 +4972,7 @@ * testsuite/thread/pthread4.cc: Lower nominal iteration counter. 2002-03-12 Benjamin Kosnik <bkoz@redhat.com> - Per Liboriussen <liborius@stofanet.dk> + Per Liboriussen <liborius@stofanet.dk> * config/os/gnu-linux/bits/ctype_noninline.h: Cast to unsigned char. @@ -2571,19 +5023,46 @@ * include/bits/stl_bvector.h (_Bit_type): New. Use throughout. -2002-03-11 Paolo Carlini <pcarlini@unitus.it> +2002-03-11 Phil Edwards <pme@gcc.gnu.org> - * include/bits/locale_facets.tcc (collate::do_transform): - Rewrite to fix problems with long transformed strings. + * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): + New function. Build the list of tests to run in testsuite_files. + * testsuite/libstdc++-v3.dg/dg.exp: Use it. + +2002-03-11 Phil Edwards <pme@gcc.gnu.org> + + * testsuite/21_strings/capacity.cc: Only explicitly instantiate on + platforms with no weak support. + * testsuite/27_io/ios_init.cc: Likewise. + +2002-03-10 Paolo Carlini <pcarlini@unitus.it> * include/bits/locale_facets.tcc (time_put::do_put): Consider sizeof(char_type) in allocating the buffer. + * include/bits/locale_facets.tcc (collate::do_tranform): + Remove redundant variable. + +2002-03-10 Ulrich Drepper <drepper@redhat.com> + Paolo Carlini <pcarlini@unitus.it> + + * config/locale/generic/collate_members.cc + (collate<char,wchar_t>::_M_compare_helper): normalize + values returned by strcoll and wcscoll. + * config/locale/gnu/collate_members.cc + (collate<char,wchar_t>::_M_compare_helper): ditto + for __strcoll_l and __wcscoll_l. + 2002-03-10 Anthony Green <green@redhat.com> * configure.in: Support cross builds to mingw32 target. * configure: Rebuilt. +2002-03-09 Paolo Carlini <pcarlini@unitus.it> + + * include/bits/locale_facets.tcc (collate::do_transform): + Rewrite to fix problems with long transformed strings. + 2002-03-08 Benjamin Kosnik <bkoz@redhat.com> * c_locale_generic.cc: Move to... @@ -2663,7 +5142,7 @@ * include/bits/stl_alloc.h: Add extern implicit allocator instantiations. * include/bits/basic_string.tcc: Tweak. - * include/bits/loqcale_facets.tcc: Remove default args. Add + * include/bits/locale_facets.tcc: Remove default args. Add has_facet, use_facet extern instantiations. * src/stl-inst.cc: Add explicit instantiation. * src/locale-inst.cc: Clean. Remove locale member template @@ -2685,7 +5164,18 @@ * testsuite/23_containers/vector_bool.cc: New. -2002-03-08 Phil Edwards <pme@gcc.gnu.org> +2002-03-06 Phil Edwards <pme@gcc.gnu.org> + + * docs/doxygen/user.cfg.in: Also document deprecated entries. + * docs/html/Makefile: Example rule to rebuild porting-howto.html. + * docs/html/17_intro/howto.html: "gcc"->"GCC" changes, when + referring to the collection as a whole. New section on which macros + can be redefined by the user. + * docs/html/19_diagnostics/howto.html: Update note for concepts. + * docs/html/20_util/howto.html: Update link to SGI. + * docs/html/faq/index.html: Update snapshot versions. New entry + on why g++ (but not gcc) must currently predefine certain macros. + * docs/html/faq/index.txt: Regenerated. * include/bits/basic_string.h (basic_string::_S_construct): Fix names in declaration. @@ -2696,12 +5186,16 @@ * include/bits/locale_facets.tcc: Remove unneeded header inclusion. * src/locale.cc: Likewise. -2002-03-08 Phil Edwards <pme@gcc.gnu.org> +2002-03-06 Phil Edwards <pme@gcc.gnu.org> PR libstdc++/5734 * include/bits/stl_vector.h (vector::push_back()): Guard with _GLIBCPP_DEPRECATED. +2002-03-06 Phil Edwards <pme@gcc.gnu.org> + + * include/bits/c++config: Fix misplaced leading blanks on first line. + 2002-03-05 Benjamin Kosnik <bkoz@redhat.com> * docs/html/17_intro/RELEASE-NOTES: Fix usage. @@ -2738,12 +5232,12 @@ 2002-03-03 Phil Edwards <pme@gcc.gnu.org> - PR libstdc++/2955 + PR libstdc++/3955 * include/std/std_sstream.h: Remove trailing spaces. (basic_stringbuf::_M_stringbuf_init): Also check for ios_base::app. * testsuite/27_io/stringbuf.cc (test05, test06): New tests. -2002-03-03 Paolo Carlini <pcarlini@unitus.it> +2002-03-02 Paolo Carlini <pcarlini@unitus.it> * testsuite/22_locale/num_get_members_char.cc (test04): Use a named locale expecting grouping (de_DE). @@ -2752,7 +5246,12 @@ * testsuite/27_io/ios_manip_basefield.cc (test01): Extend coverage, uniform treatment of hexs and octs. -2002-03-01 Paolo Carlini <pcarlini@unitus.it> +2002-02-28 Richard Henderson <rth@redhat.com> + + * config/linker-map.gnu: Export operator new with unsigned long, + and with std::nothrow_t. Likewise operator delete. + +2002-02-28 Paolo Carlini <pcarlini@unitus.it> * include/bits/locale_facets.tcc (num_get::_M_extract_int): Admit grouping for octals and hexadecimals too. @@ -2763,14 +5262,11 @@ * testsuite/27_io/ios_manip_basefield.cc: Remove static keyword. * testsuite/27_io/ios_manip_fmtflags.cc: Remove two of them. +2002-02-27 Paolo Carlini <pcarlini@unitus.it> + * testsuite/27_io/ios_manip_basefield.cc (test01): Fix for 64 bit machines. -2002-02-28 Richard Henderson <rth@redhat.com> - - * config/linker-map.gnu: Export operator new with unsigned long, - and with std::nothrow_t. Likewise operator delete. - 2002-02-26 Benjamin Kosnik <bkoz@redhat.com> libstdc++/3983 @@ -2784,7 +5280,7 @@ (ios_base::_M_call_callbacks): Adjust. * testsuite/27_io/ios_init.cc (test02): Adjust testcase. -2002-02-28 Loren Rittle <ljrittle@acm.org> +2002-02-26 Loren Rittle <ljrittle@acm.org> * include/Makefile.am (thread_target_headers): Unconditionally stage and install gthr-posix.h. @@ -2825,8 +5321,8 @@ 2002-02-22 Philipp Thomas <pthomas@suse.de> - * include/backward/tempbuf.h: get_temporary_buffer and - return_temporary_buffer are in namespace std, not in __gnu_cxx. + * include/backward/tempbuf.h: get_temporary_buffer and + return_temporary_buffer are in namespace std, not in __gnu_cxx. 2002-02-21 Benjamin Kosnik <bkoz@redhat.com> @@ -2882,7 +5378,7 @@ 2002-02-18 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> * testsuite/22_locale/collate_byname.cc (test01): Replace size4 - with size3 for the string collations of str5. + with size3 for the string collations of str5. 2002-02-18 Paolo Carlini <pcarlini@unitus.it> @@ -3020,7 +5516,7 @@ * include/bits/basic_file.h: Remove. * config/io/c_io_stdio.h: Remove _GLIBCPP_BASIC_FILE_ENCAPSULATION Declare generic types, specialization. - * config/io/basic_file_stdio.cc: Definitions. + * config/io/basic_file_stdio.cc: Definitions. * config/io/c_io_libio.h: Remove _GLIBCPP_BASIC_FILE_INHERITANCE. Declare generic types. * include/Makefile.am (bits_headers): Remove basic_file.h. @@ -3102,7 +5598,7 @@ (test02): Same. 2002-02-07 Benjamin Kosnik <bkoz@redhat.com> - Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de> + Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de> * include/bits/basic_ios.tcc (basic_ios::narrow): Add default value. (basic_ios::widen): Same. @@ -3324,7 +5820,7 @@ * docs/html/27_io/howto.html: Also link to Langer and Kreft text. 2002-01-28 Paolo Carlini <pcarlini@unitus.it> - Charles Leggett <CGLeggett@lbl.gov> + Charles Leggett <CGLeggett@lbl.gov> * testsuite/27_io/filebuf_members.cc (test_05): Add test. @@ -3470,7 +5966,7 @@ 2002-01-23 Loren Rittle <ljrittle@acm.org> - * config/locale/c_locale_generic.cc: Fix typename usage. + * config/locale/c_locale_generic.cc: Fix typename usage. 2002-01-22 Benjamin Kosnik <bkoz@redhat.com> @@ -3659,7 +6155,7 @@ * include/Makefile.in: Regenerate. 2002-01-16 Benjamin Kosnik <bkoz@redhat.com> - Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> + Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de> * include/bits/stl_iterator.h (reverse_iterator::_M_current): Deuglify, should be current. @@ -3885,9 +6381,9 @@ 2002-01-09 Paolo Carlini <pcarlini@unitus.it> - * libsupc++/exception (bad_exception): Add comment. - * libsupc++/new (bad_alloc): Same. - * libsupc++/typeinfo (bad_cast, bad_typeid): Same. + * libsupc++/exception (bad_exception): Add comment. + * libsupc++/new (bad_alloc): Same. + * libsupc++/typeinfo (bad_cast, bad_typeid): Same. 2002-01-09 Paolo Carlini <pcarlini@unitus.it> @@ -3921,8 +6417,8 @@ 2002-01-08 Benjamin Kosnik <bkoz@redhat.com> - libstdc++/2913 - libstdc++/4879 + libstdc++/2913 + libstdc++/4879 * include/bits/fstream.tcc (filebuf::_M_really_overflow): Test return value of _M_file->sync(). (filebuf::showmanyc): Check for is_open. @@ -3935,7 +6431,7 @@ * testsuite/27_io/filebuf_members.cc: Add test. 2002-01-07 Benjamin Kosnik <bkoz@redhat.com> - Craig Rodrigues <rodrigc@mediaone.net> + Craig Rodrigues <rodrigc@mediaone.net> libstdc++/5174 * po/Makefile.am (mkinstalldirs): Add. @@ -4103,25 +6599,25 @@ * include/bits/stl_numeric.h (power + helpers, iota): Move to... * include/ext/numeric: ...here, new file. - * include/bits/stl_function.h (identity_element, unary_compose, + * include/bits/stl_function.h (identity_element, unary_compose, binary_compose, compose1, compose2, identity, select1st, select2nd, project1st + helper, project2nd + helper, constant_void_fun + helper, constant_unary_fun + helper, costant_binary_fun + helper, constant0, constant1, constant2, subtractive_rng, mem_fun1, mem_fun1_ref): Move to... - * include/ext/functional: ...here, new file. - * include/Makefile.am (ext_headers): Add new files. - * include/Makefile.in: Regenerate. - * testsuite/ext/headers.cc: Include <ext/numeric> and + * include/ext/functional: ...here, new file. + * include/Makefile.am (ext_headers): Add new files. + * include/Makefile.in: Regenerate. + * testsuite/ext/headers.cc: Include <ext/numeric> and <ext/functional>. * include/backward/algo.h: Include <ext/numeric>, tweak. * include/backward/function.h: Include <ext/functional>, tweak. - * include/ext/ropeimpl.h: Include <ext/numeric>. + * include/ext/ropeimpl.h: Include <ext/numeric>. 2002-01-03 Jeffrey A Law <law@redhat.com> - * config/os/hpux/bits/os_defines.h: Prefix __strtoll and - __strtoull declarations with __extension__. + * config/os/hpux/bits/os_defines.h: Prefix __strtoll and + __strtoull declarations with __extension__. 2002-01-03 David Billinghurst <David.Billinghurst@riotinto.com> @@ -4144,15 +6640,15 @@ * include/bits/stl_algobase.h (copy_n + helpers, lexicographical_compare_3way + helpers): Move to... * include/ext/algorithm: ...here. - * include/bits/stl_uninitialized.h (uninitialized_copy_n + - helpers): Move to... - * include/ext/memory: ...here, new file. - * include/Makefile.am (ext_headers): Add new file. - * include/Makefile.in: Regenerate. - * testsuite/ext/headers.cc: Include <ext/memory>. + * include/bits/stl_uninitialized.h (uninitialized_copy_n + + helpers): Move to... + * include/ext/memory: ...here, new file. + * include/Makefile.am (ext_headers): Add new file. + * include/Makefile.in: Regenerate. + * testsuite/ext/headers.cc: Include <ext/memory>. * include/backward/algobase.h: Include <ext/memory> and <ext/algorithm>, tweak. - * include/ext/ropeimpl.h: Include <ext/memory>, tweak. + * include/ext/ropeimpl.h: Include <ext/memory>, tweak. * include/ext/stl_rope.h: Include <ext/memory>, tweak. 2002-01-01 Roger Sayle <roger@eyesopen.com> diff --git a/contrib/libstdc++/Makefile.am b/contrib/libstdc++/Makefile.am index 9b0db8f..642bdc3 100644 --- a/contrib/libstdc++/Makefile.am +++ b/contrib/libstdc++/Makefile.am @@ -29,6 +29,8 @@ SUBDIRS = include libio libmath libsupc++ src po testsuite mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs +PWD_COMMAND = $${PWDCMD-pwd} + # These two special 'check-script' rules use the bash script 'mkcheck' # to do testing. This script is not as portable as the dejagnu test # harness, and is thus off by default. It does produce interesting @@ -44,42 +46,22 @@ check-script-install: $(top_builddir)/mkcheck cd testsuite; \ @glibcpp_builddir@/mkcheck 1) -# Use 'new-abi-baseline' to create an initial symbol file. Then run -# 'check-abi' to test for changes against that file. -baseline_file = @baseline_file@ -check-abi: $(top_builddir)/testsuite/abi_check - -@(cd testsuite; \ - @glibcpp_srcdir@/config/abi/extract_symvers \ - ../src/.libs/libstdc++.so \ - ./current_symbols.txt; \ - ./abi_check --check ./current_symbols.txt ${baseline_file}) - -new-abi-baseline: - -@(output=${baseline_file}; \ - if test -f $${output}; then \ - output=$${output}.new; \ - t=`echo $${output} | sed 's=.*config/abi/=='`; \ - echo "Baseline file already exists, writing to $${t} instead."; \ - fi; \ - @glibcpp_srcdir@/config/abi/extract_symvers \ - src/.libs/libstdc++.so $${output}) - # These rules are messy, but are hella worth it. doxygen: - -(srcdir=`cd ${top_srcdir}; pwd`; \ - builddir=`pwd`; \ + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`${PWD_COMMAND}`; \ /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ --mode=user $${srcdir} $${builddir}) doxygen-maint: - -(srcdir=`cd ${top_srcdir}; pwd`; \ - builddir=`pwd`; \ + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`${PWD_COMMAND}`; \ /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ --mode=maint $${srcdir} $${builddir}) doxygen-man: - -(srcdir=`cd ${top_srcdir}; pwd`; \ - builddir=`pwd`; \ + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`${PWD_COMMAND}`; \ /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ --mode=man $${srcdir} $${builddir}) @@ -154,6 +136,7 @@ AM_MAKEFLAGS = \ "includedir=$(includedir)" \ "prefix=$(prefix)" \ "tooldir=$(tooldir)" \ + "gxx_include_dir=$(gxx_include_dir)" \ "AR=$(AR)" \ "AS=$(AS)" \ "LD=$(LD)" \ @@ -165,3 +148,6 @@ AM_MAKEFLAGS = \ "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ "DESTDIR=$(DESTDIR)" \ "WERROR=$(WERROR)" + +# Subdir rules rely on $(FLAGS_TO_PASS) +FLAGS_TO_PASS = $(AM_MAKEFLAGS) diff --git a/contrib/libstdc++/Makefile.in b/contrib/libstdc++/Makefile.in index add19e9..4ff8e32 100644 --- a/contrib/libstdc++/Makefile.in +++ b/contrib/libstdc++/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -67,15 +67,24 @@ AR = @AR@ AS = @AS@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ AWK = @AWK@ +BASIC_FILE_CC = @BASIC_FILE_CC@ BASIC_FILE_H = @BASIC_FILE_H@ CC = @CC@ CCODECVT_C = @CCODECVT_C@ +CCODECVT_CC = @CCODECVT_CC@ CCODECVT_H = @CCODECVT_H@ +CCOLLATE_CC = @CCOLLATE_CC@ +CCTYPE_CC = @CCTYPE_CC@ +CLOCALE_CC = @CLOCALE_CC@ CLOCALE_H = @CLOCALE_H@ +CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ +CMESSAGES_CC = @CMESSAGES_CC@ CMESSAGES_H = @CMESSAGES_H@ +CMONEY_CC = @CMONEY_CC@ +CNUMERIC_CC = @CNUMERIC_CC@ CPP = @CPP@ -CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@ CSTDIO_H = @CSTDIO_H@ +CTIME_CC = @CTIME_CC@ CTIME_H = @CTIME_H@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -108,11 +117,13 @@ RANLIB = @RANLIB@ SECTION_FLAGS = @SECTION_FLAGS@ SECTION_LDFLAGS = @SECTION_LDFLAGS@ STRIP = @STRIP@ +SYMVER_MAP = @SYMVER_MAP@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ WERROR = @WERROR@ +baseline_dir = @baseline_dir@ check_msgfmt = @check_msgfmt@ enable_shared = @enable_shared@ enable_static = @enable_static@ @@ -140,9 +151,7 @@ SUBDIRS = include libio libmath libsupc++ src po testsuite mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs -# Use 'new-abi-baseline' to create an initial symbol file. Then run -# 'check-abi' to test for changes against that file. -baseline_file = @baseline_file@ +PWD_COMMAND = $${PWDCMD-pwd} # Multilib support. MAKEOVERRIDES = @@ -185,6 +194,7 @@ AM_MAKEFLAGS = \ "includedir=$(includedir)" \ "prefix=$(prefix)" \ "tooldir=$(tooldir)" \ + "gxx_include_dir=$(gxx_include_dir)" \ "AR=$(AR)" \ "AS=$(AS)" \ "LD=$(LD)" \ @@ -197,6 +207,9 @@ AM_MAKEFLAGS = \ "DESTDIR=$(DESTDIR)" \ "WERROR=$(WERROR)" + +# Subdir rules rely on $(FLAGS_TO_PASS) +FLAGS_TO_PASS = $(AM_MAKEFLAGS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = mkcheck testsuite_flags @@ -270,7 +283,7 @@ testsuite_flags: $(top_builddir)/config.status testsuite_flags.in all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive install-info-recursive \ check-recursive installcheck-recursive info-recursive dvi-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,7 +303,7 @@ check-recursive installcheck-recursive info-recursive dvi-recursive: mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $(MAKEFLAGS); amf=$$2; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ @@ -482,39 +495,23 @@ check-script-install: $(top_builddir)/mkcheck -(chmod + $(top_builddir)/mkcheck; \ cd testsuite; \ @glibcpp_builddir@/mkcheck 1) -check-abi: $(top_builddir)/testsuite/abi_check - -@(cd testsuite; \ - @glibcpp_srcdir@/config/abi/extract_symvers \ - ../src/.libs/libstdc++.so \ - ./current_symbols.txt; \ - ./abi_check --check ./current_symbols.txt ${baseline_file}) - -new-abi-baseline: - -@(output=${baseline_file}; \ - if test -f $${output}; then \ - output=$${output}.new; \ - t=`echo $${output} | sed 's=.*config/abi/=='`; \ - echo "Baseline file already exists, writing to $${t} instead."; \ - fi; \ - @glibcpp_srcdir@/config/abi/extract_symvers \ - src/.libs/libstdc++.so $${output}) # These rules are messy, but are hella worth it. doxygen: - -(srcdir=`cd ${top_srcdir}; pwd`; \ - builddir=`pwd`; \ + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`${PWD_COMMAND}`; \ /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ --mode=user $${srcdir} $${builddir}) doxygen-maint: - -(srcdir=`cd ${top_srcdir}; pwd`; \ - builddir=`pwd`; \ + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`${PWD_COMMAND}`; \ /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ --mode=maint $${srcdir} $${builddir}) doxygen-man: - -(srcdir=`cd ${top_srcdir}; pwd`; \ - builddir=`pwd`; \ + -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \ + builddir=`${PWD_COMMAND}`; \ /bin/sh ${srcdir}/docs/doxygen/run_doxygen \ --mode=man $${srcdir} $${builddir}) diff --git a/contrib/libstdc++/acconfig.h b/contrib/libstdc++/acconfig.h index 4d18634..91af8fa 100644 --- a/contrib/libstdc++/acconfig.h +++ b/contrib/libstdc++/acconfig.h @@ -135,6 +135,15 @@ // Define if the compiler/host combination has __builtin_sqrtl #undef HAVE___BUILTIN_SQRTL +// Define if poll is available in <poll.h>. +#undef HAVE_POLL + +// Define if S_ISREG (Posix) is available in <sys/stat.h>. +#undef HAVE_S_ISREG + +// Define if S_IFREG is available in <sys/stat.h>. +#undef HAVE_S_IFREG + // Define if LC_MESSAGES is available in <locale.h>. #undef HAVE_LC_MESSAGES diff --git a/contrib/libstdc++/acinclude.m4 b/contrib/libstdc++/acinclude.m4 index 6393278..608cd24 100644 --- a/contrib/libstdc++/acinclude.m4 +++ b/contrib/libstdc++/acinclude.m4 @@ -1,5 +1,5 @@ dnl -dnl Initialize configure bits. +dnl Initialize basic configure bits, set toplevel_srcdir for Makefiles. dnl dnl GLIBCPP_TOPREL_CONFIGURE AC_DEFUN(GLIBCPP_TOPREL_CONFIGURE, [ @@ -37,13 +37,10 @@ AC_DEFUN(GLIBCPP_TOPREL_CONFIGURE, [ ]) dnl -dnl Initialize configure bits. +dnl Initialize the rest of the library configury. dnl dnl GLIBCPP_CONFIGURE AC_DEFUN(GLIBCPP_CONFIGURE, [ - -#possibly test for the presence of the compiler sources here? - # Export build and source directories. # These need to be absolute paths, yet at the same time need to # canonicalize only relative paths, because then amd will not unmount @@ -270,8 +267,7 @@ AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [ # this is the suspicious part CXXFLAGS='' fi - if test x"$ac_fdsections" = x"yes" && - test x"$enable_debug" = x"no"; then + if test x"$ac_fdsections" = x"yes"; then SECTION_FLAGS='-ffunction-sections -fdata-sections' fi AC_MSG_RESULT($ac_fdsections) @@ -364,7 +360,7 @@ AC_DEFUN(GLIBCPP_CHECK_LINKER_FEATURES, [ fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -732,7 +728,6 @@ AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [ fi ]) - dnl dnl Check to see what the underlying c library is like dnl These checks need to do two things: @@ -748,7 +743,7 @@ dnl GLIBCPP_CHECK_STDLIB_SUPPORT AC_DEFUN(GLIBCPP_CHECK_STDLIB_SUPPORT, [ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS='-fno-builtins -D_GNU_SOURCE' + CXXFLAGS='-fno-builtin -D_GNU_SOURCE' GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold) GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtof) @@ -790,7 +785,7 @@ dnl GLIBCPP_CHECK_MATH_SUPPORT AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS='-fno-builtins -D_GNU_SOURCE' + CXXFLAGS='-fno-builtin -D_GNU_SOURCE' dnl Check libm AC_CHECK_LIB(m, sin, libm="-lm") @@ -915,7 +910,11 @@ AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [ AC_CHECK_FUNCS([__signbitl], , [LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"]) fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi AC_SUBST(LIBMATHOBJS) + AM_CONDITIONAL(GLIBCPP_BUILD_LIBMATH, test "$need_libmath" = yes) ]) @@ -925,9 +924,9 @@ dnl compilation, pick them up here. dnl dnl GLIBCPP_CHECK_TARGET AC_DEFUN(GLIBCPP_CHECK_TARGET, [ - . [$]{glibcpp_basedir}/configure.target - AC_MSG_RESULT(CPU config directory is $cpu_include_dir) - AC_MSG_RESULT(OS config directory is $os_include_dir) + . [$]{glibcpp_basedir}/configure.target + AC_MSG_RESULT(CPU config directory is $cpu_include_dir) + AC_MSG_RESULT(OS config directory is $os_include_dir) ]) @@ -941,6 +940,8 @@ dnl Define HAVE_MBSTATE_T if mbstate_t is not in wchar.h dnl dnl GLIBCPP_CHECK_WCHAR_T_SUPPORT AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ + dnl Wide characters disabled by default. + enable_wchar_t=no dnl Test wchar.h for mbstate_t, which is needed for char_traits and dnl others even if wchar_t support is not on. @@ -986,7 +987,7 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ ac_wfuncs=no) dnl Checks for names injected into std:: by the c_std headers. - AC_CHECK_FUNCS(btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + AC_CHECK_FUNCS(btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -1031,30 +1032,33 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ dnl At the moment, only enable wchar_t specializations if all the dnl above support is present. - AC_MSG_CHECKING([for enabled wchar_t specializations]) if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - AC_DEFINE(_GLIBCPP_USE_WCHAR_T) - AC_MSG_RESULT("yes") - else - AC_MSG_RESULT("no") + AC_DEFINE(_GLIBCPP_USE_WCHAR_T) + enable_wchar_t=yes fi - else - dnl Wide characters disabled by the user. - AC_MSG_WARN([wchar_t support disabled.]) fi + AC_MSG_CHECKING([for enabled wchar_t specializations]) + AC_MSG_RESULT($enable_wchar_t) + AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes) ]) dnl -dnl Check for special debugging mode; not for production use. +dnl Check to see if debugging libraries are to be built. dnl dnl GLIBCPP_ENABLE_DEBUG -dnl --enable-debug sets '-ggdb3 -O0'. -dnl --disable-debug sets '-g' and whatever optimization options the -dnl compiler can handle. -dnl + --enable-maintainer-mode automatically defaults this to on. -dnl + Perhaps -D/-U of NDEBUG, DEBUG, DEBUG_ASSERT, ...? +dnl +dnl --enable-debug +dnl builds a separate set of debugging libraries in addition to the +dnl normal (shared, static) libstdc++ binaries. +dnl +dnl --disable-debug +dnl builds only one (non-debug) version of libstdc++. +dnl +dnl --enable-debug-flags=FLAGS +dnl iff --enable-debug == yes, then use FLAGS to build the debug library. +dnl dnl + Usage: GLIBCPP_ENABLE_DEBUG[(DEFAULT)] dnl Where DEFAULT is either `yes' or `no'. If ommitted, it dnl defaults to `no'. @@ -1062,7 +1066,7 @@ AC_DEFUN(GLIBCPP_ENABLE_DEBUG, [dnl define([GLIBCPP_ENABLE_DEBUG_DEFAULT], ifelse($1, yes, yes, no))dnl AC_ARG_ENABLE(debug, changequote(<<, >>)dnl -<< --enable-debug extra debugging, turn off optimization [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT], +<< --enable-debug build extra debug library [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT], changequote([, ])dnl [case "${enableval}" in yes) enable_debug=yes ;; @@ -1070,17 +1074,56 @@ changequote([, ])dnl *) AC_MSG_ERROR([Unknown argument to enable/disable extra debugging]) ;; esac], enable_debug=GLIBCPP_ENABLE_DEBUG_DEFAULT)dnl +AC_MSG_CHECKING([for additional debug build]) +AC_MSG_RESULT($enable_debug) +AM_CONDITIONAL(GLIBCPP_BUILD_DEBUG, test "$enable_debug" = yes) +]) + + +dnl Check for explicit debug flags. +dnl +dnl GLIBCPP_ENABLE_DEBUG_FLAGS +dnl +dnl --enable-debug-flags='-O1' +dnl is a general method for passing flags to be used when +dnl building debug libraries with --enable-debug. +dnl +dnl --disable-debug-flags does nothing. +dnl + Usage: GLIBCPP_ENABLE_DEBUG_FLAGS(default flags) +dnl If "default flags" is an empty string (or "none"), the effect is +dnl the same as --disable or --enable=no. +AC_DEFUN(GLIBCPP_ENABLE_DEBUG_FLAGS, [dnl +define([GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT], ifelse($1,,, $1))dnl +AC_ARG_ENABLE(debug_flags, +changequote(<<, >>)dnl +<< --enable-debug-flags=FLAGS pass compiler FLAGS when building debug + library;[default=>>GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT], +changequote([, ])dnl +[case "${enableval}" in + none) ;; + -*) enable_debug_flags="${enableval}" ;; + *) AC_MSG_ERROR([Unknown argument to extra debugging flags]) ;; + esac], +enable_debug_flags=GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT)dnl dnl Option parsed, now set things appropriately -case "${enable_debug}" in - yes) - DEBUG_FLAGS='-O0 -ggdb3' - ;; - no) - DEBUG_FLAGS='-g' +case x"$enable_debug" in + xyes) + case "$enable_debug_flags" in + none) + DEBUG_FLAGS="-g3 -O0";; + -*) #valid input + DEBUG_FLAGS="${enableval}" + esac + ;; + xno) + DEBUG_FLAGS="" ;; esac AC_SUBST(DEBUG_FLAGS) + +AC_MSG_CHECKING([for debug build flags]) +AC_MSG_RESULT($DEBUG_FLAGS) ]) @@ -1101,39 +1144,36 @@ dnl If "default flags" is an empty string (or "none"), the effect is dnl the same as --disable or --enable=no. AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl -AC_ARG_ENABLE(cxx-flags, +AC_MSG_CHECKING([for extra compiler flags for building]) +AC_ARG_ENABLE(cxx_flags, changequote(<<, >>)dnl << --enable-cxx-flags=FLAGS pass compiler FLAGS when building library; - [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], + [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], changequote([, ])dnl -[case "x$enableval" in - xyes) - AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;; - xno|x) - enable_cxx_flags='' ;; - *) - enable_cxx_flags="$enableval" ;; - esac], -enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT') - -dnl Thinko on my part during design. This kludge is the workaround. -if test "$enable_cxx_flags" = "none"; then - enable_cxx_flags=''; -fi +[case "x$enable_cxx_flags" in + xyes) + AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;; + xno | xnone | x) + enable_cxx_flags='' ;; + *) + enable_cxx_flags="$enableval" ;; +esac], +enable_cxx_flags=GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT) dnl Run through flags (either default or command-line) and set anything dnl extra (e.g., #defines) that must accompany particular g++ options. if test -n "$enable_cxx_flags"; then - for f in $enable_cxx_flags; do - case "$f" in - -fhonor-std) ;; - -*) ;; - *) # and we're trying to pass /what/ exactly? - AC_MSG_ERROR([compiler flags start with a -]) ;; - esac - done + for f in $enable_cxx_flags; do + case "$f" in + -fhonor-std) ;; + -*) ;; + *) # and we're trying to pass /what/ exactly? + AC_MSG_ERROR([compiler flags start with a -]) ;; + esac + done fi EXTRA_CXX_FLAGS="$enable_cxx_flags" +AC_MSG_RESULT($EXTRA_CXX_FLAGS) AC_SUBST(EXTRA_CXX_FLAGS) ]) @@ -1298,24 +1338,20 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ glibcpp_localedir=${glibcpp_builddir}/po/share/locale AC_SUBST(glibcpp_localedir) - # For the time being, transform ctype_noninline.h to ctype_members_char.cc -# CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h - AC_SUBST(USE_NLS) AC_SUBST(CLOCALE_H) AC_SUBST(CCODECVT_H) AC_SUBST(CMESSAGES_H) + AC_SUBST(CCODECVT_CC) + AC_SUBST(CCOLLATE_CC) + AC_SUBST(CCTYPE_CC) + AC_SUBST(CMESSAGES_CC) + AC_SUBST(CMONEY_CC) + AC_SUBST(CNUMERIC_CC) 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) -# AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc) - AC_LINK_FILES($CCTYPE_CC, src/ctype_members.cc) - AC_LINK_FILES($CMESSAGES_CC, src/messages_members.cc) - AC_LINK_FILES($CMONEY_CC, src/monetary_members.cc) - AC_LINK_FILES($CNUMERIC_CC, src/numeric_members.cc) - AC_LINK_FILES($CTIME_CC, src/time_members.cc) - AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h) + AC_SUBST(CTIME_CC) + AC_SUBST(CLOCALE_CC) + AC_SUBST(CLOCALE_INTERNAL_H) ]) @@ -1416,7 +1452,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [ esac AC_SUBST(CSTDIO_H) AC_SUBST(BASIC_FILE_H) - AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc) + AC_SUBST(BASIC_FILE_CC) # 2000-08-04 bkoz hack CCODECVT_C=config/io/c_io_libio_codecvt.c @@ -1499,7 +1535,7 @@ void foo() } EOF old_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="-S -fexceptions" + CXXFLAGS=-S if AC_TRY_EVAL(ac_compile); then if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=yes @@ -1735,21 +1771,20 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl dnl -dnl Check for what kind of C headers to use. +dnl Check for what type of C headers to use. dnl dnl GLIBCPP_ENABLE_CHEADERS dnl --enable-cheaders= [does stuff]. dnl --disable-cheaders [does not do anything, really]. -dnl + This will eventually need to be 'c_shadow' by default. dnl + Usage: GLIBCPP_ENABLE_CHEADERS[(DEFAULT)] -dnl Where DEFAULT is either `c' or `c_std' or 'c_shadow'. +dnl Where DEFAULT is either `c' or `c_std'. dnl If ommitted, it defaults to `c_std'. AC_DEFUN(GLIBCPP_ENABLE_CHEADERS, [dnl define([GLIBCPP_ENABLE_CHEADERS_DEFAULT], ifelse($1, c_std, c_std, c_std))dnl AC_MSG_CHECKING([for c header strategy to use]) AC_ARG_ENABLE(cheaders, changequote(<<, >>)dnl -<< --enable-cheaders construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT], +<< --enable-cheaders=MODEL construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT], changequote([, ]) [case "$enableval" in c) @@ -1758,9 +1793,6 @@ changequote([, ]) c_std) enable_cheaders=c_std ;; - c_shadow) - enable_cheaders=c_shadow - ;; *) AC_MSG_ERROR([Unknown argument to enable/disable "C" headers]) ;; esac], @@ -1769,9 +1801,6 @@ changequote([, ]) dnl Option parsed, now set things appropriately case "$enable_cheaders" in - c_shadow) - C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_shadow' - ;; c_std) C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_std' ;; @@ -1820,7 +1849,6 @@ dnl TOPLEVEL_INCLUDES dnl LIBMATH_INCLUDES dnl LIBSUPCXX_INCLUDES dnl LIBIO_INCLUDES -dnl CSHADOW_INCLUDES dnl dnl GLIBCPP_EXPORT_INCLUDES AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [ @@ -1859,7 +1887,7 @@ AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [ OPTIMIZE_CXXFLAGS= AC_SUBST(OPTIMIZE_CXXFLAGS) - WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline' + WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings' AC_SUBST(WARN_FLAGS) ]) @@ -2041,8 +2069,9 @@ dnl string, '#' otherwise dnl Check for headers for, and arguments to, the setrlimit() function. dnl Used only in testsuite_hooks.h. AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT_ancilliary, [ - AC_TRY_COMPILE([#include <sys/resource.h> - #include <unistd.h> + AC_TRY_COMPILE([#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> ], [ int f = RLIMIT_$1 ; ], [glibcpp_mresult=1], [glibcpp_mresult=0]) AC_DEFINE_UNQUOTED(HAVE_MEMLIMIT_$1, $glibcpp_mresult, @@ -2050,7 +2079,7 @@ AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT_ancilliary, [ ]) AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT, [ setrlimit_have_headers=yes - AC_CHECK_HEADERS(sys/resource.h unistd.h, + AC_CHECK_HEADERS(unistd.h sys/time.h sys/resource.h, [], setrlimit_have_headers=no) # If don't have the headers, then we can't run the tests now, and we @@ -2064,8 +2093,9 @@ AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT, [ # Check for rlimit, setrlimit. AC_CACHE_VAL(ac_setrlimit, [ - AC_TRY_COMPILE([#include <sys/resource.h> - #include <unistd.h> + AC_TRY_COMPILE([#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> ], [ struct rlimit r; setrlimit(0, &r);], [ac_setrlimit=yes], [ac_setrlimit=no]) @@ -2089,18 +2119,30 @@ dnl the testsuite_hooks.h header. dnl dnl GLIBCPP_CONFIGURE_TESTSUITE [no args] AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [ - GLIBCPP_CHECK_SETRLIMIT + if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then + # Do checks for memory limit functions. + GLIBCPP_CHECK_SETRLIMIT - # Look for setenv, so that extended locale tests can be performed. - GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) + # Look for setenv, so that extended locale tests can be performed. + GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) + fi # Export file names for ABI checking. - baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" - AC_SUBST(baseline_file) + baseline_dir="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)" + AC_SUBST(baseline_dir) - # Don't do ABI checking unless native. - AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK, - test x"$build" = x"$host" && test -z "$with_cross_host") + # Determine if checking the ABI is desirable. + if test x$enable_symvers = xno; then + enable_abi_check=no + else + case "$host" in + *-*-cygwin*) + enable_abi_check=no ;; + *) + enable_abi_check=yes ;; + esac + fi + AM_CONDITIONAL(GLIBCPP_TEST_ABI, test "$enable_abi_check" = yes) ]) @@ -2114,6 +2156,45 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN]) AC_DEFUN([AC_PROG_LD]) ]) +dnl +dnl Check whether S_ISREG (Posix) or S_IFREG is available in <sys/stat.h>. +dnl + +AC_DEFUN(GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, [ + AC_CACHE_VAL(glibcpp_cv_S_ISREG, [ + AC_TRY_LINK([#include <sys/stat.h>], + [struct stat buffer; fstat(0, &buffer); S_ISREG(buffer.st_mode); ], + [glibcpp_cv_S_ISREG=yes], + [glibcpp_cv_S_ISREG=no]) + ]) + AC_CACHE_VAL(glibcpp_cv_S_IFREG, [ + AC_TRY_LINK([#include <sys/stat.h>], + [struct stat buffer; fstat(0, &buffer); S_IFREG & buffer.st_mode; ], + [glibcpp_cv_S_IFREG=yes], + [glibcpp_cv_S_IFREG=no]) + ]) + if test x$glibcpp_cv_S_ISREG = xyes; then + AC_DEFINE(HAVE_S_ISREG) + elif test x$glibcpp_cv_S_IFREG = xyes; then + AC_DEFINE(HAVE_S_IFREG) + fi +]) + +dnl +dnl Check whether poll is available in <poll.h>. +dnl + +AC_DEFUN(GLIBCPP_CHECK_POLL, [ + AC_CACHE_VAL(glibcpp_cv_POLL, [ + AC_TRY_COMPILE([#include <poll.h>], + [struct pollfd pfd[1]; pfd[0].events = POLLIN; poll(pfd, 1, 0); ], + [glibcpp_cv_POLL=yes], + [glibcpp_cv_POLL=no]) + ]) + if test x$glibcpp_cv_POLL = xyes; then + AC_DEFINE(HAVE_POLL) + fi +]) # Check whether LC_MESSAGES is available in <locale.h>. # Ulrich Drepper <drepper@cygnus.com>, 1995. @@ -2203,12 +2284,14 @@ if test x$enable_shared = xno || fi # Check to see if libgcc_s exists, indicating that shared libgcc is possible. -AC_MSG_CHECKING([for shared libgcc]) -ac_save_CFLAGS="$CFLAGS" -CFLAGS=' -lgcc_s' -AC_TRY_LINK( , [return 0], glibcpp_shared_libgcc=yes, glibcpp_shared_libgcc=no) -CFLAGS="$ac_save_CFLAGS" -AC_MSG_RESULT($glibcpp_shared_libgcc) +if test $enable_symvers != no; then + AC_MSG_CHECKING([for shared libgcc]) + ac_save_CFLAGS="$CFLAGS" + CFLAGS=' -lgcc_s' + AC_TRY_LINK(, [return 0], glibcpp_shared_libgcc=yes, glibcpp_shared_libgcc=no) + CFLAGS="$ac_save_CFLAGS" + AC_MSG_RESULT($glibcpp_shared_libgcc) +fi # For GNU ld, we need at least this version. It's 2.12 in the same format # as the tested-for version. See GLIBCPP_CHECK_LINKER_FEATURES for more. @@ -2248,15 +2331,15 @@ fi dnl Everything parsed; figure out what file to use. case $enable_symvers in no) - LINKER_MAP=config/linker-map.dummy + SYMVER_MAP=config/linker-map.dummy ;; gnu) - LINKER_MAP=config/linker-map.gnu + SYMVER_MAP=config/linker-map.gnu AC_DEFINE(_GLIBCPP_SYMVER) ;; esac -AC_LINK_FILES($LINKER_MAP, src/linker.map) +AC_SUBST(SYMVER_MAP) AM_CONDITIONAL(GLIBCPP_BUILD_VERSIONED_SHLIB, test $enable_symvers != no) AC_MSG_CHECKING([versioning on shared library symbols]) AC_MSG_RESULT($enable_symvers) diff --git a/contrib/libstdc++/aclocal.m4 b/contrib/libstdc++/aclocal.m4 index ef2d3a7..ecc43b4 100644 --- a/contrib/libstdc++/aclocal.m4 +++ b/contrib/libstdc++/aclocal.m4 @@ -11,7 +11,7 @@ dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. dnl -dnl Initialize configure bits. +dnl Initialize basic configure bits, set toplevel_srcdir for Makefiles. dnl dnl GLIBCPP_TOPREL_CONFIGURE AC_DEFUN(GLIBCPP_TOPREL_CONFIGURE, [ @@ -49,13 +49,10 @@ AC_DEFUN(GLIBCPP_TOPREL_CONFIGURE, [ ]) dnl -dnl Initialize configure bits. +dnl Initialize the rest of the library configury. dnl dnl GLIBCPP_CONFIGURE AC_DEFUN(GLIBCPP_CONFIGURE, [ - -#possibly test for the presence of the compiler sources here? - # Export build and source directories. # These need to be absolute paths, yet at the same time need to # canonicalize only relative paths, because then amd will not unmount @@ -282,8 +279,7 @@ AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES, [ # this is the suspicious part CXXFLAGS='' fi - if test x"$ac_fdsections" = x"yes" && - test x"$enable_debug" = x"no"; then + if test x"$ac_fdsections" = x"yes"; then SECTION_FLAGS='-ffunction-sections -fdata-sections' fi AC_MSG_RESULT($ac_fdsections) @@ -376,7 +372,7 @@ AC_DEFUN(GLIBCPP_CHECK_LINKER_FEATURES, [ fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -744,7 +740,6 @@ AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [ fi ]) - dnl dnl Check to see what the underlying c library is like dnl These checks need to do two things: @@ -760,7 +755,7 @@ dnl GLIBCPP_CHECK_STDLIB_SUPPORT AC_DEFUN(GLIBCPP_CHECK_STDLIB_SUPPORT, [ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS='-fno-builtins -D_GNU_SOURCE' + CXXFLAGS='-fno-builtin -D_GNU_SOURCE' GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold) GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtof) @@ -802,7 +797,7 @@ dnl GLIBCPP_CHECK_MATH_SUPPORT AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS='-fno-builtins -D_GNU_SOURCE' + CXXFLAGS='-fno-builtin -D_GNU_SOURCE' dnl Check libm AC_CHECK_LIB(m, sin, libm="-lm") @@ -927,7 +922,11 @@ AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [ AC_CHECK_FUNCS([__signbitl], , [LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"]) fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi AC_SUBST(LIBMATHOBJS) + AM_CONDITIONAL(GLIBCPP_BUILD_LIBMATH, test "$need_libmath" = yes) ]) @@ -937,9 +936,9 @@ dnl compilation, pick them up here. dnl dnl GLIBCPP_CHECK_TARGET AC_DEFUN(GLIBCPP_CHECK_TARGET, [ - . [$]{glibcpp_basedir}/configure.target - AC_MSG_RESULT(CPU config directory is $cpu_include_dir) - AC_MSG_RESULT(OS config directory is $os_include_dir) + . [$]{glibcpp_basedir}/configure.target + AC_MSG_RESULT(CPU config directory is $cpu_include_dir) + AC_MSG_RESULT(OS config directory is $os_include_dir) ]) @@ -953,6 +952,8 @@ dnl Define HAVE_MBSTATE_T if mbstate_t is not in wchar.h dnl dnl GLIBCPP_CHECK_WCHAR_T_SUPPORT AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ + dnl Wide characters disabled by default. + enable_wchar_t=no dnl Test wchar.h for mbstate_t, which is needed for char_traits and dnl others even if wchar_t support is not on. @@ -998,7 +999,7 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ ac_wfuncs=no) dnl Checks for names injected into std:: by the c_std headers. - AC_CHECK_FUNCS(btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + AC_CHECK_FUNCS(btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -1043,30 +1044,33 @@ AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [ dnl At the moment, only enable wchar_t specializations if all the dnl above support is present. - AC_MSG_CHECKING([for enabled wchar_t specializations]) if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - AC_DEFINE(_GLIBCPP_USE_WCHAR_T) - AC_MSG_RESULT("yes") - else - AC_MSG_RESULT("no") + AC_DEFINE(_GLIBCPP_USE_WCHAR_T) + enable_wchar_t=yes fi - else - dnl Wide characters disabled by the user. - AC_MSG_WARN([wchar_t support disabled.]) fi + AC_MSG_CHECKING([for enabled wchar_t specializations]) + AC_MSG_RESULT($enable_wchar_t) + AM_CONDITIONAL(GLIBCPP_TEST_WCHAR_T, test "$enable_wchar_t" = yes) ]) dnl -dnl Check for special debugging mode; not for production use. +dnl Check to see if debugging libraries are to be built. dnl dnl GLIBCPP_ENABLE_DEBUG -dnl --enable-debug sets '-ggdb3 -O0'. -dnl --disable-debug sets '-g' and whatever optimization options the -dnl compiler can handle. -dnl + --enable-maintainer-mode automatically defaults this to on. -dnl + Perhaps -D/-U of NDEBUG, DEBUG, DEBUG_ASSERT, ...? +dnl +dnl --enable-debug +dnl builds a separate set of debugging libraries in addition to the +dnl normal (shared, static) libstdc++ binaries. +dnl +dnl --disable-debug +dnl builds only one (non-debug) version of libstdc++. +dnl +dnl --enable-debug-flags=FLAGS +dnl iff --enable-debug == yes, then use FLAGS to build the debug library. +dnl dnl + Usage: GLIBCPP_ENABLE_DEBUG[(DEFAULT)] dnl Where DEFAULT is either `yes' or `no'. If ommitted, it dnl defaults to `no'. @@ -1074,7 +1078,7 @@ AC_DEFUN(GLIBCPP_ENABLE_DEBUG, [dnl define([GLIBCPP_ENABLE_DEBUG_DEFAULT], ifelse($1, yes, yes, no))dnl AC_ARG_ENABLE(debug, changequote(<<, >>)dnl -<< --enable-debug extra debugging, turn off optimization [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT], +<< --enable-debug build extra debug library [default=>>GLIBCPP_ENABLE_DEBUG_DEFAULT], changequote([, ])dnl [case "${enableval}" in yes) enable_debug=yes ;; @@ -1082,17 +1086,56 @@ changequote([, ])dnl *) AC_MSG_ERROR([Unknown argument to enable/disable extra debugging]) ;; esac], enable_debug=GLIBCPP_ENABLE_DEBUG_DEFAULT)dnl +AC_MSG_CHECKING([for additional debug build]) +AC_MSG_RESULT($enable_debug) +AM_CONDITIONAL(GLIBCPP_BUILD_DEBUG, test "$enable_debug" = yes) +]) + + +dnl Check for explicit debug flags. +dnl +dnl GLIBCPP_ENABLE_DEBUG_FLAGS +dnl +dnl --enable-debug-flags='-O1' +dnl is a general method for passing flags to be used when +dnl building debug libraries with --enable-debug. +dnl +dnl --disable-debug-flags does nothing. +dnl + Usage: GLIBCPP_ENABLE_DEBUG_FLAGS(default flags) +dnl If "default flags" is an empty string (or "none"), the effect is +dnl the same as --disable or --enable=no. +AC_DEFUN(GLIBCPP_ENABLE_DEBUG_FLAGS, [dnl +define([GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT], ifelse($1,,, $1))dnl +AC_ARG_ENABLE(debug_flags, +changequote(<<, >>)dnl +<< --enable-debug-flags=FLAGS pass compiler FLAGS when building debug + library;[default=>>GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT], +changequote([, ])dnl +[case "${enableval}" in + none) ;; + -*) enable_debug_flags="${enableval}" ;; + *) AC_MSG_ERROR([Unknown argument to extra debugging flags]) ;; + esac], +enable_debug_flags=GLIBCPP_ENABLE_DEBUG_FLAGS_DEFAULT)dnl dnl Option parsed, now set things appropriately -case "${enable_debug}" in - yes) - DEBUG_FLAGS='-O0 -ggdb3' - ;; - no) - DEBUG_FLAGS='-g' +case x"$enable_debug" in + xyes) + case "$enable_debug_flags" in + none) + DEBUG_FLAGS="-g3 -O0";; + -*) #valid input + DEBUG_FLAGS="${enableval}" + esac + ;; + xno) + DEBUG_FLAGS="" ;; esac AC_SUBST(DEBUG_FLAGS) + +AC_MSG_CHECKING([for debug build flags]) +AC_MSG_RESULT($DEBUG_FLAGS) ]) @@ -1113,39 +1156,36 @@ dnl If "default flags" is an empty string (or "none"), the effect is dnl the same as --disable or --enable=no. AC_DEFUN(GLIBCPP_ENABLE_CXX_FLAGS, [dnl define([GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], ifelse($1,,, $1))dnl -AC_ARG_ENABLE(cxx-flags, +AC_MSG_CHECKING([for extra compiler flags for building]) +AC_ARG_ENABLE(cxx_flags, changequote(<<, >>)dnl << --enable-cxx-flags=FLAGS pass compiler FLAGS when building library; - [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], + [default=>>GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT], changequote([, ])dnl -[case "x$enableval" in - xyes) - AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;; - xno|x) - enable_cxx_flags='' ;; - *) - enable_cxx_flags="$enableval" ;; - esac], -enable_cxx_flags='GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT') - -dnl Thinko on my part during design. This kludge is the workaround. -if test "$enable_cxx_flags" = "none"; then - enable_cxx_flags=''; -fi +[case "x$enable_cxx_flags" in + xyes) + AC_MSG_ERROR([--enable-cxx-flags needs compiler flags as arguments]) ;; + xno | xnone | x) + enable_cxx_flags='' ;; + *) + enable_cxx_flags="$enableval" ;; +esac], +enable_cxx_flags=GLIBCPP_ENABLE_CXX_FLAGS_DEFAULT) dnl Run through flags (either default or command-line) and set anything dnl extra (e.g., #defines) that must accompany particular g++ options. if test -n "$enable_cxx_flags"; then - for f in $enable_cxx_flags; do - case "$f" in - -fhonor-std) ;; - -*) ;; - *) # and we're trying to pass /what/ exactly? - AC_MSG_ERROR([compiler flags start with a -]) ;; - esac - done + for f in $enable_cxx_flags; do + case "$f" in + -fhonor-std) ;; + -*) ;; + *) # and we're trying to pass /what/ exactly? + AC_MSG_ERROR([compiler flags start with a -]) ;; + esac + done fi EXTRA_CXX_FLAGS="$enable_cxx_flags" +AC_MSG_RESULT($EXTRA_CXX_FLAGS) AC_SUBST(EXTRA_CXX_FLAGS) ]) @@ -1310,24 +1350,20 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [ glibcpp_localedir=${glibcpp_builddir}/po/share/locale AC_SUBST(glibcpp_localedir) - # For the time being, transform ctype_noninline.h to ctype_members_char.cc -# CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h - AC_SUBST(USE_NLS) AC_SUBST(CLOCALE_H) AC_SUBST(CCODECVT_H) AC_SUBST(CMESSAGES_H) + AC_SUBST(CCODECVT_CC) + AC_SUBST(CCOLLATE_CC) + AC_SUBST(CCTYPE_CC) + AC_SUBST(CMESSAGES_CC) + AC_SUBST(CMONEY_CC) + AC_SUBST(CNUMERIC_CC) 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) -# AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc) - AC_LINK_FILES($CCTYPE_CC, src/ctype_members.cc) - AC_LINK_FILES($CMESSAGES_CC, src/messages_members.cc) - AC_LINK_FILES($CMONEY_CC, src/monetary_members.cc) - AC_LINK_FILES($CNUMERIC_CC, src/numeric_members.cc) - AC_LINK_FILES($CTIME_CC, src/time_members.cc) - AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h) + AC_SUBST(CTIME_CC) + AC_SUBST(CLOCALE_CC) + AC_SUBST(CLOCALE_INTERNAL_H) ]) @@ -1428,7 +1464,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CSTDIO, [ esac AC_SUBST(CSTDIO_H) AC_SUBST(BASIC_FILE_H) - AC_LINK_FILES($BASIC_FILE_CC, src/basic_file.cc) + AC_SUBST(BASIC_FILE_CC) # 2000-08-04 bkoz hack CCODECVT_C=config/io/c_io_libio_codecvt.c @@ -1511,7 +1547,7 @@ void foo() } EOF old_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="-S -fexceptions" + CXXFLAGS=-S if AC_TRY_EVAL(ac_compile); then if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=yes @@ -1747,21 +1783,20 @@ AC_DEFUN(GLIBCPP_ENABLE_LONG_LONG, [dnl dnl -dnl Check for what kind of C headers to use. +dnl Check for what type of C headers to use. dnl dnl GLIBCPP_ENABLE_CHEADERS dnl --enable-cheaders= [does stuff]. dnl --disable-cheaders [does not do anything, really]. -dnl + This will eventually need to be 'c_shadow' by default. dnl + Usage: GLIBCPP_ENABLE_CHEADERS[(DEFAULT)] -dnl Where DEFAULT is either `c' or `c_std' or 'c_shadow'. +dnl Where DEFAULT is either `c' or `c_std'. dnl If ommitted, it defaults to `c_std'. AC_DEFUN(GLIBCPP_ENABLE_CHEADERS, [dnl define([GLIBCPP_ENABLE_CHEADERS_DEFAULT], ifelse($1, c_std, c_std, c_std))dnl AC_MSG_CHECKING([for c header strategy to use]) AC_ARG_ENABLE(cheaders, changequote(<<, >>)dnl -<< --enable-cheaders construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT], +<< --enable-cheaders=MODEL construct "C" header files for g++ [default=>>GLIBCPP_ENABLE_CHEADERS_DEFAULT], changequote([, ]) [case "$enableval" in c) @@ -1770,9 +1805,6 @@ changequote([, ]) c_std) enable_cheaders=c_std ;; - c_shadow) - enable_cheaders=c_shadow - ;; *) AC_MSG_ERROR([Unknown argument to enable/disable "C" headers]) ;; esac], @@ -1781,9 +1813,6 @@ changequote([, ]) dnl Option parsed, now set things appropriately case "$enable_cheaders" in - c_shadow) - C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_shadow' - ;; c_std) C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_std' ;; @@ -1832,7 +1861,6 @@ dnl TOPLEVEL_INCLUDES dnl LIBMATH_INCLUDES dnl LIBSUPCXX_INCLUDES dnl LIBIO_INCLUDES -dnl CSHADOW_INCLUDES dnl dnl GLIBCPP_EXPORT_INCLUDES AC_DEFUN(GLIBCPP_EXPORT_INCLUDES, [ @@ -1871,7 +1899,7 @@ AC_DEFUN(GLIBCPP_EXPORT_FLAGS, [ OPTIMIZE_CXXFLAGS= AC_SUBST(OPTIMIZE_CXXFLAGS) - WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline' + WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings' AC_SUBST(WARN_FLAGS) ]) @@ -2053,8 +2081,9 @@ dnl string, '#' otherwise dnl Check for headers for, and arguments to, the setrlimit() function. dnl Used only in testsuite_hooks.h. AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT_ancilliary, [ - AC_TRY_COMPILE([#include <sys/resource.h> - #include <unistd.h> + AC_TRY_COMPILE([#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> ], [ int f = RLIMIT_$1 ; ], [glibcpp_mresult=1], [glibcpp_mresult=0]) AC_DEFINE_UNQUOTED(HAVE_MEMLIMIT_$1, $glibcpp_mresult, @@ -2062,7 +2091,7 @@ AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT_ancilliary, [ ]) AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT, [ setrlimit_have_headers=yes - AC_CHECK_HEADERS(sys/resource.h unistd.h, + AC_CHECK_HEADERS(unistd.h sys/time.h sys/resource.h, [], setrlimit_have_headers=no) # If don't have the headers, then we can't run the tests now, and we @@ -2076,8 +2105,9 @@ AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT, [ # Check for rlimit, setrlimit. AC_CACHE_VAL(ac_setrlimit, [ - AC_TRY_COMPILE([#include <sys/resource.h> - #include <unistd.h> + AC_TRY_COMPILE([#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> ], [ struct rlimit r; setrlimit(0, &r);], [ac_setrlimit=yes], [ac_setrlimit=no]) @@ -2101,18 +2131,30 @@ dnl the testsuite_hooks.h header. dnl dnl GLIBCPP_CONFIGURE_TESTSUITE [no args] AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [ - GLIBCPP_CHECK_SETRLIMIT + if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then + # Do checks for memory limit functions. + GLIBCPP_CHECK_SETRLIMIT - # Look for setenv, so that extended locale tests can be performed. - GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) + # Look for setenv, so that extended locale tests can be performed. + GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv) + fi # Export file names for ABI checking. - baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" - AC_SUBST(baseline_file) + baseline_dir="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)" + AC_SUBST(baseline_dir) - # Don't do ABI checking unless native. - AM_CONDITIONAL(GLIBCPP_BUILD_ABI_CHECK, - test x"$build" = x"$host" && test -z "$with_cross_host") + # Determine if checking the ABI is desirable. + if test x$enable_symvers = xno; then + enable_abi_check=no + else + case "$host" in + *-*-cygwin*) + enable_abi_check=no ;; + *) + enable_abi_check=yes ;; + esac + fi + AM_CONDITIONAL(GLIBCPP_TEST_ABI, test "$enable_abi_check" = yes) ]) @@ -2126,6 +2168,45 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN]) AC_DEFUN([AC_PROG_LD]) ]) +dnl +dnl Check whether S_ISREG (Posix) or S_IFREG is available in <sys/stat.h>. +dnl + +AC_DEFUN(GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, [ + AC_CACHE_VAL(glibcpp_cv_S_ISREG, [ + AC_TRY_LINK([#include <sys/stat.h>], + [struct stat buffer; fstat(0, &buffer); S_ISREG(buffer.st_mode); ], + [glibcpp_cv_S_ISREG=yes], + [glibcpp_cv_S_ISREG=no]) + ]) + AC_CACHE_VAL(glibcpp_cv_S_IFREG, [ + AC_TRY_LINK([#include <sys/stat.h>], + [struct stat buffer; fstat(0, &buffer); S_IFREG & buffer.st_mode; ], + [glibcpp_cv_S_IFREG=yes], + [glibcpp_cv_S_IFREG=no]) + ]) + if test x$glibcpp_cv_S_ISREG = xyes; then + AC_DEFINE(HAVE_S_ISREG) + elif test x$glibcpp_cv_S_IFREG = xyes; then + AC_DEFINE(HAVE_S_IFREG) + fi +]) + +dnl +dnl Check whether poll is available in <poll.h>. +dnl + +AC_DEFUN(GLIBCPP_CHECK_POLL, [ + AC_CACHE_VAL(glibcpp_cv_POLL, [ + AC_TRY_COMPILE([#include <poll.h>], + [struct pollfd pfd[1]; pfd[0].events = POLLIN; poll(pfd, 1, 0); ], + [glibcpp_cv_POLL=yes], + [glibcpp_cv_POLL=no]) + ]) + if test x$glibcpp_cv_POLL = xyes; then + AC_DEFINE(HAVE_POLL) + fi +]) # Check whether LC_MESSAGES is available in <locale.h>. # Ulrich Drepper <drepper@cygnus.com>, 1995. @@ -2215,12 +2296,14 @@ if test x$enable_shared = xno || fi # Check to see if libgcc_s exists, indicating that shared libgcc is possible. -AC_MSG_CHECKING([for shared libgcc]) -ac_save_CFLAGS="$CFLAGS" -CFLAGS=' -lgcc_s' -AC_TRY_LINK( , [return 0], glibcpp_shared_libgcc=yes, glibcpp_shared_libgcc=no) -CFLAGS="$ac_save_CFLAGS" -AC_MSG_RESULT($glibcpp_shared_libgcc) +if test $enable_symvers != no; then + AC_MSG_CHECKING([for shared libgcc]) + ac_save_CFLAGS="$CFLAGS" + CFLAGS=' -lgcc_s' + AC_TRY_LINK(, [return 0], glibcpp_shared_libgcc=yes, glibcpp_shared_libgcc=no) + CFLAGS="$ac_save_CFLAGS" + AC_MSG_RESULT($glibcpp_shared_libgcc) +fi # For GNU ld, we need at least this version. It's 2.12 in the same format # as the tested-for version. See GLIBCPP_CHECK_LINKER_FEATURES for more. @@ -2260,15 +2343,15 @@ fi dnl Everything parsed; figure out what file to use. case $enable_symvers in no) - LINKER_MAP=config/linker-map.dummy + SYMVER_MAP=config/linker-map.dummy ;; gnu) - LINKER_MAP=config/linker-map.gnu + SYMVER_MAP=config/linker-map.gnu AC_DEFINE(_GLIBCPP_SYMVER) ;; esac -AC_LINK_FILES($LINKER_MAP, src/linker.map) +AC_SUBST(SYMVER_MAP) AM_CONDITIONAL(GLIBCPP_BUILD_VERSIONED_SHLIB, test $enable_symvers != no) AC_MSG_CHECKING([versioning on shared library symbols]) AC_MSG_RESULT($enable_symvers) diff --git a/contrib/libstdc++/config.h.in b/contrib/libstdc++/config.h.in index 88768e5..4d9dec3 100644 --- a/contrib/libstdc++/config.h.in +++ b/contrib/libstdc++/config.h.in @@ -38,6 +38,18 @@ // 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 @@ -101,6 +113,15 @@ // Define if the compiler/host combination has __builtin_sqrtl #undef HAVE___BUILTIN_SQRTL +// Define if poll is available in <poll.h>. +#undef HAVE_POLL + +// Define if S_ISREG (Posix) is available in <sys/stat.h>. +#undef HAVE_S_ISREG + +// Define if S_IFREG is available in <sys/stat.h>. +#undef HAVE_S_IFREG + // Define if LC_MESSAGES is available in <locale.h>. #undef HAVE_LC_MESSAGES @@ -731,6 +752,12 @@ /* Define if you have the <string.h> header file. */ #undef HAVE_STRING_H +/* Define if you have the <sys/filio.h> header file. */ +#undef HAVE_SYS_FILIO_H + +/* Define if you have the <sys/ioctl.h> header file. */ +#undef HAVE_SYS_IOCTL_H + /* Define if you have the <sys/isa_defs.h> header file. */ #undef HAVE_SYS_ISA_DEFS_H @@ -743,6 +770,9 @@ /* Define if you have the <sys/stat.h> header file. */ #undef HAVE_SYS_STAT_H +/* Define if you have the <sys/time.h> header file. */ +#undef HAVE_SYS_TIME_H + /* Define if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H diff --git a/contrib/libstdc++/config/abi/alpha-freebsd5/baseline_symbols.txt b/contrib/libstdc++/config/abi/alpha-freebsd5/baseline_symbols.txt new file mode 100644 index 0000000..6afb865 --- /dev/null +++ b/contrib/libstdc++/config/abi/alpha-freebsd5/baseline_symbols.txt @@ -0,0 +1,3073 @@ +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEm@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEmc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_scan_isEmPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE11do_scan_notEmPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEmw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intERKSscRSt8ios_basePcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatERKSscPKcPcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intERKSswRSt8ios_basePwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatERKSswPKwPwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsixEm@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE16showmanyc_helperEv@@GLIBCPP_3.2.3 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP7__sFILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEli@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPiPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPiPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znam@@GLIBCPP_3.2 +FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znwm@@GLIBCPP_3.2 +FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_guard_abort@@CXXABI_1.2.1 +FUNC:__cxa_guard_acquire@@CXXABI_1.2.1 +FUNC:__cxa_guard_release@@CXXABI_1.2.1 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +FUNC:__signbitf@@GLIBCPP_3.2.1 +FUNC:atan2l@@GLIBCPP_3.2.1 +FUNC:coshl@@GLIBCPP_3.2.1 +FUNC:cosl@@GLIBCPP_3.2.1 +FUNC:expl@@GLIBCPP_3.2.1 +FUNC:hypotl@@GLIBCPP_3.2.1 +FUNC:log10l@@GLIBCPP_3.2.1 +FUNC:logl@@GLIBCPP_3.2.1 +FUNC:nan@@GLIBCPP_3.2.1 +FUNC:powl@@GLIBCPP_3.2.1 +FUNC:sinhl@@GLIBCPP_3.2.1 +FUNC:sinl@@GLIBCPP_3.2.1 +FUNC:sqrtl@@GLIBCPP_3.2.1 +FUNC:tanhl@@GLIBCPP_3.2.1 +FUNC:tanl@@GLIBCPP_3.2.1 +OBJECT:0:CXXABI_1.2 +OBJECT:0:CXXABI_1.2.1 +OBJECT:0:GLIBCPP_3.2 +OBJECT:0:GLIBCPP_3.2.1 +OBJECT:0:GLIBCPP_3.2.2 +OBJECT:0:GLIBCPP_3.2.3 +OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSd@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:16:_ZTIa@@GLIBCPP_3.2 +OBJECT:16:_ZTIb@@GLIBCPP_3.2 +OBJECT:16:_ZTIc@@GLIBCPP_3.2 +OBJECT:16:_ZTId@@GLIBCPP_3.2 +OBJECT:16:_ZTIe@@GLIBCPP_3.2 +OBJECT:16:_ZTIf@@GLIBCPP_3.2 +OBJECT:16:_ZTIh@@GLIBCPP_3.2 +OBJECT:16:_ZTIi@@GLIBCPP_3.2 +OBJECT:16:_ZTIj@@GLIBCPP_3.2 +OBJECT:16:_ZTIl@@GLIBCPP_3.2 +OBJECT:16:_ZTIm@@GLIBCPP_3.2 +OBJECT:16:_ZTIs@@GLIBCPP_3.2 +OBJECT:16:_ZTIt@@GLIBCPP_3.2 +OBJECT:16:_ZTIv@@GLIBCPP_3.2 +OBJECT:16:_ZTIw@@GLIBCPP_3.2 +OBJECT:16:_ZTIx@@GLIBCPP_3.2 +OBJECT:16:_ZTIy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSi@@GLIBCPP_3.2 +OBJECT:16:_ZTTSo@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2 +OBJECT:280:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:32:_ZTIPa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPy@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2 +OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE@@GLIBCPP_3.2.2 +OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:56:_ZTISi@@GLIBCPP_3.2 +OBJECT:56:_ZTISo@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTTSd@@GLIBCPP_3.2 +OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:576:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:576:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:576:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:584:_ZSt8buf_wcin@@GLIBCPP_3.2 +OBJECT:584:_ZSt9buf_wcerr@@GLIBCPP_3.2 +OBJECT:584:_ZSt9buf_wcout@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2 +OBJECT:72:_ZTISd@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSi@@GLIBCPP_3.2 +OBJECT:80:_ZTVSo@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCPP_3.2.3 +OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCPP_3.2.3 +OBJECT:8:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/abi/alpha-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/alpha-linux-gnu/baseline_symbols.txt new file mode 100644 index 0000000..b2df36d --- /dev/null +++ b/contrib/libstdc++/config/abi/alpha-linux-gnu/baseline_symbols.txt @@ -0,0 +1,3031 @@ +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_Znam@@GLIBCPP_3.2 +FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEm@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsixEm@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_Znwm@@GLIBCPP_3.2 +FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2 +OBJECT:0:CXXABI_1.2 +OBJECT:0:GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSd@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZTIa@@GLIBCPP_3.2 +OBJECT:16:_ZTIb@@GLIBCPP_3.2 +OBJECT:16:_ZTIc@@GLIBCPP_3.2 +OBJECT:16:_ZTId@@GLIBCPP_3.2 +OBJECT:16:_ZTIe@@GLIBCPP_3.2 +OBJECT:16:_ZTIf@@GLIBCPP_3.2 +OBJECT:16:_ZTIh@@GLIBCPP_3.2 +OBJECT:16:_ZTIi@@GLIBCPP_3.2 +OBJECT:16:_ZTIj@@GLIBCPP_3.2 +OBJECT:16:_ZTIl@@GLIBCPP_3.2 +OBJECT:16:_ZTIm@@GLIBCPP_3.2 +OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTIs@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:16:_ZTIt@@GLIBCPP_3.2 +OBJECT:16:_ZTIv@@GLIBCPP_3.2 +OBJECT:16:_ZTIw@@GLIBCPP_3.2 +OBJECT:16:_ZTIx@@GLIBCPP_3.2 +OBJECT:16:_ZTIy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSi@@GLIBCPP_3.2 +OBJECT:16:_ZTTSo@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2 +OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2 +OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2 +OBJECT:280:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2 +OBJECT:32:_ZTIPa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:32:_ZTIPl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPy@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2 +OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:56:_ZTISi@@GLIBCPP_3.2 +OBJECT:56:_ZTISo@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTTSd@@GLIBCPP_3.2 +OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2 +OBJECT:72:_ZTISd@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSi@@GLIBCPP_3.2 +OBJECT:80:_ZTVSo@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/abi/i386-freebsd4/baseline_symbols.txt b/contrib/libstdc++/config/abi/i386-freebsd4/baseline_symbols.txt new file mode 100644 index 0000000..5372a28 --- /dev/null +++ b/contrib/libstdc++/config/abi/i386-freebsd4/baseline_symbols.txt @@ -0,0 +1,2043 @@ +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEj@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEjj@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEjj@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEj@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEj@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEmc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intERKSscRSt8ios_basePcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatERKSscPKcPcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcjRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcj@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEjPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwj@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEjPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPci@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcic@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPci@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEii@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPci@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcic@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPci@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKci@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEj@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEj@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEjj@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjjc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEj@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEjc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjjc@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEj@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEjjj@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsixEj@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcci@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE16showmanyc_helperEv@@GLIBCPP_3.2.3 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP7__sFILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1Ei@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2Ei@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPciRiS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEjj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvjj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEjRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPiPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPiPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEjb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEjb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EPij@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EPij@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EPij@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EPij@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEixEj@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsjSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZThn8_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znaj@@GLIBCPP_3.2 +FUNC:_ZnajRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znwj@@GLIBCPP_3.2 +FUNC:_ZnwjRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_guard_abort@@CXXABI_1.2.1 +FUNC:__cxa_guard_acquire@@CXXABI_1.2.1 +FUNC:__cxa_guard_release@@CXXABI_1.2.1 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +FUNC:__signbit@@GLIBCPP_3.2.1 +FUNC:__signbitf@@GLIBCPP_3.2.1 +FUNC:atan2l@@GLIBCPP_3.2.1 +FUNC:coshl@@GLIBCPP_3.2.1 +FUNC:cosl@@GLIBCPP_3.2.1 +FUNC:expl@@GLIBCPP_3.2.1 +FUNC:hypotl@@GLIBCPP_3.2.1 +FUNC:log10l@@GLIBCPP_3.2.1 +FUNC:logl@@GLIBCPP_3.2.1 +FUNC:nan@@GLIBCPP_3.2.1 +FUNC:powl@@GLIBCPP_3.2.1 +FUNC:sinhl@@GLIBCPP_3.2.1 +FUNC:sinl@@GLIBCPP_3.2.1 +FUNC:sqrtl@@GLIBCPP_3.2.1 +FUNC:tanhl@@GLIBCPP_3.2.1 +FUNC:tanl@@GLIBCPP_3.2.1 +OBJECT:0:CXXABI_1.2 +OBJECT:0:CXXABI_1.2.1 +OBJECT:0:GLIBCPP_3.2 +OBJECT:0:GLIBCPP_3.2.1 +OBJECT:0:GLIBCPP_3.2.2 +OBJECT:0:GLIBCPP_3.2.3 +OBJECT:12:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:12:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:140:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:140:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:140:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:144:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:16:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:16:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:16:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:16:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:16:_ZTIPa@@GLIBCPP_3.2 +OBJECT:16:_ZTIPb@@GLIBCPP_3.2 +OBJECT:16:_ZTIPc@@GLIBCPP_3.2 +OBJECT:16:_ZTIPd@@GLIBCPP_3.2 +OBJECT:16:_ZTIPe@@GLIBCPP_3.2 +OBJECT:16:_ZTIPf@@GLIBCPP_3.2 +OBJECT:16:_ZTIPh@@GLIBCPP_3.2 +OBJECT:16:_ZTIPi@@GLIBCPP_3.2 +OBJECT:16:_ZTIPj@@GLIBCPP_3.2 +OBJECT:16:_ZTIPl@@GLIBCPP_3.2 +OBJECT:16:_ZTIPm@@GLIBCPP_3.2 +OBJECT:16:_ZTIPs@@GLIBCPP_3.2 +OBJECT:16:_ZTIPt@@GLIBCPP_3.2 +OBJECT:16:_ZTIPv@@GLIBCPP_3.2 +OBJECT:16:_ZTIPw@@GLIBCPP_3.2 +OBJECT:16:_ZTIPx@@GLIBCPP_3.2 +OBJECT:16:_ZTIPy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:204:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:20:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:28:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:28:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTTSd@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZTISi@@GLIBCPP_3.2 +OBJECT:32:_ZTISo@@GLIBCPP_3.2 +OBJECT:32:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:36:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:40:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:40:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:40:_ZTISd@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSi@@GLIBCPP_3.2 +OBJECT:40:_ZTVSo@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:480:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:480:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:480:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCPP_3.2.3 +OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCPP_3.2.3 +OBJECT:4:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE@@GLIBCPP_3.2.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:56:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSd@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:64:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:68:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:8:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:8:_ZTIa@@GLIBCPP_3.2 +OBJECT:8:_ZTIb@@GLIBCPP_3.2 +OBJECT:8:_ZTIc@@GLIBCPP_3.2 +OBJECT:8:_ZTId@@GLIBCPP_3.2 +OBJECT:8:_ZTIe@@GLIBCPP_3.2 +OBJECT:8:_ZTIf@@GLIBCPP_3.2 +OBJECT:8:_ZTIh@@GLIBCPP_3.2 +OBJECT:8:_ZTIi@@GLIBCPP_3.2 +OBJECT:8:_ZTIj@@GLIBCPP_3.2 +OBJECT:8:_ZTIl@@GLIBCPP_3.2 +OBJECT:8:_ZTIm@@GLIBCPP_3.2 +OBJECT:8:_ZTIs@@GLIBCPP_3.2 +OBJECT:8:_ZTIt@@GLIBCPP_3.2 +OBJECT:8:_ZTIv@@GLIBCPP_3.2 +OBJECT:8:_ZTIw@@GLIBCPP_3.2 +OBJECT:8:_ZTIx@@GLIBCPP_3.2 +OBJECT:8:_ZTIy@@GLIBCPP_3.2 +OBJECT:8:_ZTTSi@@GLIBCPP_3.2 +OBJECT:8:_ZTTSo@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/abi/i386-freebsd5/baseline_symbols.txt b/contrib/libstdc++/config/abi/i386-freebsd5/baseline_symbols.txt new file mode 100644 index 0000000..c66b031 --- /dev/null +++ b/contrib/libstdc++/config/abi/i386-freebsd5/baseline_symbols.txt @@ -0,0 +1,3073 @@ +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEj@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEjj@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEjj@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEj@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEj@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEmc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_scan_isEmPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE11do_scan_notEmPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEmw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intERKSscRSt8ios_basePcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatERKSscPKcPcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intERKSswRSt8ios_basePwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatERKSswPKwPwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcjRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwjRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcj@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEjPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwj@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEjPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPci@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcic@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPci@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEii@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPci@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcic@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPci@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKci@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEj@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEj@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEjj@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjjc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEj@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEjc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjjc@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEj@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEjjj@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsixEj@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcci@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE16showmanyc_helperEv@@GLIBCPP_3.2.3 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP7__sFILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1Ei@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2Ei@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPciRiS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwiRiS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEii@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEjj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEjj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvjj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEjRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPiPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPiPKmbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1EPij@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2EPij@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEjb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEjb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EPij@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EPij@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1EPij@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2EPij@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2EPiPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EPij@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EPij@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1EPij@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2EPij@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEixEj@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsjSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZThn8_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znaj@@GLIBCPP_3.2 +FUNC:_ZnajRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znwj@@GLIBCPP_3.2 +FUNC:_ZnwjRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_guard_abort@@CXXABI_1.2.1 +FUNC:__cxa_guard_acquire@@CXXABI_1.2.1 +FUNC:__cxa_guard_release@@CXXABI_1.2.1 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +FUNC:__signbitf@@GLIBCPP_3.2.1 +FUNC:atan2l@@GLIBCPP_3.2.1 +FUNC:coshl@@GLIBCPP_3.2.1 +FUNC:cosl@@GLIBCPP_3.2.1 +FUNC:expl@@GLIBCPP_3.2.1 +FUNC:hypotl@@GLIBCPP_3.2.1 +FUNC:log10l@@GLIBCPP_3.2.1 +FUNC:logl@@GLIBCPP_3.2.1 +FUNC:nan@@GLIBCPP_3.2.1 +FUNC:powl@@GLIBCPP_3.2.1 +FUNC:sinhl@@GLIBCPP_3.2.1 +FUNC:sinl@@GLIBCPP_3.2.1 +FUNC:sqrtl@@GLIBCPP_3.2.1 +FUNC:tanhl@@GLIBCPP_3.2.1 +FUNC:tanl@@GLIBCPP_3.2.1 +OBJECT:0:CXXABI_1.2 +OBJECT:0:CXXABI_1.2.1 +OBJECT:0:GLIBCPP_3.2 +OBJECT:0:GLIBCPP_3.2.1 +OBJECT:0:GLIBCPP_3.2.2 +OBJECT:0:GLIBCPP_3.2.3 +OBJECT:112:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:12:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:12:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:12:_ZSt7ctype_w@@GLIBCPP_3.2 +OBJECT:12:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:12:_ZSt9collate_w@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7collateIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:140:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:140:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:140:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:144:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:144:_ZSt5wcerr@@GLIBCPP_3.2 +OBJECT:144:_ZSt5wclog@@GLIBCPP_3.2 +OBJECT:144:_ZSt5wcout@@GLIBCPP_3.2 +OBJECT:148:_ZSt4wcin@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:16:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:16:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10messages_w@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:16:_ZTIPa@@GLIBCPP_3.2 +OBJECT:16:_ZTIPb@@GLIBCPP_3.2 +OBJECT:16:_ZTIPc@@GLIBCPP_3.2 +OBJECT:16:_ZTIPd@@GLIBCPP_3.2 +OBJECT:16:_ZTIPe@@GLIBCPP_3.2 +OBJECT:16:_ZTIPf@@GLIBCPP_3.2 +OBJECT:16:_ZTIPh@@GLIBCPP_3.2 +OBJECT:16:_ZTIPi@@GLIBCPP_3.2 +OBJECT:16:_ZTIPj@@GLIBCPP_3.2 +OBJECT:16:_ZTIPl@@GLIBCPP_3.2 +OBJECT:16:_ZTIPm@@GLIBCPP_3.2 +OBJECT:16:_ZTIPs@@GLIBCPP_3.2 +OBJECT:16:_ZTIPt@@GLIBCPP_3.2 +OBJECT:16:_ZTIPv@@GLIBCPP_3.2 +OBJECT:16:_ZTIPw@@GLIBCPP_3.2 +OBJECT:16:_ZTIPx@@GLIBCPP_3.2 +OBJECT:16:_ZTIPy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:204:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:204:_ZSt11timepunct_w@@GLIBCPP_3.2 +OBJECT:20:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:28:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:28:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:28:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:28:_ZSt10numpunct_w@@GLIBCPP_3.2 +OBJECT:28:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTTSd@@GLIBCPP_3.2 +OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt7collateIwE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZTISi@@GLIBCPP_3.2 +OBJECT:32:_ZTISo@@GLIBCPP_3.2 +OBJECT:32:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:36:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:36:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:40:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:40:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:40:_ZTISd@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8messagesIwE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSi@@GLIBCPP_3.2 +OBJECT:40:_ZTVSo@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:44:_ZSt13moneypunct_fw@@GLIBCPP_3.2 +OBJECT:44:_ZSt13moneypunct_tw@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:480:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:480:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:480:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:496:_ZSt8buf_wcin@@GLIBCPP_3.2 +OBJECT:496:_ZSt9buf_wcerr@@GLIBCPP_3.2 +OBJECT:496:_ZSt9buf_wcout@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCPP_3.2.3 +OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCPP_3.2.3 +OBJECT:4:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE@@GLIBCPP_3.2.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSd@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:64:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:68:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:68:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_get_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_put_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_get_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_put_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9codecvt_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_get_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_put_w@@GLIBCPP_3.2 +OBJECT:8:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:8:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:8:_ZTIa@@GLIBCPP_3.2 +OBJECT:8:_ZTIb@@GLIBCPP_3.2 +OBJECT:8:_ZTIc@@GLIBCPP_3.2 +OBJECT:8:_ZTId@@GLIBCPP_3.2 +OBJECT:8:_ZTIe@@GLIBCPP_3.2 +OBJECT:8:_ZTIf@@GLIBCPP_3.2 +OBJECT:8:_ZTIh@@GLIBCPP_3.2 +OBJECT:8:_ZTIi@@GLIBCPP_3.2 +OBJECT:8:_ZTIj@@GLIBCPP_3.2 +OBJECT:8:_ZTIl@@GLIBCPP_3.2 +OBJECT:8:_ZTIm@@GLIBCPP_3.2 +OBJECT:8:_ZTIs@@GLIBCPP_3.2 +OBJECT:8:_ZTIt@@GLIBCPP_3.2 +OBJECT:8:_ZTIv@@GLIBCPP_3.2 +OBJECT:8:_ZTIw@@GLIBCPP_3.2 +OBJECT:8:_ZTIx@@GLIBCPP_3.2 +OBJECT:8:_ZTIy@@GLIBCPP_3.2 +OBJECT:8:_ZTTSi@@GLIBCPP_3.2 +OBJECT:8:_ZTTSo@@GLIBCPP_3.2 +OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/abi/i486-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/i486-linux-gnu/baseline_symbols.txt new file mode 100644 index 0000000..018ef0e --- /dev/null +++ b/contrib/libstdc++/config/abi/i486-linux-gnu/baseline_symbols.txt @@ -0,0 +1,3058 @@ +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_guard_abort@@CXXABI_1.2.1 +FUNC:__cxa_guard_acquire@@CXXABI_1.2.1 +FUNC:__cxa_guard_release@@CXXABI_1.2.1 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_Znaj@@GLIBCPP_3.2 +FUNC:_ZnajRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEjj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEj@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEj@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcjj@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsj@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEjj@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEjj@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEj@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEj@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_j@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intERKSscRSt8ios_basePcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatERKSscPKcPcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intERKSswRSt8ios_basePwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatERKSswPKwPwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcjRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiijRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwjRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcj@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEjPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwj@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEjPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcic@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPci@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPci@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEii@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcic@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPci@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPci@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKci@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEj@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEj@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEjj@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjjc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEjc@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEj@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjjc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjPKcj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEj@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEjjj@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsjj@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsixEj@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcci@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE16showmanyc_helperEv@@GLIBCPP_3.2.3 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1Ei@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2Ei@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPciRiS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwiRiS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEjj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEjj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvjj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEjRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEj@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEjb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEjb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayIjEixEj@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_Znwj@@GLIBCPP_3.2 +FUNC:_ZnwjRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsjSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZThn8_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCPP_3.2 +OBJECT:0:CXXABI_1.2 +OBJECT:0:CXXABI_1.2.1 +OBJECT:0:GLIBCPP_3.2 +OBJECT:0:GLIBCPP_3.2.1 +OBJECT:0:GLIBCPP_3.2.2 +OBJECT:0:GLIBCPP_3.2.3 +OBJECT:112:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:12:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:12:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:12:_ZSt7ctype_w@@GLIBCPP_3.2 +OBJECT:12:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:12:_ZSt9collate_w@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:12:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:12:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:12:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt7collateIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:12:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:140:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:140:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:140:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:140:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:140:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:140:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:144:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:144:_ZSt5wcerr@@GLIBCPP_3.2 +OBJECT:144:_ZSt5wclog@@GLIBCPP_3.2 +OBJECT:144:_ZSt5wcout@@GLIBCPP_3.2 +OBJECT:148:_ZSt4wcin@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 +OBJECT:156:_ZSt8buf_wcin@@GLIBCPP_3.2 +OBJECT:156:_ZSt9buf_wcerr@@GLIBCPP_3.2 +OBJECT:156:_ZSt9buf_wcout@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:16:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:16:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10messages_w@@GLIBCPP_3.2 +OBJECT:16:_ZTIPa@@GLIBCPP_3.2 +OBJECT:16:_ZTIPb@@GLIBCPP_3.2 +OBJECT:16:_ZTIPc@@GLIBCPP_3.2 +OBJECT:16:_ZTIPd@@GLIBCPP_3.2 +OBJECT:16:_ZTIPe@@GLIBCPP_3.2 +OBJECT:16:_ZTIPf@@GLIBCPP_3.2 +OBJECT:16:_ZTIPh@@GLIBCPP_3.2 +OBJECT:16:_ZTIPi@@GLIBCPP_3.2 +OBJECT:16:_ZTIPj@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:16:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:16:_ZTIPl@@GLIBCPP_3.2 +OBJECT:16:_ZTIPm@@GLIBCPP_3.2 +OBJECT:16:_ZTIPs@@GLIBCPP_3.2 +OBJECT:16:_ZTIPt@@GLIBCPP_3.2 +OBJECT:16:_ZTIPv@@GLIBCPP_3.2 +OBJECT:16:_ZTIPw@@GLIBCPP_3.2 +OBJECT:16:_ZTIPx@@GLIBCPP_3.2 +OBJECT:16:_ZTIPy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:204:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:204:_ZSt11timepunct_w@@GLIBCPP_3.2 +OBJECT:20:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:20:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:24:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:28:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:28:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:28:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:28:_ZSt10numpunct_w@@GLIBCPP_3.2 +OBJECT:28:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTTSd@@GLIBCPP_3.2 +OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt7collateIwE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:28:_ZTVSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZTISi@@GLIBCPP_3.2 +OBJECT:32:_ZTISo@@GLIBCPP_3.2 +OBJECT:32:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:36:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:36:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:40:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:40:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:40:_ZTISd@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8messagesIwE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSi@@GLIBCPP_3.2 +OBJECT:40:_ZTVSo@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:44:_ZSt13moneypunct_fw@@GLIBCPP_3.2 +OBJECT:44:_ZSt13moneypunct_tw@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCPP_3.2.3 +OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCPP_3.2.3 +OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE@@GLIBCPP_3.2.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:4:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSd@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:64:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:68:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:68:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_get_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt10time_put_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_get_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt11money_put_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9codecvt_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_get_w@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:8:_ZSt9num_put_w@@GLIBCPP_3.2 +OBJECT:8:_ZTIa@@GLIBCPP_3.2 +OBJECT:8:_ZTIb@@GLIBCPP_3.2 +OBJECT:8:_ZTIc@@GLIBCPP_3.2 +OBJECT:8:_ZTId@@GLIBCPP_3.2 +OBJECT:8:_ZTIe@@GLIBCPP_3.2 +OBJECT:8:_ZTIf@@GLIBCPP_3.2 +OBJECT:8:_ZTIh@@GLIBCPP_3.2 +OBJECT:8:_ZTIi@@GLIBCPP_3.2 +OBJECT:8:_ZTIj@@GLIBCPP_3.2 +OBJECT:8:_ZTIl@@GLIBCPP_3.2 +OBJECT:8:_ZTIm@@GLIBCPP_3.2 +OBJECT:8:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:8:_ZTIs@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:8:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:8:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:8:_ZTIt@@GLIBCPP_3.2 +OBJECT:8:_ZTIv@@GLIBCPP_3.2 +OBJECT:8:_ZTIw@@GLIBCPP_3.2 +OBJECT:8:_ZTIx@@GLIBCPP_3.2 +OBJECT:8:_ZTIy@@GLIBCPP_3.2 +OBJECT:8:_ZTTSi@@GLIBCPP_3.2 +OBJECT:8:_ZTTSo@@GLIBCPP_3.2 +OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/abi/ia64-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/ia64-linux-gnu/baseline_symbols.txt new file mode 100644 index 0000000..eb729d3 --- /dev/null +++ b/contrib/libstdc++/config/abi/ia64-linux-gnu/baseline_symbols.txt @@ -0,0 +1,3031 @@ +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_Znam@@GLIBCPP_3.2 +FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEm@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsixEm@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_Znwm@@GLIBCPP_3.2 +FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2 +OBJECT:0:CXXABI_1.2 +OBJECT:0:GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:112:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:112:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:112:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:112:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSi@@GLIBCPP_3.2 +OBJECT:112:_ZTVSo@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:112:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:144:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:144:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:144:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:144:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:160:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:160:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:160:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:160:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:160:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:160:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:160:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:160:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:160:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:168:_ZTVSd@@GLIBCPP_3.2 +OBJECT:168:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:168:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:168:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:168:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:168:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:168:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZTIa@@GLIBCPP_3.2 +OBJECT:16:_ZTIb@@GLIBCPP_3.2 +OBJECT:16:_ZTIc@@GLIBCPP_3.2 +OBJECT:16:_ZTId@@GLIBCPP_3.2 +OBJECT:16:_ZTIe@@GLIBCPP_3.2 +OBJECT:16:_ZTIf@@GLIBCPP_3.2 +OBJECT:16:_ZTIh@@GLIBCPP_3.2 +OBJECT:16:_ZTIi@@GLIBCPP_3.2 +OBJECT:16:_ZTIj@@GLIBCPP_3.2 +OBJECT:16:_ZTIl@@GLIBCPP_3.2 +OBJECT:16:_ZTIm@@GLIBCPP_3.2 +OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTIs@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:16:_ZTIt@@GLIBCPP_3.2 +OBJECT:16:_ZTIv@@GLIBCPP_3.2 +OBJECT:16:_ZTIw@@GLIBCPP_3.2 +OBJECT:16:_ZTIx@@GLIBCPP_3.2 +OBJECT:16:_ZTIy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSi@@GLIBCPP_3.2 +OBJECT:16:_ZTTSo@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:176:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:176:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:192:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:224:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:224:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:240:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:240:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:240:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2 +OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2 +OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2 +OBJECT:256:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:256:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2 +OBJECT:280:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2 +OBJECT:32:_ZTIPa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:32:_ZTIPl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPy@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2 +OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2 +OBJECT:48:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:56:_ZTISi@@GLIBCPP_3.2 +OBJECT:56:_ZTISo@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTTSd@@GLIBCPP_3.2 +OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2 +OBJECT:72:_ZTISd@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7collateIwE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt8messagesIwE@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/abi/sparc-freebsd5/baseline_symbols.txt b/contrib/libstdc++/config/abi/sparc-freebsd5/baseline_symbols.txt new file mode 100644 index 0000000..b63c4a3 --- /dev/null +++ b/contrib/libstdc++/config/abi/sparc-freebsd5/baseline_symbols.txt @@ -0,0 +1,3073 @@ +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEm@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEmPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEmc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_scan_isEmPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE11do_scan_notEmPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pm@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEmw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intERKSscRSt8ios_basePcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatERKSscPKcPcS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intERKSswRSt8ios_basePwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatERKSswPKwPwS9_Ri@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCPP_3.2.3 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsixEm@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEPiPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE16showmanyc_helperEv@@GLIBCPP_3.2.3 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP7__sFILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EPP13pthread_mutex@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEli@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10reallocateEPvmm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPiPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPiPKmbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERPiPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERPi@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2EPiPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEPi@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2EPim@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCPP_3.2.1 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znam@@GLIBCPP_3.2 +FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znwm@@GLIBCPP_3.2 +FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_guard_abort@@CXXABI_1.2.1 +FUNC:__cxa_guard_acquire@@CXXABI_1.2.1 +FUNC:__cxa_guard_release@@CXXABI_1.2.1 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +FUNC:__signbitf@@GLIBCPP_3.2.1 +FUNC:atan2l@@GLIBCPP_3.2.1 +FUNC:coshl@@GLIBCPP_3.2.1 +FUNC:cosl@@GLIBCPP_3.2.1 +FUNC:expl@@GLIBCPP_3.2.1 +FUNC:hypotl@@GLIBCPP_3.2.1 +FUNC:log10l@@GLIBCPP_3.2.1 +FUNC:logl@@GLIBCPP_3.2.1 +FUNC:nan@@GLIBCPP_3.2.1 +FUNC:powl@@GLIBCPP_3.2.1 +FUNC:sinhl@@GLIBCPP_3.2.1 +FUNC:sinl@@GLIBCPP_3.2.1 +FUNC:sqrtl@@GLIBCPP_3.2.1 +FUNC:tanhl@@GLIBCPP_3.2.1 +FUNC:tanl@@GLIBCPP_3.2.1 +OBJECT:0:CXXABI_1.2 +OBJECT:0:CXXABI_1.2.1 +OBJECT:0:GLIBCPP_3.2 +OBJECT:0:GLIBCPP_3.2.1 +OBJECT:0:GLIBCPP_3.2.2 +OBJECT:0:GLIBCPP_3.2.3 +OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSd@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9codecvt_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:16:_ZTIa@@GLIBCPP_3.2 +OBJECT:16:_ZTIb@@GLIBCPP_3.2 +OBJECT:16:_ZTIc@@GLIBCPP_3.2 +OBJECT:16:_ZTId@@GLIBCPP_3.2 +OBJECT:16:_ZTIe@@GLIBCPP_3.2 +OBJECT:16:_ZTIf@@GLIBCPP_3.2 +OBJECT:16:_ZTIh@@GLIBCPP_3.2 +OBJECT:16:_ZTIi@@GLIBCPP_3.2 +OBJECT:16:_ZTIj@@GLIBCPP_3.2 +OBJECT:16:_ZTIl@@GLIBCPP_3.2 +OBJECT:16:_ZTIm@@GLIBCPP_3.2 +OBJECT:16:_ZTIs@@GLIBCPP_3.2 +OBJECT:16:_ZTIt@@GLIBCPP_3.2 +OBJECT:16:_ZTIv@@GLIBCPP_3.2 +OBJECT:16:_ZTIw@@GLIBCPP_3.2 +OBJECT:16:_ZTIx@@GLIBCPP_3.2 +OBJECT:16:_ZTIy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSi@@GLIBCPP_3.2 +OBJECT:16:_ZTTSo@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2 +OBJECT:280:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:32:_ZTIPa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPy@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2 +OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:48:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:56:_ZTISi@@GLIBCPP_3.2 +OBJECT:56:_ZTISo@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTTSd@@GLIBCPP_3.2 +OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:576:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:576:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:576:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:584:_ZSt8buf_wcin@@GLIBCPP_3.2 +OBJECT:584:_ZSt9buf_wcerr@@GLIBCPP_3.2 +OBJECT:584:_ZSt9buf_wcout@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2 +OBJECT:72:_ZTISd@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSi@@GLIBCPP_3.2 +OBJECT:80:_ZTVSo@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCPP_3.2.3 +OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCPP_3.2.3 +OBJECT:8:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE@@GLIBCPP_3.2.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/abi/x86_64-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/x86_64-linux-gnu/baseline_symbols.txt new file mode 100644 index 0000000..15af156 --- /dev/null +++ b/contrib/libstdc++/config/abi/x86_64-linux-gnu/baseline_symbols.txt @@ -0,0 +1,3034 @@ +FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.2 +FUNC:_ZNKSaIcE7addressERKc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE7addressERc@@GLIBCPP_3.2 +FUNC:_ZNKSaIcE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERKw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE7addressERw@@GLIBCPP_3.2 +FUNC:_ZNKSaIwE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNKSi6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs12find_last_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs13find_first_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs13get_allocatorEv@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNKSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4copyEPcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs4findEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5c_strEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5emptyEv@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEPKcmm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindERKSsm@@GLIBCPP_3.2 +FUNC:_ZNKSs5rfindEcm@@GLIBCPP_3.2 +FUNC:_ZNKSs6_M_repEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSs6substrEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_dataEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_foldEmm@@GLIBCPP_3.2 +FUNC:_ZNKSs7_M_iendEv@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNKSs8_M_checkEm@@GLIBCPP_3.2 +FUNC:_ZNKSs8capacityEv@@GLIBCPP_3.2 +FUNC:_ZNKSs8max_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSs9_M_ibeginEv@@GLIBCPP_3.2 +FUNC:_ZNKSsixEm@@GLIBCPP_3.2 +FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_ampmEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_ampmEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt11logic_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt19istreambuf_iteratorIwSt11char_traitsIwEE6_M_getEv@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_scan_isEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE11do_scan_notEtPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEPKcS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE5do_isEtc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCPP_3.2 +FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt6locale4nameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt6localeeqERKS_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCPP_3.2 +FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERKS0_PKcS5_m@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intES3_S3_RSt8ios_baseRSt12_Ios_IostateRSsRi@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_widen_intES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIlEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intImEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIxEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intIyEES3_S3_RSt8ios_basecccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_widen_floatES3_RSt8ios_basecPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertES3_RSt8ios_basecPKci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_widen_intES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIlEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intImEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIxEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intIyEES3_S3_RSt8ios_basewccT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_widen_floatES3_RSt8ios_basewPci@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCPP_3.2 +FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertES3_RSt8ios_basewPKwi@@GLIBCPP_3.2 +FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIcERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameERS3_S5_RiPPKcmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numERS3_S5_RiiimRKSt5ctypeIwERSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameERS3_S5_RiPPKwmRSt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatERS3_S5_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCPP_3.2 +FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE14_M_check_facetEPKNSt6locale5facetE@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9exception4whatEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCPP_3.2 +FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9strstream6pcountEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCPP_3.2 +FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE10deallocateEPcm@@GLIBCPP_3.2 +FUNC:_ZNSaIcE7destroyEPc@@GLIBCPP_3.2 +FUNC:_ZNSaIcE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIcE9constructEPcRKc@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIcEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwE10deallocateEPwm@@GLIBCPP_3.2 +FUNC:_ZNSaIwE7destroyEPw@@GLIBCPP_3.2 +FUNC:_ZNSaIwE8allocateEmPKv@@GLIBCPP_3.2 +FUNC:_ZNSaIwE9constructEPwRKw@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSaIwEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSaIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE10_M_replaceIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKwS2_EEEERS2_NS5_IPwS2_EESB_T_SC_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPwS2_EEEERS2_S7_S7_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPKwEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeIPwEERS2_N9__gnu_cxx17__normal_iteratorIS4_S2_EES8_T_S9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPKwS2_EEEET_S9_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCPP_3.2 +FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSdD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi3getEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCPP_3.2 +FUNC:_ZNSi3getERc@@GLIBCPP_3.2 +FUNC:_ZNSi3getEv@@GLIBCPP_3.2 +FUNC:_ZNSi4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSi4readEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSi5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSi5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSi6ignoreEli@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC1ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentryC2ERSib@@GLIBCPP_3.2 +FUNC:_ZNSi6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPcl@@GLIBCPP_3.2 +FUNC:_ZNSi7getlineEPclc@@GLIBCPP_3.2 +FUNC:_ZNSi7putbackEc@@GLIBCPP_3.2 +FUNC:_ZNSi8readsomeEPcl@@GLIBCPP_3.2 +FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSiD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSiS_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSirsERPv@@GLIBCPP_3.2 +FUNC:_ZNSirsERb@@GLIBCPP_3.2 +FUNC:_ZNSirsERd@@GLIBCPP_3.2 +FUNC:_ZNSirsERe@@GLIBCPP_3.2 +FUNC:_ZNSirsERf@@GLIBCPP_3.2 +FUNC:_ZNSirsERi@@GLIBCPP_3.2 +FUNC:_ZNSirsERj@@GLIBCPP_3.2 +FUNC:_ZNSirsERl@@GLIBCPP_3.2 +FUNC:_ZNSirsERm@@GLIBCPP_3.2 +FUNC:_ZNSirsERs@@GLIBCPP_3.2 +FUNC:_ZNSirsERt@@GLIBCPP_3.2 +FUNC:_ZNSirsERx@@GLIBCPP_3.2 +FUNC:_ZNSirsERy@@GLIBCPP_3.2 +FUNC:_ZNSo3putEc@@GLIBCPP_3.2 +FUNC:_ZNSo5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSo5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSo5writeEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC1ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryC2ERSo@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSo6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSoD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSoS_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCPP_3.2 +FUNC:_ZNSolsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +FUNC:_ZNSolsEb@@GLIBCPP_3.2 +FUNC:_ZNSolsEd@@GLIBCPP_3.2 +FUNC:_ZNSolsEe@@GLIBCPP_3.2 +FUNC:_ZNSolsEf@@GLIBCPP_3.2 +FUNC:_ZNSolsEi@@GLIBCPP_3.2 +FUNC:_ZNSolsEj@@GLIBCPP_3.2 +FUNC:_ZNSolsEl@@GLIBCPP_3.2 +FUNC:_ZNSolsEm@@GLIBCPP_3.2 +FUNC:_ZNSolsEs@@GLIBCPP_3.2 +FUNC:_ZNSolsEt@@GLIBCPP_3.2 +FUNC:_ZNSolsEx@@GLIBCPP_3.2 +FUNC:_ZNSolsEy@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs10_M_replaceIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_St18input_iterator_tag@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_M_leak_hardEv@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs12_S_empty_repEv@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCPP_3.2 +FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPKcSsEEEERSsNS1_IPcSsEES7_T_S8_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIN9__gnu_cxx17__normal_iteratorIPcSsEEEERSsS3_S3_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPKcEERSsN9__gnu_cxx17__normal_iteratorIPcSsEES6_T_S7_@@GLIBCPP_3.2 +FUNC:_ZNSs15_M_replace_safeIPcEERSsN9__gnu_cxx17__normal_iteratorIS0_SsEES4_T_S5_@@GLIBCPP_3.2 +FUNC:_ZNSs2atEm@@GLIBCPP_3.2 +FUNC:_ZNSs3endEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCPP_3.2 +FUNC:_ZNSs4_Rep9_S_createEmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSs4_RepixEm@@GLIBCPP_3.2 +FUNC:_ZNSs4rendEv@@GLIBCPP_3.2 +FUNC:_ZNSs4swapERSs@@GLIBCPP_3.2 +FUNC:_ZNSs5beginEv@@GLIBCPP_3.2 +FUNC:_ZNSs5clearEv@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCPP_3.2 +FUNC:_ZNSs5eraseEmm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6appendERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6appendEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6assignERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6assignEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs6insertEmmc@@GLIBCPP_3.2 +FUNC:_ZNSs6rbeginEv@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEm@@GLIBCPP_3.2 +FUNC:_ZNSs6resizeEmc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_dataEPc@@GLIBCPP_3.2 +FUNC:_ZNSs7_M_leakEv@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKc@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmPKcm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSs@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSs7replaceEmmmc@@GLIBCPP_3.2 +FUNC:_ZNSs7reserveEm@@GLIBCPP_3.2 +FUNC:_ZNSs9_M_mutateEmmm@@GLIBCPP_3.2 +FUNC:_ZNSs9push_backEc@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmm@@GLIBCPP_3.2 +FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPKcSsEEEET_S5_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCPP_3.2 +FUNC:_ZNSsD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSsD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSsaSEPKc@@GLIBCPP_3.2 +FUNC:_ZNSsaSERKSs@@GLIBCPP_3.2 +FUNC:_ZNSsaSEc@@GLIBCPP_3.2 +FUNC:_ZNSsixEm@@GLIBCPP_3.2 +FUNC:_ZNSspLEPKc@@GLIBCPP_3.2 +FUNC:_ZNSspLERKSs@@GLIBCPP_3.2 +FUNC:_ZNSspLEc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base13_S_format_intERKSt8ios_basePccc@@GLIBCPP_3.2 +FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePccl@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPc@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10istrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11logic_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt11range_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE10sys_ungetcEi@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE12_M_open_modeESt13_Ios_OpenmodeRiS2_Pc@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE7seekposElSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_getcEv@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmodeb@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12domain_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12length_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC1El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufC2El@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt12strstreambufD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_really_overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPclRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE17_M_output_unshiftEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_really_overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE18_M_set_determinateEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_is_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_underflow_commonEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE20_M_set_indeterminateEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwlRlS4_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCPP_3.2 +FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE14_M_in_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_buf_sizeEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_out_cur_moveEl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE15_M_pback_createEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE16_M_pback_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE14_M_really_syncEmm@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_round_upEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE14_S_chunk_allocEmRi@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE17_S_freelist_indexEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE5_LockD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm@@GLIBCPP_3.2 +FUNC:_ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale11_M_coalesceERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale21_S_normalize_categoryEj@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale2idC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPNS_5facetE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_j@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2EPPNS_5facetEmb@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet16_M_add_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_M_remove_referenceEv@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale5facetD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6locale6globalERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6locale7classicEv@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPKc@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_PKcj@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2ERKS_S1_j@@GLIBCPP_3.2 +FUNC:_ZNSt6localeC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt6localeaSERKS_@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7collateIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8bad_castD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base13_M_grow_wordsEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init13_S_ios_createEb@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4Init14_S_ios_destroyEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base6xallocEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8ios_baseD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8messagesIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt8valarrayImEixEm@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9bad_allocD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_facetsERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9exceptionD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream3strEv@@GLIBCPP_3.2 +FUNC:_ZNSt9strstream6freezeEb@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamC2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9strstreamD2Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD0Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD1Ev@@GLIBCPP_3.2 +FUNC:_ZNSt9type_infoD2Ev@@GLIBCPP_3.2 +FUNC:_ZSt10unexpectedv@@GLIBCPP_3.2 +FUNC:_ZSt13set_terminatePFvvE@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIlEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vImEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIxEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKP15__locale_structi@@GLIBCPP_3.2 +FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCPP_3.2 +FUNC:_ZSt16__throw_bad_castv@@GLIBCPP_3.2 +FUNC:_ZSt17__throw_bad_allocv@@GLIBCPP_3.2 +FUNC:_ZSt18__throw_bad_typeidv@@GLIBCPP_3.2 +FUNC:_ZSt18uncaught_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt19__throw_range_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_length_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCPP_3.2 +FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCPP_3.2 +FUNC:_ZSt24__uninitialized_copy_auxIN9__gnu_cxx17__normal_iteratorIPKSsSt6vectorISsSaISsEEEEPSsET0_T_SA_S9_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt26__uninitialized_fill_n_auxIPSsmSsET_S1_T0_RKT1_12__false_type@@GLIBCPP_3.2 +FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9terminatev@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCPP_3.2 +FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCPP_3.2 +FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCPP_3.2 +FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCPP_3.2 +FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCPP_3.2 +FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCPP_3.2 +FUNC:_ZdaPv@@GLIBCPP_3.2 +FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_ZdlPv@@GLIBCPP_3.2 +FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znam@@GLIBCPP_3.2 +FUNC:_ZnamRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:_Znwm@@GLIBCPP_3.2 +FUNC:_ZnwmRKSt9nothrow_t@@GLIBCPP_3.2 +FUNC:__cxa_allocate_exception@@CXXABI_1.2 +FUNC:__cxa_bad_cast@@CXXABI_1.2 +FUNC:__cxa_bad_typeid@@CXXABI_1.2 +FUNC:__cxa_begin_catch@@CXXABI_1.2 +FUNC:__cxa_call_unexpected@@CXXABI_1.2 +FUNC:__cxa_current_exception_type@@CXXABI_1.2 +FUNC:__cxa_demangle@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_append_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_clear@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy@@CXXABI_1.2 +FUNC:__cxa_dyn_string_copy_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_delete@@CXXABI_1.2 +FUNC:__cxa_dyn_string_eq@@CXXABI_1.2 +FUNC:__cxa_dyn_string_init@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_char@@CXXABI_1.2 +FUNC:__cxa_dyn_string_insert_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_new@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend@@CXXABI_1.2 +FUNC:__cxa_dyn_string_prepend_cstr@@CXXABI_1.2 +FUNC:__cxa_dyn_string_release@@CXXABI_1.2 +FUNC:__cxa_dyn_string_resize@@CXXABI_1.2 +FUNC:__cxa_dyn_string_substring@@CXXABI_1.2 +FUNC:__cxa_end_catch@@CXXABI_1.2 +FUNC:__cxa_free_exception@@CXXABI_1.2 +FUNC:__cxa_get_globals@@CXXABI_1.2 +FUNC:__cxa_get_globals_fast@@CXXABI_1.2 +FUNC:__cxa_pure_virtual@@CXXABI_1.2 +FUNC:__cxa_rethrow@@CXXABI_1.2 +FUNC:__cxa_throw@@CXXABI_1.2 +FUNC:__cxa_vec_cctor@@CXXABI_1.2 +FUNC:__cxa_vec_cleanup@@CXXABI_1.2 +FUNC:__cxa_vec_ctor@@CXXABI_1.2 +FUNC:__cxa_vec_delete2@@CXXABI_1.2 +FUNC:__cxa_vec_delete3@@CXXABI_1.2 +FUNC:__cxa_vec_delete@@CXXABI_1.2 +FUNC:__cxa_vec_dtor@@CXXABI_1.2 +FUNC:__cxa_vec_new2@@CXXABI_1.2 +FUNC:__cxa_vec_new3@@CXXABI_1.2 +FUNC:__cxa_vec_new@@CXXABI_1.2 +FUNC:__dynamic_cast@@CXXABI_1.2 +FUNC:__gxx_personality_v0@@CXXABI_1.2 +OBJECT:0:CXXABI_1.2 +OBJECT:0:GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIcE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:112:_ZNSt11__timepunctIwE12_S_timezonesE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSd@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:120:_ZTVSt9strstream@@GLIBCPP_3.2 +OBJECT:128:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8bad_cast@@GLIBCPP_3.2 +OBJECT:12:_ZTSSt8ios_base@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:136:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9exception@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9strstream@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9time_base@@GLIBCPP_3.2 +OBJECT:13:_ZTSSt9type_info@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIcE@@GLIBCPP_3.2 +OBJECT:14:_ZTSSt7collateIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10__num_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ctype_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10istrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10money_base@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt10ostrstream@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt10time_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt11money_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_get_w@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_c@@GLIBCPP_3.2 +OBJECT:16:_ZSt9num_put_w@@GLIBCPP_3.2 +OBJECT:16:_ZTINSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10__num_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10ctype_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt10money_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt12codecvt_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt13messages_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTISt8ios_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9exception@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9time_base@@GLIBCPP_3.2 +OBJECT:16:_ZTISt9type_info@@GLIBCPP_3.2 +OBJECT:16:_ZTIa@@GLIBCPP_3.2 +OBJECT:16:_ZTIb@@GLIBCPP_3.2 +OBJECT:16:_ZTIc@@GLIBCPP_3.2 +OBJECT:16:_ZTId@@GLIBCPP_3.2 +OBJECT:16:_ZTIe@@GLIBCPP_3.2 +OBJECT:16:_ZTIf@@GLIBCPP_3.2 +OBJECT:16:_ZTIh@@GLIBCPP_3.2 +OBJECT:16:_ZTIi@@GLIBCPP_3.2 +OBJECT:16:_ZTIj@@GLIBCPP_3.2 +OBJECT:16:_ZTIl@@GLIBCPP_3.2 +OBJECT:16:_ZTIm@@GLIBCPP_3.2 +OBJECT:16:_ZTIs@@GLIBCPP_3.2 +OBJECT:16:_ZTIt@@GLIBCPP_3.2 +OBJECT:16:_ZTIv@@GLIBCPP_3.2 +OBJECT:16:_ZTIw@@GLIBCPP_3.2 +OBJECT:16:_ZTIx@@GLIBCPP_3.2 +OBJECT:16:_ZTIy@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11logic_error@@GLIBCPP_3.2 +OBJECT:16:_ZTSSt11range_error@@GLIBCPP_3.2 +OBJECT:16:_ZTTSi@@GLIBCPP_3.2 +OBJECT:16:_ZTTSo@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12codecvt_base@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12domain_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12length_error@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12out_of_range@@GLIBCPP_3.2 +OBJECT:17:_ZTSSt12strstreambuf@@GLIBCPP_3.2 +OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13bad_exception@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13messages_base@@GLIBCPP_3.2 +OBJECT:18:_ZTSSt13runtime_error@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:19:_ZTSSt14overflow_error@@GLIBCPP_3.2 +OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCPP_3.2 +OBJECT:1:_ZNSt8ios_base4Init20_S_synced_with_stdioE@@GLIBCPP_3.2 +OBJECT:1:_ZSt7nothrow@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:20:_ZTSSt15underflow_error@@GLIBCPP_3.2 +OBJECT:21:_ZTSSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:224:_ZSt9facet_vec@@GLIBCPP_3.2 +OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZNSt10__num_base8_S_atomsE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:248:_ZSt7buf_cin@@GLIBCPP_3.2 +OBJECT:248:_ZSt8buf_cerr@@GLIBCPP_3.2 +OBJECT:248:_ZSt8buf_cout@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl13_S_id_collateE@@GLIBCPP_3.2 +OBJECT:24:_ZNSt6locale5_Impl14_S_id_messagesE@@GLIBCPP_3.2 +OBJECT:24:_ZSt7ctype_w@@GLIBCPP_3.2 +OBJECT:24:_ZSt9codecvt_c@@GLIBCPP_3.2 +OBJECT:24:_ZSt9codecvt_w@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_c@@GLIBCPP_3.2 +OBJECT:24:_ZSt9collate_w@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10bad_typeid@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10istrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt10ostrstream@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11logic_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt11range_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12domain_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12length_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12out_of_range@@GLIBCPP_3.2 +OBJECT:24:_ZTISt12strstreambuf@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13bad_exception@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt13runtime_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt14overflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt15underflow_error@@GLIBCPP_3.2 +OBJECT:24:_ZTISt16invalid_argument@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt5ctypeIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt7collateIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8bad_cast@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9bad_alloc@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:24:_ZTISt9strstream@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_bit_count@@GLIBCPP_3.2 +OBJECT:256:_ZSt12_S_first_one@@GLIBCPP_3.2 +OBJECT:256:_ZSt8buf_wcin@@GLIBCPP_3.2 +OBJECT:256:_ZSt9buf_wcerr@@GLIBCPP_3.2 +OBJECT:256:_ZSt9buf_wcout@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt4clog@@GLIBCPP_3.2 +OBJECT:272:_ZSt4cout@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcerr@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wclog@@GLIBCPP_3.2 +OBJECT:272:_ZSt5wcout@@GLIBCPP_3.2 +OBJECT:280:_ZSt3cin@@GLIBCPP_3.2 +OBJECT:280:_ZSt4wcin@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCPP_3.2 +OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCPP_3.2 +OBJECT:2:_ZTSa@@GLIBCPP_3.2 +OBJECT:2:_ZTSb@@GLIBCPP_3.2 +OBJECT:2:_ZTSc@@GLIBCPP_3.2 +OBJECT:2:_ZTSd@@GLIBCPP_3.2 +OBJECT:2:_ZTSe@@GLIBCPP_3.2 +OBJECT:2:_ZTSf@@GLIBCPP_3.2 +OBJECT:2:_ZTSh@@GLIBCPP_3.2 +OBJECT:2:_ZTSi@@GLIBCPP_3.2 +OBJECT:2:_ZTSj@@GLIBCPP_3.2 +OBJECT:2:_ZTSl@@GLIBCPP_3.2 +OBJECT:2:_ZTSm@@GLIBCPP_3.2 +OBJECT:2:_ZTSs@@GLIBCPP_3.2 +OBJECT:2:_ZTSt@@GLIBCPP_3.2 +OBJECT:2:_ZTSv@@GLIBCPP_3.2 +OBJECT:2:_ZTSw@@GLIBCPP_3.2 +OBJECT:2:_ZTSx@@GLIBCPP_3.2 +OBJECT:2:_ZTSy@@GLIBCPP_3.2 +OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZNSs20_S_empty_rep_storageE@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_c@@GLIBCPP_3.2 +OBJECT:32:_ZSt10messages_w@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPKy@@GLIBCPP_3.2 +OBJECT:32:_ZTIPa@@GLIBCPP_3.2 +OBJECT:32:_ZTIPb@@GLIBCPP_3.2 +OBJECT:32:_ZTIPc@@GLIBCPP_3.2 +OBJECT:32:_ZTIPd@@GLIBCPP_3.2 +OBJECT:32:_ZTIPe@@GLIBCPP_3.2 +OBJECT:32:_ZTIPf@@GLIBCPP_3.2 +OBJECT:32:_ZTIPh@@GLIBCPP_3.2 +OBJECT:32:_ZTIPi@@GLIBCPP_3.2 +OBJECT:32:_ZTIPj@@GLIBCPP_3.2 +OBJECT:32:_ZTIPl@@GLIBCPP_3.2 +OBJECT:32:_ZTIPm@@GLIBCPP_3.2 +OBJECT:32:_ZTIPs@@GLIBCPP_3.2 +OBJECT:32:_ZTIPt@@GLIBCPP_3.2 +OBJECT:32:_ZTIPv@@GLIBCPP_3.2 +OBJECT:32:_ZTIPw@@GLIBCPP_3.2 +OBJECT:32:_ZTIPx@@GLIBCPP_3.2 +OBJECT:32:_ZTIPy@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10istrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt10ostrstream@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:3:_ZTSPa@@GLIBCPP_3.2 +OBJECT:3:_ZTSPb@@GLIBCPP_3.2 +OBJECT:3:_ZTSPc@@GLIBCPP_3.2 +OBJECT:3:_ZTSPd@@GLIBCPP_3.2 +OBJECT:3:_ZTSPe@@GLIBCPP_3.2 +OBJECT:3:_ZTSPf@@GLIBCPP_3.2 +OBJECT:3:_ZTSPh@@GLIBCPP_3.2 +OBJECT:3:_ZTSPi@@GLIBCPP_3.2 +OBJECT:3:_ZTSPj@@GLIBCPP_3.2 +OBJECT:3:_ZTSPl@@GLIBCPP_3.2 +OBJECT:3:_ZTSPm@@GLIBCPP_3.2 +OBJECT:3:_ZTSPs@@GLIBCPP_3.2 +OBJECT:3:_ZTSPt@@GLIBCPP_3.2 +OBJECT:3:_ZTSPv@@GLIBCPP_3.2 +OBJECT:3:_ZTSPw@@GLIBCPP_3.2 +OBJECT:3:_ZTSPx@@GLIBCPP_3.2 +OBJECT:3:_ZTSPy@@GLIBCPP_3.2 +OBJECT:3:_ZTSSd@@GLIBCPP_3.2 +OBJECT:3:_ZTSSi@@GLIBCPP_3.2 +OBJECT:3:_ZTSSo@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_c@@GLIBCPP_3.2 +OBJECT:408:_ZSt11timepunct_w@@GLIBCPP_3.2 +OBJECT:40:_ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE@@GLIBCPP_3.2 +OBJECT:40:_ZNSt6locale5_Impl11_S_id_ctypeE@@GLIBCPP_3.2 +OBJECT:40:_ZSt10numpunct_c@@GLIBCPP_3.2 +OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt10bad_typeid@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11logic_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt11range_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12domain_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12length_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt12out_of_range@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13bad_exception@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt13runtime_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt14overflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt15underflow_error@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt16invalid_argument@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8bad_cast@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9bad_alloc@@GLIBCPP_3.2 +OBJECT:40:_ZTVSt9exception@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:48:_ZSt10numpunct_w@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale2id12_S_highwaterE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale3allE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4noneE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale4timeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7collateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale7numericE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8messagesE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base18_S_local_word_sizeE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base2inE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3appE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3begE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3curE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3decE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3endE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3octE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base3outE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4Init16_S_ios_base_initE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCPP_3.2 +OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKa@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKb@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKc@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKd@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKe@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKf@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKh@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKi@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKj@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKl@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKm@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKs@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKt@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKv@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKw@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKx@@GLIBCPP_3.2 +OBJECT:4:_ZTSPKy@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl10_S_id_timeE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl13_S_id_numericE@@GLIBCPP_3.2 +OBJECT:56:_ZNSt6locale5_Impl19_S_facet_categoriesE@@GLIBCPP_3.2 +OBJECT:56:_ZSt7ctype_c@@GLIBCPP_3.2 +OBJECT:56:_ZTISi@@GLIBCPP_3.2 +OBJECT:56:_ZTISo@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:56:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTTSd@@GLIBCPP_3.2 +OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt7collateIwE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIcE@@GLIBCPP_3.2 +OBJECT:56:_ZTVSt8messagesIwE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@GLIBCPP_3.2 +OBJECT:64:_ZTVSt9type_info@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZNSt6locale5_Impl14_S_id_monetaryE@@GLIBCPP_3.2 +OBJECT:72:_ZSt13c_locale_impl@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_fw@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tc@@GLIBCPP_3.2 +OBJECT:72:_ZSt13moneypunct_tw@@GLIBCPP_3.2 +OBJECT:72:_ZTISd@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIcLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb0EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt10moneypunctIwLb1EE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt21__ctype_abstract_baseIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8messagesIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCPP_3.2 +OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTTSt9strstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSi@@GLIBCPP_3.2 +OBJECT:80:_ZTVSo@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10istrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt10ostrstream@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSs4nposE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt15basic_streambufIwSt11char_traitsIwEE13_S_pback_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale10_S_classicE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale17_S_num_categoriesE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale5facet11_S_c_localeE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt6locale9_S_globalE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCPP_3.2 +OBJECT:8:_ZSt8c_locale@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCPP_3.2 +OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCPP_3.2 diff --git a/contrib/libstdc++/config/cpu/alpha/atomicity.h b/contrib/libstdc++/config/cpu/alpha/atomicity.h new file mode 100644 index 0000000..895d87a --- /dev/null +++ b/contrib/libstdc++/config/cpu/alpha/atomicity.h @@ -0,0 +1,76 @@ +// Low-level functions for atomic operations: Alpha version -*- C++ -*- + +// Copyright (C) 1999, 2000, 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +/* @@@ With gas we can play nice .subsection games to get the + non-predicted branch pointing forward. But Digital assemblers + don't understand those directives. This isn't a terribly + important issue, so just ignore it. */ + +typedef int _Atomic_word; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word* __mem, int __val) +{ + register int __result, __tmp; + + __asm__ __volatile__ ( + "\n$Lxadd_%=:\n\t" + "ldl_l %0,%3\n\t" + "addl %0,%4,%1\n\t" + "stl_c %1,%2\n\t" + "beq %1,$Lxadd_%=\n\t" + "mb" + : "=&r"(__result), "=&r"(__tmp), "=m"(*__mem) + : "m" (*__mem), "r"(__val)); + + return __result; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + register _Atomic_word __result; + + __asm__ __volatile__ ( + "\n$Ladd_%=:\n\t" + "ldl_l %0,%2\n\t" + "addl %0,%3,%0\n\t" + "stl_c %0,%1\n\t" + "beq %0,$Ladd_%=\n\t" + "mb" + : "=&r"(__result), "=m"(*__mem) + : "m" (*__mem), "r"(__val)); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/cris/atomicity.h b/contrib/libstdc++/config/cpu/cris/atomicity.h new file mode 100644 index 0000000..55c374f --- /dev/null +++ b/contrib/libstdc++/config/cpu/cris/atomicity.h @@ -0,0 +1,79 @@ +// Low-level functions for atomic operations: CRIS version -*- C++ -*- + +// Copyright (C) 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +// This entity must not cross a page boundary. +typedef int _Atomic_word __attribute__ ((__aligned__ (4))); + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (_Atomic_word* __mem, int __val) +{ + int __tmp; + _Atomic_word __result; + +#if (__CRIS_arch_version >= 10) + __asm__ __volatile__ (" clearf \n" + "0: \n" + " move.d %4,%2 \n" + " move.d [%3],%0 \n" + " add.d %0,%2 \n" + " ax \n" + " move.d %2,[%3] \n" + " bwf 0b \n" + " clearf \n" + : "=&r" (__result), "=m" (*__mem), "=&r" (__tmp) + : "r" (__mem), "g" (__val), "m" (*__mem) + : "memory"); +#else + __asm__ __volatile__ (" move $ccr,$r9 \n" + " di \n" + " move.d %4,%2 \n" + " move.d [%3],%0 \n" + " add.d %0,%2 \n" + " move.d %2,[%3] \n" + " move $r9,$ccr \n" + : "=&r" (__result), "=m" (*__mem), "=&r" (__tmp) + : "r" (__mem), "g" (__val), "m" (*__mem) + : "memory", "r9"); +#endif + + return __result; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (_Atomic_word* __mem, int __val) +{ + __exchange_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/generic/atomicity.h b/contrib/libstdc++/config/cpu/generic/atomicity.h new file mode 100644 index 0000000..829a77c --- /dev/null +++ b/contrib/libstdc++/config/cpu/generic/atomicity.h @@ -0,0 +1,77 @@ +// Low-level functions for atomic operations: Generic version -*- C++ -*- + +// Copyright (C) 1999, 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +#include <bits/gthr.h> + +#define _GLIBCPP_NEED_GENERIC_MUTEX + +typedef int _Atomic_word; + +namespace __gnu_cxx +{ + extern __gthread_mutex_t _Atomic_add_mutex; + +#ifndef __GTHREAD_MUTEX_INIT + extern __gthread_once_t _Atomic_add_mutex_once; + extern void __gthread_atomic_add_mutex_once(); +#endif +} + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word* __mem, int __val) +{ +#ifndef __GTHREAD_MUTEX_INIT + __gthread_once (&__gnu_cxx::_Atomic_add_mutex_once, + __gnu_cxx::__gthread_atomic_add_mutex_once); +#endif + + _Atomic_word __result; + + __gthread_mutex_lock (&__gnu_cxx::_Atomic_add_mutex); + + __result = *__mem; + *__mem += __val; + + __gthread_mutex_unlock (&__gnu_cxx::_Atomic_add_mutex); + return __result; +} + + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + (void) __exchange_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/hppa/atomicity.h b/contrib/libstdc++/config/cpu/hppa/atomicity.h new file mode 100644 index 0000000..d99ac34 --- /dev/null +++ b/contrib/libstdc++/config/cpu/hppa/atomicity.h @@ -0,0 +1,90 @@ +/* Low-level functions for atomic operations. PA-RISC version. -*- C++ -*- + Copyright 2002 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +typedef int _Atomic_word; + +template <int __inst> +struct __Atomicity_lock +{ + static volatile int _S_atomicity_lock; +}; + +template <int __inst> +volatile int +__Atomicity_lock<__inst>::_S_atomicity_lock __attribute__ ((aligned (16))) = 1; + +/* Because of the lack of weak support when using the hpux + som linker, we explicitly instantiate the atomicity lock + in src/misc-inst.cc when _GLIBCPP_INST_ATOMICITY_LOCK + is defined. */ +#ifndef _GLIBCPP_INST_ATOMICITY_LOCK +template volatile int __Atomicity_lock<0>::_S_atomicity_lock; +#endif + +static inline int +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word* __mem, int __val) +{ + _Atomic_word result; + int tmp; + volatile int& lock = __Atomicity_lock<0>::_S_atomicity_lock; + + __asm__ __volatile__ ("ldcw 0(%1),%0\n\t" + "cmpib,<>,n 0,%0,.+20\n\t" + "ldw 0(%1),%0\n\t" + "cmpib,= 0,%0,.-4\n\t" + "nop\n\t" + "b,n .-20" + : "=&r" (tmp) + : "r" (&lock)); + + result = *__mem; + *__mem = result + __val; + /* Reset lock with PA 2.0 "ordered" store. */ + __asm__ __volatile__ ("stw,ma %1,0(%0)" + : : "r" (&lock), "r" (tmp) : "memory"); + return result; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (_Atomic_word* __mem, int __val) +{ + int tmp; + volatile int& lock = __Atomicity_lock<0>::_S_atomicity_lock; + + __asm__ __volatile__ ("ldcw 0(%1),%0\n\t" + "cmpib,<>,n 0,%0,.+20\n\t" + "ldw 0(%1),%0\n\t" + "cmpib,= 0,%0,.-4\n\t" + "nop\n\t" + "b,n .-20" + : "=&r" (tmp) + : "r" (&lock)); + + *__mem += __val; + /* Reset lock with PA 2.0 "ordered" store. */ + __asm__ __volatile__ ("stw,ma %1,0(%0)" + : : "r" (&lock), "r" (tmp) : "memory"); +} + +#endif diff --git a/contrib/libstdc++/config/cpu/i386/atomicity.h b/contrib/libstdc++/config/cpu/i386/atomicity.h new file mode 100644 index 0000000..d619dbb --- /dev/null +++ b/contrib/libstdc++/config/cpu/i386/atomicity.h @@ -0,0 +1,75 @@ +// Low-level functions for atomic operations: x86, x >= 3 version -*- C++ -*- + +// Copyright (C) 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +typedef int _Atomic_word; + +template <int __inst> +struct __Atomicity_lock +{ + static volatile _Atomic_word _S_atomicity_lock; +}; + +template <int __inst> +volatile _Atomic_word __Atomicity_lock<__inst>::_S_atomicity_lock = 0; + +template volatile _Atomic_word __Atomicity_lock<0>::_S_atomicity_lock; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + register _Atomic_word __result, __tmp = 1; + + /* obtain the atomic exchange/add spin lock */ + do { + __asm__ __volatile__ ("xchg{l} {%0,%1|%1,%0}" + : "+m" (__Atomicity_lock<0>::_S_atomicity_lock), + "+r" (__tmp)); + } while (__tmp); + + __result = *__mem; + *__mem += __val; + + /* release spin lock */ + __Atomicity_lock<0>::_S_atomicity_lock = 0; + + return __result; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + __exchange_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/i486/atomicity.h b/contrib/libstdc++/config/cpu/i486/atomicity.h new file mode 100644 index 0000000..7c65fab --- /dev/null +++ b/contrib/libstdc++/config/cpu/i486/atomicity.h @@ -0,0 +1,57 @@ +// Low-level functions for atomic operations: x86, x >= 4 version -*- C++ -*- + +// Copyright (C) 1999, 2000, 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +typedef int _Atomic_word; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + register _Atomic_word __result; + __asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}" + : "=r" (__result), "+m" (*__mem) + : "0" (__val) + : "memory"); + return __result; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}" + : "+m" (*__mem) : "ir" (__val) : "memory"); +} + +#endif /* atomicity.h */ + + diff --git a/contrib/libstdc++/config/cpu/ia64/atomicity.h b/contrib/libstdc++/config/cpu/ia64/atomicity.h new file mode 100644 index 0000000..e28e149 --- /dev/null +++ b/contrib/libstdc++/config/cpu/ia64/atomicity.h @@ -0,0 +1,51 @@ +// Low-level functions for atomic operations: IA64 version -*- C++ -*- + +// Copyright (C) 2000, 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +#include <ia64intrin.h> + +typedef int _Atomic_word; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + return __sync_fetch_and_add (__mem, __val); +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + __sync_fetch_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/m68k/atomicity.h b/contrib/libstdc++/config/cpu/m68k/atomicity.h new file mode 100644 index 0000000..db32735 --- /dev/null +++ b/contrib/libstdc++/config/cpu/m68k/atomicity.h @@ -0,0 +1,158 @@ +// Low-level functions for atomic operations: m68k version -*- C++ -*- + +// Copyright (C) 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, 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +typedef int _Atomic_word; + +#if defined(__mc68020__) || defined(__mc68030__) \ + || defined(__mc68040__) || defined(__mc68060__) +// These variants support compare-and-swap. + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + register _Atomic_word __result = *__mem; + register _Atomic_word __temp; + __asm__ __volatile__ ("1: move%.l %0,%1\n\t" + "add%.l %2,%1\n\t" + "cas%.l %0,%1,%3\n\t" + "jne 1b" + : "=d" (__result), "=&d" (__temp) + : "d" (__val), "m" (*__mem), "0" (__result) + : "memory"); + return __result; +} + +#elif defined(__rtems__) + /* + * TAS/JBNE is unsafe on systems with strict priority-based scheduling. + * Disable interrupts, which we can do only from supervisor mode. + */ +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + _Atomic_word __result; + short __level, __tmpsr; + __asm__ __volatile__ ("move%.w %%sr,%0\n\tor%.l %0,%1\n\tmove%.w %1,%%sr" + : "=d"(__level), "=d"(__tmpsr) : "1"(0x700)); + + __result = *__mem; + *__mem = __result + __val; + + __asm__ __volatile__ ("move%.w %0,%%sr" : : "d"(__level)); + + return __result; +} + +#elif !defined(__mcf5200__) && !defined(__mcf5300__) +// 68000, 68010, cpu32 and 5400 support test-and-set. + +template <int __inst> +struct __Atomicity_lock +{ + static volatile unsigned char _S_atomicity_lock; +}; + +template <int __inst> +volatile unsigned char __Atomicity_lock<__inst>::_S_atomicity_lock = 0; + +template volatile unsigned char __Atomicity_lock<0>::_S_atomicity_lock; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + _Atomic_word __result; + + __asm__ __volatile__("1: tas %0\n\tjbne 1b" + : "=m"(__Atomicity_lock<0>::_S_atomicity_lock) + : "m"(__Atomicity_lock<0>::_S_atomicity_lock)); + + __result = *__mem; + *__mem = __result + __val; + + __Atomicity_lock<0>::_S_atomicity_lock = 0; + + return __result; +} + +#elif defined(__vxWorks__) || defined(__embedded__) +// The best we can hope for is to disable interrupts, which we +// can only do from supervisor mode. + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + _Atomic_word __result; + short __level, __tmpsr; + __asm__ __volatile__ ("move%.w %%sr,%0\n\tor%.l %0,%1\n\tmove%.w %1,%%sr" + : "=d"(__level), "=d"(__tmpsr) : "1"(0x700)); + + __result = *__mem; + *__mem = __result + __val; + + __asm__ __volatile__ ("move%.w %0,%%sr" : : "d"(__level)); + + return __result; +} + +#else +// These variants do not support any atomic operations at all. + +#warning "__exchange_and_add is not atomic for this target" + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + _Atomic_word __result; + + __result = *__mem; + *__mem = __result + __val; + + return __result; +} + +#endif /* CAS / IRQ / TAS */ + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + // Careful: using add.l with a memory destination is not + // architecturally guaranteed to be atomic. + (void) __exchange_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/mips/atomicity.h b/contrib/libstdc++/config/cpu/mips/atomicity.h new file mode 100644 index 0000000..7bacabd --- /dev/null +++ b/contrib/libstdc++/config/cpu/mips/atomicity.h @@ -0,0 +1,81 @@ +// Low-level functions for atomic operations. + +// Copyright (C) 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, 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +typedef int _Atomic_word; + +static inline int +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + int __result, __tmp; + + __asm__ __volatile__ + ("/* Inline exchange & add */\n\t" + "1:\n\t" + ".set push\n\t" + ".set mips2\n\t" + "ll %0,%3\n\t" + "addu %1,%4,%0\n\t" + "sc %1,%2\n\t" + ".set pop\n\t" + "beqz %1,1b\n\t" + "/* End exchange & add */" + : "=&r"(__result), "=&r"(__tmp), "=m"(*__mem) + : "m" (*__mem), "r"(__val) + : "memory"); + + return __result; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word *__mem, int __val) +{ + int __result; + + __asm__ __volatile__ + ("/* Inline atomic add */\n\t" + "1:\n\t" + ".set push\n\t" + ".set mips2\n\t" + "ll %0,%2\n\t" + "addu %0,%3,%0\n\t" + "sc %0,%1\n\t" + ".set pop\n\t" + "beqz %0,1b\n\t" + "/* End atomic add */" + : "=&r"(__result), "=m"(*__mem) + : "m" (*__mem), "r"(__val) + : "memory"); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/powerpc/atomicity.h b/contrib/libstdc++/config/cpu/powerpc/atomicity.h new file mode 100644 index 0000000..b5370fc --- /dev/null +++ b/contrib/libstdc++/config/cpu/powerpc/atomicity.h @@ -0,0 +1,78 @@ +// Low-level functions for atomic operations: PowerPC version -*- C++ -*- + +// Copyright (C) 1999, 2000, 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +#ifdef __PPC405__ +#define _STWCX "sync \n\tstwcx. " +#else +#define _STWCX "stwcx. " +#endif + +typedef int _Atomic_word; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word* __mem, int __val) +{ + _Atomic_word __tmp, __res; + __asm__ __volatile__ ( + "/* Inline exchange & add */\n" + "0:\t" + "lwarx %0,0,%2 \n\t" + "add%I3 %1,%0,%3 \n\t" + _STWCX " %1,0,%2 \n\t" + "bne- 0b \n\t" + "/* End exchange & add */" + : "=&b"(__res), "=&r"(__tmp) + : "r" (__mem), "Ir"(__val) + : "cr0", "memory"); + return __res; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word *__mem, int __val) +{ + _Atomic_word __tmp; + __asm__ __volatile__ ( + "/* Inline atomic add */\n" + "0:\t" + "lwarx %0,0,%1 \n\t" + "add%I2 %0,%0,%2 \n\t" + _STWCX " %0,0,%1 \n\t" + "bne- 0b \n\t" + "/* End atomic add */" + : "=&b"(__tmp) + : "r" (__mem), "Ir"(__val) + : "cr0", "memory"); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/cpu/s390/atomicity.h b/contrib/libstdc++/config/cpu/s390/atomicity.h new file mode 100644 index 0000000..331c29a --- /dev/null +++ b/contrib/libstdc++/config/cpu/s390/atomicity.h @@ -0,0 +1,60 @@ +// Low-level functions for atomic operations: S/390 version -*- C++ -*- + +// Copyright (C) 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +typedef int _Atomic_word; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + register _Atomic_word __old_val, __new_val; + + __asm__ __volatile__ (" l %0,0(%2)\n" + "0: lr %1,%0\n" + " ar %1,%3\n" + " cs %0,%1,0(%2)\n" + " jl 0b" + : "=&d" (__old_val), "=&d" (__new_val) + : "a" (__mem), "d" (__val) : "cc", "memory" ); + return __old_val; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word *__mem, int __val) +{ + __exchange_and_add (__mem, __val); +} + +#endif /* atomicity.h */ + + diff --git a/contrib/libstdc++/config/cpu/sparc/atomicity.h b/contrib/libstdc++/config/cpu/sparc/atomicity.h new file mode 100644 index 0000000..23804db --- /dev/null +++ b/contrib/libstdc++/config/cpu/sparc/atomicity.h @@ -0,0 +1,131 @@ +// Low-level functions for atomic operations: Sparc version -*- C++ -*- + +// Copyright (C) 1999, 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, 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +#ifdef __arch64__ + +typedef long _Atomic_word; + +static inline _Atomic_word +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word *__mem, int __val) +{ + _Atomic_word __tmp1, __tmp2; + + __asm__ __volatile__("1: ldx [%2], %0\n\t" + " add %0, %3, %1\n\t" + " casx [%2], %0, %1\n\t" + " sub %0, %1, %0\n\t" + " brnz,pn %0, 1b\n\t" + " nop" + : "=&r" (__tmp1), "=&r" (__tmp2) + : "r" (__mem), "r" (__val) + : "memory"); + return __tmp2; +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + _Atomic_word __tmp1, __tmp2; + + __asm__ __volatile__("1: ldx [%2], %0\n\t" + " add %0, %3, %1\n\t" + " casx [%2], %0, %1\n\t" + " sub %0, %1, %0\n\t" + " brnz,pn %0, 1b\n\t" + " nop" + : "=&r" (__tmp1), "=&r" (__tmp2) + : "r" (__mem), "r" (__val) + : "memory"); +} + +#else /* __arch32__ */ + +typedef int _Atomic_word; + +template <int __inst> +struct __Atomicity_lock +{ + static unsigned char _S_atomicity_lock; +}; + +template <int __inst> +unsigned char __Atomicity_lock<__inst>::_S_atomicity_lock = 0; + +template unsigned char __Atomicity_lock<0>::_S_atomicity_lock; + +static int +__attribute__ ((__unused__)) +__exchange_and_add (volatile _Atomic_word* __mem, int __val) +{ + _Atomic_word __result, __tmp; + + __asm__ __volatile__("1: ldstub [%1], %0\n\t" + " cmp %0, 0\n\t" + " bne 1b\n\t" + " nop" + : "=&r" (__tmp) + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); + __result = *__mem; + *__mem += __val; + __asm__ __volatile__("stb %%g0, [%0]" + : /* no outputs */ + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); + return __result; +} + +static void +__attribute__ ((__unused__)) +__atomic_add (volatile _Atomic_word* __mem, int __val) +{ + _Atomic_word __tmp; + + __asm__ __volatile__("1: ldstub [%1], %0\n\t" + " cmp %0, 0\n\t" + " bne 1b\n\t" + " nop" + : "=&r" (__tmp) + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); + *__mem += __val; + __asm__ __volatile__("stb %%g0, [%0]" + : /* no outputs */ + : "r" (&__Atomicity_lock<0>::_S_atomicity_lock) + : "memory"); +} + +#endif /* __arch32__ */ + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/io/basic_file_stdio.cc b/contrib/libstdc++/config/io/basic_file_stdio.cc index 93ca6bc..5393a14 100644 --- a/contrib/libstdc++/config/io/basic_file_stdio.cc +++ b/contrib/libstdc++/config/io/basic_file_stdio.cc @@ -32,6 +32,31 @@ // #include <bits/basic_file.h> +#include <fcntl.h> +#include <unistd.h> + +#ifdef _GLIBCPP_HAVE_SYS_IOCTL_H +#define BSD_COMP /* Get FIONREAD on Solaris2. */ +#include <sys/ioctl.h> +#endif + +// Pick up FIONREAD on Solaris 2.5. +#ifdef _GLIBCPP_HAVE_SYS_FILIO_H +#include <sys/filio.h> +#endif + +#ifdef _GLIBCPP_HAVE_POLL +#include <poll.h> +#endif + +#if defined(_GLIBCPP_HAVE_S_ISREG) || defined(_GLIBCPP_HAVE_S_IFREG) +# include <sys/stat.h> +# ifdef _GLIBCPP_HAVE_S_ISREG +# define _GLIBCPP_ISREG(x) S_ISREG(x) +# else +# define _GLIBCPP_ISREG(x) (((x) & S_IFMT) == S_IFREG) +# endif +#endif namespace std { @@ -43,8 +68,8 @@ namespace std { this->close(); } void - __basic_file<char>::_M_open_mode(ios_base::openmode __mode, int&, int&, - char* __c_mode) + __basic_file<char>::_M_open_mode(ios_base::openmode __mode, int& __p_mode, + int&, char* __c_mode) { bool __testb = __mode & ios_base::binary; bool __testi = __mode & ios_base::in; @@ -52,18 +77,39 @@ namespace std bool __testt = __mode & ios_base::trunc; bool __testa = __mode & ios_base::app; + // Set __c_mode for use in fopen. + // Set __p_mode for use in open. if (!__testi && __testo && !__testt && !__testa) - strcpy(__c_mode, "w"); + { + strcpy(__c_mode, "w"); + __p_mode = (O_WRONLY | O_CREAT); + } if (!__testi && __testo && !__testt && __testa) - strcpy(__c_mode, "a"); + { + strcpy(__c_mode, "a"); + __p_mode |= O_WRONLY | O_CREAT | O_APPEND; + } if (!__testi && __testo && __testt && !__testa) - strcpy(__c_mode, "w"); + { + strcpy(__c_mode, "w"); + __p_mode |= O_WRONLY | O_CREAT | O_TRUNC; + } + if (__testi && !__testo && !__testt && !__testa) - strcpy(__c_mode, "r"); + { + strcpy(__c_mode, "r"); + __p_mode |= O_RDONLY; + } if (__testi && __testo && !__testt && !__testa) - strcpy(__c_mode, "r+"); + { + strcpy(__c_mode, "r+"); + __p_mode |= O_RDWR | O_CREAT; + } if (__testi && __testo && __testt && !__testa) - strcpy(__c_mode, "w+"); + { + strcpy(__c_mode, "w+"); + __p_mode |= O_RDWR | O_CREAT | O_TRUNC; + } if (__testb) strcat(__c_mode, "b"); } @@ -148,12 +194,12 @@ namespace std __basic_file* __retval = static_cast<__basic_file*>(NULL); if (this->is_open()) { - fflush(_M_cfile); - if ((_M_cfile_created && fclose(_M_cfile) == 0) || !_M_cfile_created) - { - _M_cfile = 0; - __retval = this; - } + if (_M_cfile_created) + fclose(_M_cfile); + else + fflush(_M_cfile); + _M_cfile = 0; + __retval = this; } return __retval; } @@ -170,18 +216,54 @@ namespace std __basic_file<char>::seekoff(streamoff __off, ios_base::seekdir __way, ios_base::openmode /*__mode*/) { - fseek(_M_cfile, __off, __way); - return ftell(_M_cfile); + if (!fseek(_M_cfile, __off, __way)) + return ftell(_M_cfile); + else + // Fseek failed. + return -1L; } streamoff __basic_file<char>::seekpos(streamoff __pos, ios_base::openmode /*__mode*/) { - fseek(_M_cfile, __pos, ios_base::beg); - return ftell(_M_cfile); + if (!fseek(_M_cfile, __pos, ios_base::beg)) + return ftell(_M_cfile); + else + // Fseek failed. + return -1L; } int __basic_file<char>::sync() { return fflush(_M_cfile); } + + streamsize + __basic_file<char>::showmanyc_helper() + { +#ifdef FIONREAD + // Pipes and sockets. + int __num = 0; + int __r = ioctl(this->fd(), FIONREAD, &__num); + if (!__r && __num >= 0) + return __num; +#endif + +#ifdef _GLIBCPP_HAVE_POLL + // Cheap test. + struct pollfd __pfd[1]; + __pfd[0].fd = this->fd(); + __pfd[0].events = POLLIN; + if (poll(__pfd, 1, 0) <= 0) + return 0; +#endif + +#if defined(_GLIBCPP_HAVE_S_ISREG) || defined(_GLIBCPP_HAVE_S_IFREG) + // Regular files. + struct stat __buffer; + int __ret = fstat(this->fd(), &__buffer); + if (!__ret && _GLIBCPP_ISREG(__buffer.st_mode)) + return __buffer.st_size - ftell(_M_cfile); +#endif + return 0; + } } // namespace std diff --git a/contrib/libstdc++/config/io/basic_file_stdio.h b/contrib/libstdc++/config/io/basic_file_stdio.h index fe6edbb..cefd38f 100644 --- a/contrib/libstdc++/config/io/basic_file_stdio.h +++ b/contrib/libstdc++/config/io/basic_file_stdio.h @@ -108,6 +108,9 @@ namespace std int sync(); + + streamsize + showmanyc_helper(); }; } // namespace std diff --git a/contrib/libstdc++/config/linker-map.gnu b/contrib/libstdc++/config/linker-map.gnu index 4cb122e..301867f 100644 --- a/contrib/libstdc++/config/linker-map.gnu +++ b/contrib/libstdc++/config/linker-map.gnu @@ -30,7 +30,12 @@ GLIBCPP_3.2 { { std::[A-Za]*; std::ba[a-r]*; - std::basic_[a-r]*; + std::basic_[a-h]*; + std::basic_ifstream*; + std::basic_istringstream*; + std::basic_istream*; + std::basic_iostream*; + std::basic_[j-r]*; std::basic_streambuf*; std::basic_stringbuf*; std::basic_stringstream*; @@ -64,17 +69,65 @@ GLIBCPP_3.2 { std::locale::_S_num_categories; std::locale::_S_normalize_category*; std::locale::_[T-Za-z]*; - std::[A-Zm-z]*; + std::[A-Zm]*; + std::n[a-t]*; + std::num_put_[cw]; + std::numeric*; + std::numpunct*; + std::num_get*; + std::num_get_[cw]; + std::n[v-z]*; + std::ostrstream*; + std::overflow_error*; + std::out_of_range*; + std::[A-Zp-z]*; std::__throw_*; - std::__basic_file*; - std::__num_base*; - std::__timepunct*; std::__numeric_limits_base*; + std::__timepunct*; std::_S_bit_count; std::_S_first_one }; # Names not in an 'extern' block are mangled names. + _ZSt7getline*; + _ZStrs*; + _ZNSo*; + _ZNKSt9basic_ios*; + _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE15_M_cache_facetsERKSt6locale; + _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE[A-Z]*; + _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE[0-9][A-Za-z]*; + _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE[0-9][0-9][A-Za-z]*; + + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC*; + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED*; + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC*; + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED*; + + _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE6do_put*; + + _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE3put*; + _ZNSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE2idE; + + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_convert_intI[lmxy]EES3_S3_RSt8ios_basecccT_; + + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_convert_intI[lmxy]EES3_S3_RSt8ios_basewccT_; + + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE16_M_convert_floatI[de]EES3_S3_RSt8ios_baseccT_; + + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE16_M_convert_floatI[de]EES3_S3_RSt8ios_basewcT_; + + _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE12_M_widen_int*; + + _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE14_M_widen_float*; + + _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE9_M_insert*; + + _ZSt9use_facetISt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEEERKT_RKSt6locale; + + # __num_base + _ZNSt10__num_base13_S_format_intERKSt8ios_basePccc; + _ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc[il]; + _ZNSt10__num_base8_S_atomsE; # std::string minus binary operator plus _ZNKSs*; @@ -104,6 +157,23 @@ GLIBCPP_3.2 { _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_; _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_; + # std::__basic_file minus showmanyc_helper + _ZNSt12__basic_fileIcED*; + _ZNSt12__basic_fileIcEC*; + _ZNSt12__basic_fileIcE8sys_open*; + _ZNSt12__basic_fileIcE8sys_getc*; + _ZNSt12__basic_fileIcE10sys_ungetc*; + _ZNSt12__basic_fileIcE7seekpos*; + _ZNSt12__basic_fileIcE7seekoff*; + _ZNSt12__basic_fileIcE6xsputn*; + _ZNSt12__basic_fileIcE6xsgetn*; + _ZNSt12__basic_fileIcE5close*; + _ZNSt12__basic_fileIcE4sync*; + _ZNSt12__basic_fileIcE4open*; + _ZNSt12__basic_fileIcE2fd*; + _ZNSt12__basic_fileIcE12_M_open_modeE*; + _ZNKSt12__basic_fileIcE7is_open*; + # std::locale destructors _ZNSt6localeD*; @@ -181,12 +251,53 @@ GLIBCPP_3.2 { _ZdaPvRKSt9nothrow_t; # vtable - _ZTV*; - _ZTT*; + _ZTVS[a-z]; + _ZTVSt[0-9][A-Za-z]*; + _ZTVSt[0-9][0-9][A-Za-z]*; + _ZTTS[a-z]; + _ZTTSt[0-9][A-Za-z]*; + _ZTTSt[0-9][0-9][A-Za-z]*; + _ZTVN9__gnu_cxx*; + _ZTVNSt6locale5facetE; + _ZTVSt11__timepunctI[cw]E; + _ZTVNSt8ios_base7failureE; + _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; + _ZTVSt21__ctype_abstract_baseI[cw]E; + + # XXX + _ZTVN10__cxxabi*; # typeinfo - _ZTI*; - _ZTS*; + _ZTI[a-z]; + _ZTIP[a-z]; + _ZTIPK[a-z]; + _ZTIS[a-z]; + _ZTISt[0-9][A-Za-z]*; + _ZTISt[0-9][0-9][A-Za-z]*; + _ZTS[a-z]; + _ZTSS[a-z]; + _ZTSP[a-z]; + _ZTSPK[a-z]; + _ZTSSt[0-9][A-Za-z]*; + _ZTSSt[0-9][0-9][A-Za-z]*; + _ZTSN9__gnu_cxx*; + _ZTIN9__gnu_cxx*; + _ZTINSt8ios_base7failureE; + _ZTSNSt8ios_base7failureE; + _ZTINSt6locale5facetE; + _ZTSNSt6locale5facetE; + _ZTISt11__timepunctI[cw]E; + _ZTSSt11__timepunctI[cw]E; + _ZTSSt10__num_base; + _ZTISt10__num_base; + _ZTSSt21__ctype_abstract_baseI[cw]E; + _ZTISt21__ctype_abstract_baseI[cw]E; + _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; + _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; + + # XXX + _ZTIN10__cxxabi*; + _ZTSN10__cxxabi*; # function-scope static objects requires a guard variable. _ZGV*; @@ -256,6 +367,34 @@ GLIBCPP_3.2.2 { } GLIBCPP_3.2.1; +GLIBCPP_3.2.3 { + + global: + + extern "C++" + { + # Needed only when generic cpu's atomicity.h is in use. + __gnu_cxx::_Atomic_add_mutex; + __gnu_cxx::_Atomic_add_mutex_once; + __gnu_cxx::__gthread_atomic_add_mutex_once; + + std::__num_base::_S_atoms_in; + std::__num_base::_S_atoms_out + }; + + _ZNKSt7num_putI[wc]St19ostreambuf_iteratorI[wc]St11char_traitsI[wc]EEE6_M_pad*; + + _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE14_M_convert_intI[yxml]EES3_S3_RSt8ios_base[cw]T_; + + _ZNKSt7num_putI[wc]St19ostreambuf_iteratorI[wc]St11char_traitsI[wc]EEE14_M_group_float*; + + _ZNKSt7num_putI[wc]St19ostreambuf_iteratorI[wc]St11char_traitsI[wc]EEE12_M_group_int*; + + # __basic_file::showmanyc_helper + _ZNSt12__basic_fileIcE16showmanyc_helperEv; + +} GLIBCPP_3.2.2; + # Symbols in the support library (libsupc++) have their own tag. CXXABI_1.2 { @@ -315,3 +454,12 @@ CXXABI_1.2 { local: *; }; + +# Symbols added after CXXABI_1.2 +CXXABI_1.2.1 { + + __cxa_guard_acquire; + __cxa_guard_release; + __cxa_guard_abort; + +} CXXABI_1.2; diff --git a/contrib/libstdc++/config/locale/generic/c_locale.cc b/contrib/libstdc++/config/locale/generic/c_locale.cc index 689bbf5..23f7912 100644 --- a/contrib/libstdc++/config/locale/generic/c_locale.cc +++ b/contrib/libstdc++/config/locale/generic/c_locale.cc @@ -228,9 +228,9 @@ namespace std + _S_extra_categories_size] = { "LC_CTYPE", - "LC_NUMERIC", + "LC_NUMERIC", + "LC_TIME", "LC_COLLATE", - "LC_TIME", "LC_MONETARY", "LC_MESSAGES" }; diff --git a/contrib/libstdc++/config/locale/generic/c_locale.h b/contrib/libstdc++/config/locale/generic/c_locale.h index 9627d86..1f2accb 100644 --- a/contrib/libstdc++/config/locale/generic/c_locale.h +++ b/contrib/libstdc++/config/locale/generic/c_locale.h @@ -1,6 +1,6 @@ // Wrapper for underlying C-language localization -*- 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 @@ -33,6 +33,11 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> +#ifndef _CPP_BITS_C_LOCALE_H +#define _CPP_BITS_C_LOCALE_H 1 + +#pragma GCC system_header + #include <clocale> #define _GLIBCPP_NUM_CATEGORIES 0 @@ -41,9 +46,15 @@ namespace std { typedef int* __c_locale; + // Convert numeric value of type _Tv to string and return length of + // string. If snprintf is available use it, otherwise fall back to + // the unsafe sprintf which, in general, can be dangerous and should + // be avoided. template<typename _Tv> int - __convert_from_v(char* __out, const int __size, const char* __fmt, + __convert_from_v(char* __out, + const int __attribute__ ((__unused__)) __size, + const char* __fmt, _Tv __v, const __c_locale&, int __prec = -1) { char* __old = setlocale(LC_ALL, NULL); @@ -69,3 +80,5 @@ namespace std return __ret; } } + +#endif diff --git a/contrib/libstdc++/config/locale/generic/codecvt_members.cc b/contrib/libstdc++/config/locale/generic/codecvt_members.cc index 814b8a2..ff65dff 100644 --- a/contrib/libstdc++/config/locale/generic/codecvt_members.cc +++ b/contrib/libstdc++/config/locale/generic/codecvt_members.cc @@ -34,7 +34,6 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" namespace std { diff --git a/contrib/libstdc++/config/locale/generic/messages_members.h b/contrib/libstdc++/config/locale/generic/messages_members.h index e8a8656..c1c8e4d 100644 --- a/contrib/libstdc++/config/locale/generic/messages_members.h +++ b/contrib/libstdc++/config/locale/generic/messages_members.h @@ -40,7 +40,7 @@ { _M_c_locale_messages = _S_c_locale; } template<typename _CharT> - messages<_CharT>::messages(__c_locale __cloc, const char*, size_t __refs) + messages<_CharT>::messages(__c_locale, const char*, size_t __refs) : locale::facet(__refs) { _M_c_locale_messages = _S_c_locale; } diff --git a/contrib/libstdc++/config/locale/gnu/c_locale.cc b/contrib/libstdc++/config/locale/gnu/c_locale.cc index 188f3a2..065e10a 100644 --- a/contrib/libstdc++/config/locale/gnu/c_locale.cc +++ b/contrib/libstdc++/config/locale/gnu/c_locale.cc @@ -1,6 +1,6 @@ // Wrapper for underlying C-language localization -*- 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 @@ -36,7 +36,7 @@ #include <locale> #include <stdexcept> #include <langinfo.h> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { @@ -191,9 +191,9 @@ namespace std + _S_extra_categories_size] = { "LC_CTYPE", - "LC_NUMERIC", - "LC_COLLATE", + "LC_NUMERIC", "LC_TIME", + "LC_COLLATE", "LC_MONETARY", "LC_MESSAGES", "LC_PAPER", diff --git a/contrib/libstdc++/config/locale/gnu/c_locale.h b/contrib/libstdc++/config/locale/gnu/c_locale.h index 130b843..37df3fa 100644 --- a/contrib/libstdc++/config/locale/gnu/c_locale.h +++ b/contrib/libstdc++/config/locale/gnu/c_locale.h @@ -1,6 +1,6 @@ // Wrapper for underlying C-language localization -*- 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 @@ -33,6 +33,11 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> +#ifndef _CPP_BITS_C_LOCALE_H +#define _CPP_BITS_C_LOCALE_H 1 + +#pragma GCC system_header + #include <clocale> #include <langinfo.h> // For codecvt #include <iconv.h> // For codecvt using iconv, iconv_t @@ -53,6 +58,10 @@ namespace std { typedef __locale_t __c_locale; + // Convert numeric value of type _Tv to string and return length of + // string. If snprintf is available use it, otherwise fall back to + // the unsafe sprintf which, in general, can be dangerous and should + // be avoided. template<typename _Tv> int __convert_from_v(char* __out, const int __size, const char* __fmt, @@ -92,3 +101,5 @@ namespace std return __ret; } } + +#endif diff --git a/contrib/libstdc++/config/locale/gnu/codecvt_members.cc b/contrib/libstdc++/config/locale/gnu/codecvt_members.cc index 3569f6b..c3d3e34 100644 --- a/contrib/libstdc++/config/locale/gnu/codecvt_members.cc +++ b/contrib/libstdc++/config/locale/gnu/codecvt_members.cc @@ -1,6 +1,6 @@ // std::codecvt implementation details, GNU version -*- C++ -*- -// Copyright (C) 2002 Free Software Foundation, Inc. +// Copyright (C) 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 @@ -34,7 +34,7 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { diff --git a/contrib/libstdc++/config/locale/gnu/collate_members.cc b/contrib/libstdc++/config/locale/gnu/collate_members.cc index 97ff0c5..1ac2094 100644 --- a/contrib/libstdc++/config/locale/gnu/collate_members.cc +++ b/contrib/libstdc++/config/locale/gnu/collate_members.cc @@ -34,7 +34,7 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { diff --git a/contrib/libstdc++/config/locale/gnu/ctype_members.cc b/contrib/libstdc++/config/locale/gnu/ctype_members.cc index 3b78c60..e0be949 100644 --- a/contrib/libstdc++/config/locale/gnu/ctype_members.cc +++ b/contrib/libstdc++/config/locale/gnu/ctype_members.cc @@ -34,7 +34,7 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { diff --git a/contrib/libstdc++/config/locale/gnu/messages_members.cc b/contrib/libstdc++/config/locale/gnu/messages_members.cc index 54a3c8f..fad01df 100644 --- a/contrib/libstdc++/config/locale/gnu/messages_members.cc +++ b/contrib/libstdc++/config/locale/gnu/messages_members.cc @@ -34,7 +34,7 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { diff --git a/contrib/libstdc++/config/locale/gnu/monetary_members.cc b/contrib/libstdc++/config/locale/gnu/monetary_members.cc index 0386ab6..b3ef13b 100644 --- a/contrib/libstdc++/config/locale/gnu/monetary_members.cc +++ b/contrib/libstdc++/config/locale/gnu/monetary_members.cc @@ -34,7 +34,7 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { @@ -317,7 +317,11 @@ namespace std template<> void moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc, +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + const char*) +#else const char* __name) +#endif { if (!__cloc) { @@ -413,8 +417,12 @@ namespace std template<> void - moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc, + moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc, +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + const char*) +#else const char* __name) +#endif { if (!__cloc) { diff --git a/contrib/libstdc++/config/locale/gnu/numeric_members.cc b/contrib/libstdc++/config/locale/gnu/numeric_members.cc index a502bfb..1aa0529 100644 --- a/contrib/libstdc++/config/locale/gnu/numeric_members.cc +++ b/contrib/libstdc++/config/locale/gnu/numeric_members.cc @@ -34,7 +34,7 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { diff --git a/contrib/libstdc++/config/locale/gnu/time_members.cc b/contrib/libstdc++/config/locale/gnu/time_members.cc index 7df10b8..db590ef 100644 --- a/contrib/libstdc++/config/locale/gnu/time_members.cc +++ b/contrib/libstdc++/config/locale/gnu/time_members.cc @@ -35,7 +35,7 @@ // Written by Benjamin Kosnik <bkoz@redhat.com> #include <locale> -#include "c++locale_internal.h" +#include <bits/c++locale_internal.h> namespace std { diff --git a/contrib/libstdc++/config/locale/gnu/time_members.h b/contrib/libstdc++/config/locale/gnu/time_members.h index 46342e8..2ea2410 100644 --- a/contrib/libstdc++/config/locale/gnu/time_members.h +++ b/contrib/libstdc++/config/locale/gnu/time_members.h @@ -46,7 +46,8 @@ template<typename _CharT> __timepunct<_CharT>::__timepunct(__c_locale __cloc, - const char* __s, size_t __refs) + const char* __s, + size_t __refs) : locale::facet(__refs) { #if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)) diff --git a/contrib/libstdc++/config/locale/ieee_1003.1-2001/codecvt_specializations.h b/contrib/libstdc++/config/locale/ieee_1003.1-2001/codecvt_specializations.h index a7d56ae..0cbfb2a 100644 --- a/contrib/libstdc++/config/locale/ieee_1003.1-2001/codecvt_specializations.h +++ b/contrib/libstdc++/config/locale/ieee_1003.1-2001/codecvt_specializations.h @@ -260,7 +260,7 @@ extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { - result __ret = error; + result __ret = codecvt_base::error; if (__state._M_good()) { typedef state_type::__desc_type __desc_type; @@ -304,7 +304,7 @@ { __from_next = reinterpret_cast<const intern_type*>(__cfrom); __to_next = reinterpret_cast<extern_type*>(__cto); - __ret = ok; + __ret = codecvt_base::ok; } else { @@ -312,10 +312,10 @@ { __from_next = reinterpret_cast<const intern_type*>(__cfrom); __to_next = reinterpret_cast<extern_type*>(__cto); - __ret = partial; + __ret = codecvt_base::partial; } else - __ret = error; + __ret = codecvt_base::error; } } return __ret; @@ -327,7 +327,7 @@ do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { - result __ret = error; + result __ret = codecvt_base::error; if (__state._M_good()) { typedef state_type::__desc_type __desc_type; @@ -345,14 +345,14 @@ { __to_next = reinterpret_cast<extern_type*>(__cto); if (__tlen == __tmultiple * (__to_end - __to)) - __ret = noconv; + __ret = codecvt_base::noconv; else if (__tlen == 0) - __ret = ok; + __ret = codecvt_base::ok; else - __ret = partial; + __ret = codecvt_base::partial; } else - __ret = error; + __ret = codecvt_base::error; } return __ret; } @@ -365,7 +365,7 @@ intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const { - result __ret = error; + result __ret = codecvt_base::error; if (__state._M_good()) { typedef state_type::__desc_type __desc_type; @@ -410,7 +410,7 @@ { __from_next = reinterpret_cast<const extern_type*>(__cfrom); __to_next = reinterpret_cast<intern_type*>(__cto); - __ret = ok; + __ret = codecvt_base::ok; } else { @@ -418,10 +418,10 @@ { __from_next = reinterpret_cast<const extern_type*>(__cfrom); __to_next = reinterpret_cast<intern_type*>(__cto); - __ret = partial; + __ret = codecvt_base::partial; } else - __ret = error; + __ret = codecvt_base::error; } } return __ret; diff --git a/contrib/libstdc++/config/os/aix/atomicity.h b/contrib/libstdc++/config/os/aix/atomicity.h new file mode 100644 index 0000000..af4fa5a --- /dev/null +++ b/contrib/libstdc++/config/os/aix/atomicity.h @@ -0,0 +1,59 @@ +// Low-level functions for atomic operations: AIX version -*- C++ -*- + +// Copyright (C) 2000, 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +/* We cannot use the cpu/powerpc/bits/atomicity.h inline assembly + definitions for these operations since they depend on operations + that are not available on the original POWER architecture. AIX + still runs on the POWER architecture, so it would be incorrect to + assume the existence of these instructions. */ + +/* This should match the type pointed to by atomic_p in + <sys/atomic_op.h>. */ +typedef int _Atomic_word; + +#include <sys/atomic_op.h> + +static inline int +__attribute__ ((__unused__)) +__exchange_and_add (atomic_p __mem, int __val) +{ + return fetch_and_add (__mem, __val); +} + +static inline void +__attribute__ ((__unused__)) +__atomic_add (atomic_p __mem, int __val) +{ + (void) fetch_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/os/aix/ctype_base.h b/contrib/libstdc++/config/os/aix/ctype_base.h new file mode 100644 index 0000000..ed41440 --- /dev/null +++ b/contrib/libstdc++/config/os/aix/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 1999 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 unsigned int 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 = _ISGRAPH; + static const mask cntrl = _ISCNTRL; + static const mask punct = _ISPUNCT; + static const mask alnum = _ISALNUM; + }; diff --git a/contrib/libstdc++/config/os/aix/ctype_inline.h b/contrib/libstdc++/config/os/aix/ctype_inline.h new file mode 100644 index 0000000..d9df620 --- /dev/null +++ b/contrib/libstdc++/config/os/aix/ctype_inline.h @@ -0,0 +1,76 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + bool + ctype<char>:: + is(mask __m, char __c) const + { return __OBJ_DATA(__lc_ctype)->mask[__c] & __m; } + + const char* + ctype<char>:: + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) + *__vec++ = __OBJ_DATA(__lc_ctype)->mask[*__low++]; + return __high; + } + + const char* + ctype<char>:: + scan_is(mask __m, const char* __low, const char* __high) const + { + 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 + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } + + + + + + + + + diff --git a/contrib/libstdc++/config/os/aix/ctype_noninline.h b/contrib/libstdc++/config/os/aix/ctype_noninline.h new file mode 100644 index 0000000..7cf919a --- /dev/null +++ b/contrib/libstdc++/config/os/aix/ctype_noninline.h @@ -0,0 +1,82 @@ +// 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, 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.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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + 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/aix/os_defines.h b/contrib/libstdc++/config/os/aix/os_defines.h new file mode 100644 index 0000000..6e4dbda --- /dev/null +++ b/contrib/libstdc++/config/os/aix/os_defines.h @@ -0,0 +1,58 @@ +// Specific definitions for AIX -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_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 +#endif + +// atomic types +#ifndef _ALL_SOURCE +#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/freebsd/ctype_base.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h new file mode 100644 index 0000000..98b6265 --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h @@ -0,0 +1,76 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000 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.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 + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 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_G; + 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 = _G; + static const mask cntrl = _C; + static const mask punct = _P; + static const mask alnum = _A | _D; +#endif + }; + + + diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h new file mode 100644 index 0000000..d69324a --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h @@ -0,0 +1,106 @@ +// 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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; + } diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h new file mode 100644 index 0000000..0e108fd --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h @@ -0,0 +1,81 @@ +// 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, 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.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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + 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/freebsd/os_defines.h b/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h new file mode 100644 index 0000000..55040a7 --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h @@ -0,0 +1,44 @@ +// Specific definitions for BSD -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +#define _GLIBCPP_USE_C99_CHECK 1 +#define _GLIBCPP_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999)) +#define _GLIBCPP_USE_C99_LONG_LONG_CHECK 1 +#define _GLIBCPP_USE_C99_LONG_LONG_DYNAMIC (_GLIBCPP_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED) +#define _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK 1 +#define _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC defined _XOPEN_SOURCE + +#endif diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h new file mode 100644 index 0000000..ceea8ac --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h @@ -0,0 +1,58 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h on NetBSD. +// Full details can be found from the CVS files at: +// anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h +// See www.netbsd.org for details of access. + + struct ctype_base + { + // Non-standard typedefs. + typedef const unsigned char* __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 unsigned char mask; + static const mask upper = _U; + static const mask lower = _L; + static const mask alpha = _U | _L; + static const mask digit = _N; + static const mask xdigit = _N | _X; + static const mask space = _S; + static const mask print = _P | _U | _L | _N | _B; + static const mask graph = _P | _U | _L | _N; + static const mask cntrl = _C; + static const mask punct = _P; + static const mask alnum = _U | _L | _N; + }; diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h new file mode 100644 index 0000000..f6dfc4d --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h @@ -0,0 +1,73 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + bool + ctype<char>:: + is(mask __m, char __c) const + { return _M_table[(unsigned char)(__c)] & __m; } + + const char* + ctype<char>:: + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) + *__vec++ = _M_table[*__low++]; + return __high; + } + + const char* + ctype<char>:: + scan_is(mask __m, const char* __low, const char* __high) const + { + 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 + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } + + + + + + diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h new file mode 100644 index 0000000..80138cb --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h @@ -0,0 +1,79 @@ +// 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, 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.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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : _ctype_ + 1) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : _ctype_ + 1) + { } + + 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/netbsd/os_defines.h b/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h new file mode 100644 index 0000000..03f760f --- /dev/null +++ b/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h @@ -0,0 +1,38 @@ +// Specific definitions for NetBSD -*- C++ -*- + +// Copyright (C) 2000 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +#define __ssize_t ssize_t + +#endif diff --git a/contrib/libstdc++/config/os/djgpp/ctype_base.h b/contrib/libstdc++/config/os/djgpp/ctype_base.h new file mode 100644 index 0000000..018e20e --- /dev/null +++ b/contrib/libstdc++/config/os/djgpp/ctype_base.h @@ -0,0 +1,57 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2001 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.1 Locales +// + + struct ctype_base + { + typedef unsigned short mask; + + // Non-standard typedefs. + typedef unsigned char * __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. + static const mask space = __dj_ISSPACE; // Whitespace + static const mask print = __dj_ISPRINT; // Printing + static const mask cntrl = __dj_ISCNTRL; // Control character + static const mask upper = __dj_ISUPPER; // UPPERCASE + static const mask lower = __dj_ISLOWER; // lowercase + static const mask alpha = __dj_ISALPHA; // Alphabetic + static const mask digit = __dj_ISDIGIT; // Numeric + static const mask punct = __dj_ISPUNCT; // Punctuation + static const mask xdigit = __dj_ISXDIGIT; // Hexadecimal numeric + static const mask alnum = __dj_ISALPHA; // Alphanumeric + static const mask graph = __dj_ISGRAPH; // Graphical + }; + + + diff --git a/contrib/libstdc++/config/os/djgpp/ctype_inline.h b/contrib/libstdc++/config/os/djgpp/ctype_inline.h new file mode 100644 index 0000000..21958c4 --- /dev/null +++ b/contrib/libstdc++/config/os/djgpp/ctype_inline.h @@ -0,0 +1,67 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2001 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + bool + ctype<char>:: + is(mask __m, char __c) const + { return _M_table[static_cast<unsigned char>(__c + 1)] & __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 && !this->is(__m, *__low)) + ++__low; + return __low; + } + + const char* + ctype<char>:: + scan_not(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/djgpp/ctype_noninline.h b/contrib/libstdc++/config/os/djgpp/ctype_noninline.h new file mode 100644 index 0000000..0ec0f84 --- /dev/null +++ b/contrib/libstdc++/config/os/djgpp/ctype_noninline.h @@ -0,0 +1,81 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.1 Locales +// + +// Information as gleaned from DJGPP <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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower), + _M_table(__table ? __table : __dj_ctype_flags) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower), + _M_table(__table ? __table : __dj_ctype_flags) + { } + + char + ctype<char>::do_toupper(char __c) const + { return _M_toupper[static_cast<int>(__c)+1]; } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = ::toupper(static_cast<int> (*__low)); + ++__low; + } + return __high; + } + + char + ctype<char>::do_tolower(char __c) const + { return _M_tolower[static_cast<int>(__c)+1]; } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = ::tolower(static_cast<int> (*__low)); + ++__low; + } + return __high; + } diff --git a/contrib/libstdc++/config/os/djgpp/os_defines.h b/contrib/libstdc++/config/os/djgpp/os_defines.h new file mode 100644 index 0000000..ce0bf24 --- /dev/null +++ b/contrib/libstdc++/config/os/djgpp/os_defines.h @@ -0,0 +1,45 @@ +// Specific definitions for DJGPP -*- C++ -*- + +// Copyright (C) 2001 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. + + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_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 + +// 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 new file mode 100644 index 0000000..564093d --- /dev/null +++ b/contrib/libstdc++/config/os/generic/ctype_base.h @@ -0,0 +1,58 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999 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.1 Locales +// + +// Default information, may not be appropriate for specific host. + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 unsigned int mask; + static const mask upper = 1 << 0; + static const mask lower = 1 << 1; + static const mask alpha = 1 << 2; + static const mask digit = 1 << 3; + static const mask xdigit = 1 << 4; + static const mask space = 1 << 5; + static const mask print = 1 << 6; + static const mask graph = 1 << 7; + static const mask cntrl = 1 << 8; + static const mask punct = 1 << 9; + static const mask alnum = 1 << 10; + }; + + + diff --git a/contrib/libstdc++/config/os/generic/ctype_inline.h b/contrib/libstdc++/config/os/generic/ctype_inline.h new file mode 100644 index 0000000..be43c47 --- /dev/null +++ b/contrib/libstdc++/config/os/generic/ctype_inline.h @@ -0,0 +1,161 @@ +// 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + +// The following definitions are portable, but insanely slow. If one +// cares at all about performance, then specialized ctype +// functionality should be added for the native os in question: see +// the config/os/bits/ctype_*.h files. + +// Constructing a synthetic "C" table should be seriously considered... + + bool + ctype<char>:: + is(mask __m, char __c) const + { + if (_M_table) + return _M_table[static_cast<unsigned char>(__c)] & __m; + else + { + bool __ret = true; + const int __bitmasksize = 11; + int __bitcur = 0; // Lowest bitmask in ctype_base == 0 + for (;__ret && __bitcur < __bitmasksize; ++__bitcur) + { + mask __bit = static_cast<mask>(1 << __bitcur); + if (__m & __bit) + { + bool __testis; + switch (__bit) + { + case space: + __testis = isspace(__c); + break; + case print: + __testis = isprint(__c); + break; + case cntrl: + __testis = iscntrl(__c); + break; + case upper: + __testis = isupper(__c); + break; + case lower: + __testis = islower(__c); + break; + case alpha: + __testis = isalpha(__c); + break; + case digit: + __testis = isdigit(__c); + break; + case punct: + __testis = ispunct(__c); + break; + case xdigit: + __testis = isxdigit(__c); + break; + case alnum: + __testis = isalnum(__c); + break; + case graph: + __testis = isgraph(__c); + break; + default: + __testis = false; + break; + } + __ret &= __testis; + } + } + return __ret; + } + } + + 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 + { + // Highest bitmask in ctype_base == 10. + const int __bitmasksize = 11; + for (;__low < __high; ++__vec, ++__low) + { + mask __m = 0; + // Lowest bitmask in ctype_base == 0 + int __i = 0; + for (;__i < __bitmasksize; ++__i) + { + mask __bit = static_cast<mask>(1 << __i); + if (this->is(__bit, *__low)) + __m |= __bit; + } + *__vec = __m; + } + } + 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; + } diff --git a/contrib/libstdc++/config/os/generic/ctype_noninline.h b/contrib/libstdc++/config/os/generic/ctype_noninline.h new file mode 100644 index 0000000..d07dc8b --- /dev/null +++ b/contrib/libstdc++/config/os/generic/ctype_noninline.h @@ -0,0 +1,82 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 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, 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.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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + 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/generic/os_defines.h b/contrib/libstdc++/config/os/generic/os_defines.h new file mode 100644 index 0000000..143c07e --- /dev/null +++ b/contrib/libstdc++/config/os/generic/os_defines.h @@ -0,0 +1,37 @@ +// Specific definitions for generic platforms -*- C++ -*- + +// Copyright (C) 2000 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. + + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +#endif diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_base.h b/contrib/libstdc++/config/os/gnu-linux/ctype_base.h new file mode 100644 index 0000000..a431f97 --- /dev/null +++ b/contrib/libstdc++/config/os/gnu-linux/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 unsigned short 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 = _ISgraph; + static const mask cntrl = _IScntrl; + static const mask punct = _ISpunct; + static const mask alnum = _ISalnum; + }; diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h b/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h new file mode 100644 index 0000000..af409c8 --- /dev/null +++ b/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h @@ -0,0 +1,69 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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; + } diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h b/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h new file mode 100644 index 0000000..8f06d13 --- /dev/null +++ b/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h @@ -0,0 +1,152 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + +#if _GLIBCPP_C_LOCALE_GNU + const ctype_base::mask* + ctype<char>::classic_table() throw() + { + locale::classic(); + return _S_c_locale->__ctype_b; + } +#else + const ctype_base::mask* + ctype<char>::classic_table() throw() + { + const ctype_base::mask* __ret; + char* __old = strdup(setlocale(LC_CTYPE, NULL)); + setlocale(LC_CTYPE, "C"); +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + __ret = *__ctype_b_loc(); +#else + __ret = __ctype_b; +#endif + setlocale(LC_CTYPE, __old); + free(__old); + return __ret; + } +#endif + +#if _GLIBCPP_C_LOCALE_GNU + ctype<char>::ctype(__c_locale __cloc, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del) + { + _M_c_locale_ctype = _S_clone_c_locale(__cloc); + _M_toupper = _M_c_locale_ctype->__ctype_toupper; + _M_tolower = _M_c_locale_ctype->__ctype_tolower; + _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b; + } +#else + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del) + { + char* __old=strdup(setlocale(LC_CTYPE, NULL)); + setlocale(LC_CTYPE, "C"); +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + _M_toupper = *__ctype_toupper_loc(); + _M_tolower = *__ctype_tolower_loc(); + _M_table = __table ? __table : *__ctype_b_loc(); +#else + _M_toupper = __ctype_toupper; + _M_tolower = __ctype_tolower; + _M_table = __table ? __table : __ctype_b; +#endif + setlocale(LC_CTYPE, __old); + free(__old); + _M_c_locale_ctype = _S_c_locale; + } +#endif + +#if _GLIBCPP_C_LOCALE_GNU + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) : + __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del) + { + _M_c_locale_ctype = _S_c_locale; + _M_toupper = _M_c_locale_ctype->__ctype_toupper; + _M_tolower = _M_c_locale_ctype->__ctype_tolower; + _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b; + } +#else + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) : + __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del) + { + char* __old=strdup(setlocale(LC_CTYPE, NULL)); + setlocale(LC_CTYPE, "C"); +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) + _M_toupper = *__ctype_toupper_loc(); + _M_tolower = *__ctype_tolower_loc(); + _M_table = __table ? __table : *__ctype_b_loc(); +#else + _M_toupper = __ctype_toupper; + _M_tolower = __ctype_tolower; + _M_table = __table ? __table : __ctype_b; +#endif + setlocale(LC_CTYPE, __old); + free(__old); + _M_c_locale_ctype = _S_c_locale; + } +#endif + + 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/gnu-linux/os_defines.h b/contrib/libstdc++/config/os/gnu-linux/os_defines.h new file mode 100644 index 0000000..21ea296 --- /dev/null +++ b/contrib/libstdc++/config/os/gnu-linux/os_defines.h @@ -0,0 +1,68 @@ +// Specific definitions for GNU/Linux -*- 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_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> + +#if !defined (__GLIBC__) || (__GLIBC__ == 2 && __GLIBC_MINOR__+ 0 == 0) + +// The types __off_t and __off64_t are not defined through <sys/types.h> +// as _G_config assumes. For libc5 and glibc 2.0 instead use +// <gnu/types.h> and the old name for __off64_t. +#include <gnu/types.h> +typedef __loff_t __off64_t; + +// These systems have declarations mismatching those in libio.h by +// omitting throw qualifiers. Cleanest way out is to not provide +// throw-qualifiers at all. Defining it as empty here will make libio.h +// not define it. +#undef __THROW +#define __THROW + +// Tell Glibc not to try to provide its own inline versions of +// some math functions. Those cause assembly-time clashes with +// our definitions. +#define __NO_MATH_INLINES + +#endif + +#if defined __GLIBC__ && __GLIBC__ >= 2 +// We must not see the optimized string functions GNU libc defines. +#define __NO_STRING_INLINES +#endif + +#endif diff --git a/contrib/libstdc++/config/os/hpux/ctype_base.h b/contrib/libstdc++/config/os/hpux/ctype_base.h new file mode 100644 index 0000000..f2f6ad0 --- /dev/null +++ b/contrib/libstdc++/config/os/hpux/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000 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.1 Locales +// + +// Default information, may not be appropriate for specific host. + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 unsigned int 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 = _ISGRAPH; + static const mask cntrl = _ISCNTRL; + static const mask punct = _ISPUNCT; + static const mask alnum = _ISALNUM; + }; diff --git a/contrib/libstdc++/config/os/hpux/ctype_inline.h b/contrib/libstdc++/config/os/hpux/ctype_inline.h new file mode 100644 index 0000000..af409c8 --- /dev/null +++ b/contrib/libstdc++/config/os/hpux/ctype_inline.h @@ -0,0 +1,69 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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; + } diff --git a/contrib/libstdc++/config/os/hpux/ctype_noninline.h b/contrib/libstdc++/config/os/hpux/ctype_noninline.h new file mode 100644 index 0000000..a85bc9c --- /dev/null +++ b/contrib/libstdc++/config/os/hpux/ctype_noninline.h @@ -0,0 +1,82 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { return __SB_masks; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : (const mask *) __SB_masks) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : (const mask *) __SB_masks) + { } + + 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/hpux/os_defines.h b/contrib/libstdc++/config/os/hpux/os_defines.h new file mode 100644 index 0000000..27951c1 --- /dev/null +++ b/contrib/libstdc++/config/os/hpux/os_defines.h @@ -0,0 +1,104 @@ +// Specific definitions for HPUX -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_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 + +/* HP-UX, for reasons unknown choose to use a different name for + the string to [unsigned] long long conversion routines. + + Furthermore, instead of having the prototypes in stdlib.h like + everyone else, they put them into a non-standard header + <inttypes.h>. Ugh. + + <inttypes.h> defines a variety of things, some of which we + probably do not want. So we don't want to include it here. + + Luckily we can just declare strtoll and strtoull with the + __asm extension which effectively renames calls at the + source level without namespace pollution. + + Also note that the compiler defines _INCLUDE_LONGLONG for C++ + unconditionally, which makes intmax_t and uintmax_t long long + types. + + We also force _GLIBCPP_USE_LONG_LONG here so that we don't have + to bastardize configure to deal with this sillyness. */ +namespace std +{ +#ifndef __LP64__ + __extension__ extern "C" long long strtoll (const char *, char **, int) + __asm ("__strtoll"); + __extension__ extern "C" unsigned long long strtoull (const char *, char **, int) + __asm ("__strtoull"); +#else + __extension__ extern "C" long long strtoll (const char *, char **, int) + __asm ("strtol"); + __extension__ extern "C" unsigned long long strtoull (const char *, char **, int) + __asm ("strtoul"); +#endif +} + +#define _GLIBCPP_USE_LONG_LONG 1 + +// HPUX on IA64 requires vtable to be 64 bit aligned even at 32 bit +// mode. We need to pad the vtable structure to achieve this. +#if !defined(_LP64) && defined (__ia64__) +#define _GLIBCPP_VTABLE_PADDING 8 +typedef long int __padding_type; +#endif + +// GCC on IA64 HP-UX uses the HP-UX system unwind library, +// it does not have the _Unwind_Resume_or_Rethrow entry point +// because that is not part of the standard IA64 Unwind ABI. +#if defined (__ia64__) +#define _LIBUNWIND_STD_ABI 1 +#endif + +/* We need explicit instantiation of the atomicity lock on HPPA if + there is no weak support. */ +#if !defined(_GLIBCPP_SUPPORTS_WEAK) && defined (__hppa__) +#define _GLIBCPP_INST_ATOMICITY_LOCK 1 +#endif + +/* Don't use pragma weak in gthread headers. */ +#ifdef __hppa__ +#define _GLIBCPP_GTHREAD_USE_WEAK 0 +#endif +#endif diff --git a/contrib/libstdc++/config/os/irix/irix5.2/atomicity.h b/contrib/libstdc++/config/os/irix/irix5.2/atomicity.h new file mode 100644 index 0000000..bac483e --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix5.2/atomicity.h @@ -0,0 +1,50 @@ +// Low-level functions for atomic operations: IRIX version -*- C++ -*- + +// Copyright (C) 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +#include <mutex.h> + +typedef long _Atomic_word; + +static inline _Atomic_word +__exchange_and_add (_Atomic_word* __mem, int __val) +{ + return (_Atomic_word) test_then_add ((unsigned long*) __mem, __val); +} + + +static inline void +__atomic_add (_Atomic_word* __mem, int __val) +{ + __exchange_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h new file mode 100644 index 0000000..2626cd3 --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997-1999, 2001 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h on irix 5.2 + + struct ctype_base + { + // Non-standard typedefs. + typedef unsigned int* __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 unsigned char mask; + static const mask upper = _U; + static const mask lower = _L; + static const mask alpha = _U | _L; + static const mask digit = _N; + static const mask xdigit = _X; + static const mask space = _S; + static const mask print = _U | _L | _N | _P | _B; + static const mask graph = _U | _L | _N | _P; + static const mask cntrl = _C; + static const mask punct = _P; + static const mask alnum = _U | _L | _N; + }; diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h new file mode 100644 index 0000000..89cf11b --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h @@ -0,0 +1,67 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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 && ! this->is(__m, *__low)) + ++__low; + return __low; + } + + const char* + ctype<char>:: + scan_not(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && this->is(__m, *__low)) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h new file mode 100644 index 0000000..3cb29b6 --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h @@ -0,0 +1,83 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { return __ctype + 1; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(!__table ? classic_table() : __table) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(!__table ? classic_table() : __table) + { } + + char + ctype<char>::do_toupper(char __c) const + { return _toupper(__c); } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = do_toupper(*__low); + ++__low; + } + return __high; + } + + char + ctype<char>::do_tolower(char __c) const + { return _tolower(__c); } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = do_tolower(*__low); + ++__low; + } + return __high; + } + diff --git a/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h b/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h new file mode 100644 index 0000000..1d7f968 --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h @@ -0,0 +1,55 @@ +// Specific definitions for IRIX -*- C++ -*- + +// Copyright (C) 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +// We need large file support. There are two ways to turn it on: by +// defining either _LARGEFILE64_SOURCE or _SGI_SOURCE. However, it +// does not actually work to define only the former, as then +// <sys/stat.h> is invalid: `st_blocks' is defined to be a macro, but +// then used as a field name. So, we have to turn on _SGI_SOURCE. +// That only works if _POSIX_SOURCE is turned off, so we have to +// explicitly turn it off. (Some of the libio C files explicitly try +// to turn it on.) _SGI_SOURCE is actually turned on implicitly via +// 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 + +#endif + diff --git a/contrib/libstdc++/config/os/irix/irix6.5/atomicity.h b/contrib/libstdc++/config/os/irix/irix6.5/atomicity.h new file mode 100644 index 0000000..c7f5c83 --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix6.5/atomicity.h @@ -0,0 +1,50 @@ +// Low-level functions for atomic operations: IRIX version -*- C++ -*- + +// Copyright (C) 2000, 2001 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. + +#ifndef _BITS_ATOMICITY_H +#define _BITS_ATOMICITY_H 1 + +#include <mutex.h> + +typedef long _Atomic_word; + +static inline _Atomic_word +__exchange_and_add (_Atomic_word* __mem, int __val) +{ + return (_Atomic_word) test_then_add ((unsigned long*) __mem, __val); +} + + +static inline void +__atomic_add (_Atomic_word* __mem, int __val) +{ + __exchange_and_add (__mem, __val); +} + +#endif /* atomicity.h */ diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h new file mode 100644 index 0000000..08557d1 --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997-1999 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h on irix 6.5 + + struct ctype_base + { + // Non-standard typedefs. + typedef int* __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 unsigned int 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 = _ISgraph; + static const mask cntrl = _IScntrl; + static const mask punct = _ISpunct; + static const mask alnum = _ISalnum; + }; diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h new file mode 100644 index 0000000..8c10c4d --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h @@ -0,0 +1,67 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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 && ! this->is(__m, *__low)) + ++__low; + return __low; + } + + const char* + ctype<char>:: + scan_not(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && this->is(__m, *__low)) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h new file mode 100644 index 0000000..009e611 --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h @@ -0,0 +1,84 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 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, 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.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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(!__table ? + (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(!__table ? + (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table) + { } + + char + ctype<char>::do_toupper(char __c) const + { return _toupper(__c); } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = do_toupper(*__low); + ++__low; + } + return __high; + } + + char + ctype<char>::do_tolower(char __c) const + { return _tolower(__c); } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = do_tolower(*__low); + ++__low; + } + return __high; + } + diff --git a/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h b/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h new file mode 100644 index 0000000..838b747 --- /dev/null +++ b/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h @@ -0,0 +1,55 @@ +// Specific definitions for IRIX -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +// We need large file support. There are two ways to turn it on: by +// defining either _LARGEFILE64_SOURCE or _SGI_SOURCE. However, it +// does not actually work to define only the former, as then +// <sys/stat.h> is invalid: `st_blocks' is defined to be a macro, but +// then used as a field name. So, we have to turn on _SGI_SOURCE. +// That only works if _POSIX_SOURCE is turned off, so we have to +// explicitly turn it off. (Some of the libio C files explicitly try +// to turn it on.) _SGI_SOURCE is actually turned on implicitly via +// 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 + +#endif + diff --git a/contrib/libstdc++/config/os/mingw32/ctype_base.h b/contrib/libstdc++/config/os/mingw32/ctype_base.h new file mode 100644 index 0000000..c077594 --- /dev/null +++ b/contrib/libstdc++/config/os/mingw32/ctype_base.h @@ -0,0 +1,58 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999 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.1 Locales +// + +// Information, as gleaned from /mingw32/include/ctype.h. + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 unsigned short mask; + static const mask upper = _UPPER; + static const mask lower = _LOWER; + static const mask alpha = _ALPHA; + static const mask digit = _DIGIT; + static const mask xdigit = _HEX; + static const mask space = _SPACE; + static const mask print = (_BLANK | _PUNCT| _ALPHA | _DIGIT); + static const mask graph = (_PUNCT | _ALPHA | _DIGIT); + static const mask cntrl = _CONTROL; + static const mask punct = _PUNCT; + static const mask alnum = (_ALPHA | _DIGIT); + }; + + + diff --git a/contrib/libstdc++/config/os/mingw32/ctype_inline.h b/contrib/libstdc++/config/os/mingw32/ctype_inline.h new file mode 100644 index 0000000..979d607 --- /dev/null +++ b/contrib/libstdc++/config/os/mingw32/ctype_inline.h @@ -0,0 +1,71 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + + 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 && !this->is(__m, *__low)) + ++__low; + return __low; + } + + const char* + ctype<char>:: + scan_not(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/mingw32/ctype_noninline.h b/contrib/libstdc++/config/os/mingw32/ctype_noninline.h new file mode 100644 index 0000000..998547c --- /dev/null +++ b/contrib/libstdc++/config/os/mingw32/ctype_noninline.h @@ -0,0 +1,89 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 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, 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.1 Locales +// + +// Information as gleaned from /mingw32/include/ctype.h. + + // This should be in mingw's ctype.h but isn't in older versions + // Static classic C-locale table. _ctype[0] is EOF + extern "C" unsigned short __declspec(dllimport) _ctype[]; + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { return _ctype + 1; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + char + ctype<char>::do_toupper(char __c) const + { return (this->is(ctype_base::lower, __c) ? (__c - 'a' + 'A') : __c); } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_toupper(*__low); + ++__low; + } + return __high; + } + + char + ctype<char>::do_tolower(char __c) const + { return (this->is(ctype_base::upper, __c) ? (__c - 'A' + 'a') : __c); } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_tolower(*__low); + ++__low; + } + return __high; + } + + + + diff --git a/contrib/libstdc++/config/os/mingw32/os_defines.h b/contrib/libstdc++/config/os/mingw32/os_defines.h new file mode 100644 index 0000000..5c99e09 --- /dev/null +++ b/contrib/libstdc++/config/os/mingw32/os_defines.h @@ -0,0 +1,37 @@ +// Specific definitions for generic platforms -*- C++ -*- + +// Copyright (C) 2000 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. + + +#ifndef _GLIBCPP_OS_DEFINES +# define _GLIBCPP_OS_DEFINES + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +#endif diff --git a/contrib/libstdc++/config/os/newlib/ctype_base.h b/contrib/libstdc++/config/os/newlib/ctype_base.h new file mode 100644 index 0000000..973d410 --- /dev/null +++ b/contrib/libstdc++/config/os/newlib/ctype_base.h @@ -0,0 +1,57 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1 + +// Support for Solaris 2.5.1 + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 char mask; + static const mask upper = _U; + static const mask lower = _L; + static const mask alpha = _U | _L; + static const mask digit = _N; + static const mask xdigit = _X | _N; + static const mask space = _S; + static const mask print = _P | _U | _L | _N | _B; + static const mask graph = _P | _U | _L | _N; + static const mask cntrl = _C; + static const mask punct = _P; + static const mask alnum = _U | _L | _N; + }; diff --git a/contrib/libstdc++/config/os/newlib/ctype_inline.h b/contrib/libstdc++/config/os/newlib/ctype_inline.h new file mode 100644 index 0000000..8381ace --- /dev/null +++ b/contrib/libstdc++/config/os/newlib/ctype_inline.h @@ -0,0 +1,67 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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 && !this->is(__m, *__low)) + ++__low; + return __low; + } + + const char* + ctype<char>:: + scan_not(mask __m, const char* __low, const char* __high) const + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/newlib/ctype_noninline.h b/contrib/libstdc++/config/os/newlib/ctype_noninline.h new file mode 100644 index 0000000..b511c4a --- /dev/null +++ b/contrib/libstdc++/config/os/newlib/ctype_noninline.h @@ -0,0 +1,88 @@ +// 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { return _ctype_ + 1; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + char + ctype<char>::do_toupper(char __c) const + { + int __x = __c; + return (this->is(ctype_base::lower, __c) ? (__x - 'a' + 'A') : __x); + } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_toupper(*__low); + ++__low; + } + return __high; + } + + char + ctype<char>::do_tolower(char __c) const + { + int __x = __c; + return (this->is(ctype_base::upper, __c) ? (__x - 'A' + 'a') : __x); + } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_tolower(*__low); + ++__low; + } + return __high; + } + diff --git a/contrib/libstdc++/config/os/newlib/os_defines.h b/contrib/libstdc++/config/os/newlib/os_defines.h new file mode 100644 index 0000000..1277661 --- /dev/null +++ b/contrib/libstdc++/config/os/newlib/os_defines.h @@ -0,0 +1,36 @@ +// Specific definitions for newlib -*- C++ -*- + +// Copyright (C) 2000 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +#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 new file mode 100644 index 0000000..3d4800b --- /dev/null +++ b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h. + + struct ctype_base + { + // Non-standard typedefs. + typedef const unsigned char* __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 short mask; + static const mask upper = _UP; + static const mask lower = _LO; + static const mask alpha = _LO | _UP | _XA; + static const mask digit = _DI; + static const mask xdigit = _XD; + static const mask space = _CN | _SP | _XS; + static const mask print = _DI | _LO | _PU | _SP | _UP | _XA; + static const mask graph = _DI | _LO | _PU | _UP | _XA; + static const mask cntrl = _BB; + static const mask punct = _PU; + static const mask alnum = _DI | _LO | _UP | _XA; + }; diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h new file mode 100644 index 0000000..24e0159 --- /dev/null +++ b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h @@ -0,0 +1,67 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + bool + ctype<char>:: + is(mask __m, char __c) const + { return _M_table[(unsigned char)(__c)] & __m; } + + const char* + ctype<char>:: + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) + *__vec++ = _M_table[*__low++]; + return __high; + } + + const char* + ctype<char>:: + scan_is(mask __m, const char* __low, const char* __high) const + { + 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 + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h new file mode 100644 index 0000000..cf34bd4 --- /dev/null +++ b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h @@ -0,0 +1,79 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : _Ctype) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : _Ctype) + { } + + 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/qnx/qnx6.1/os_defines.h b/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h new file mode 100644 index 0000000..23cf097 --- /dev/null +++ b/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h @@ -0,0 +1,36 @@ +// Specific definitions for QNX 6.1 -*- C++ -*- + +// Copyright (C) 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +#endif diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h new file mode 100644 index 0000000..d4f3fe7 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997-1999, 2000, 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1 + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 unsigned char mask; + static const mask upper = 01; + static const mask lower = 02; + static const mask alpha = 01 | 02; + static const mask digit = 04; + static const mask xdigit = 0200; + static const mask space = 010; + static const mask print = 020 | 01 | 02 | 04 | 0100; + static const mask graph = 020 | 01 | 02 | 04; + static const mask cntrl = 040; + static const mask punct = 020; + static const mask alnum = 01 | 02 | 04; + }; diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h new file mode 100644 index 0000000..93a04aa --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h @@ -0,0 +1,69 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997-1999, 2000, 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + bool + ctype<char>:: + is(mask __m, char __c) const + { return (_M_table + 1)[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 + 1)[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 + 1)[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 + 1)[static_cast<unsigned char>(*__low)] & __m) != 0) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h new file mode 100644 index 0000000..a3c27b0 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h @@ -0,0 +1,81 @@ +// 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { return __ctype; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { } + + char + ctype<char>::do_toupper(char __c) const + { return ((_M_table + 258)[static_cast<unsigned char>(__c)]); } + + const char* + ctype<char>::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_toupper(*__low); + ++__low; + } + return __high; + } + + char + ctype<char>::do_tolower(char __c) const + { return ((_M_table + 258)[static_cast<unsigned char>(__c)]); } + + const char* + ctype<char>::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { + *__low = this->do_tolower(*__low); + ++__low; + } + return __high; + } diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h new file mode 100644 index 0000000..a9be0bf --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h @@ -0,0 +1,42 @@ +// Specific definitions for Solaris 2.5 -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// 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 new file mode 100644 index 0000000..5f8d10a --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h @@ -0,0 +1,56 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997-1999, 2000 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h. Looks like this +// only works with solaris2.6. + + struct ctype_base + { + // Non-standard typedefs. + typedef long* __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 unsigned int 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 = _ISGRAPH; + static const mask cntrl = _ISCNTRL; + static const mask punct = _ISPUNCT; + static const mask alnum = _ISALNUM; + }; diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h new file mode 100644 index 0000000..0bd56a1 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h @@ -0,0 +1,76 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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 + { + const int __bitmasksize = sizeof(mask) * 8; + for (;__low < __high; ++__vec, ++__low) + { + mask __m = _M_table[static_cast<unsigned char>(*__low)]; + int __i = 0; // Lowest bitmask value from ctype_base. + while (__i < __bitmasksize && !(__m & static_cast<mask>(1 << __i))) + ++__i; + *__vec = static_cast<mask>(1 << __i); + } + 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; + } diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h new file mode 100644 index 0000000..f65cfe7 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h @@ -0,0 +1,81 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { return __ctype_mask; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(__trans_upper), _M_tolower(__trans_lower), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(__trans_upper), _M_tolower(__trans_lower), + _M_table(__table ? __table : classic_table()) + { } + + 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/solaris/solaris2.6/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h new file mode 100644 index 0000000..aa9ecd6 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h @@ -0,0 +1,42 @@ +// Specific definitions for Solaris 2.6 -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// 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 new file mode 100644 index 0000000..9b8bddc --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h @@ -0,0 +1,57 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997-1999, 2000 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h. Looks like this +// only works with solaris2.7 and solaris2.8. Thanks for not changing +// things, sun engineers! + + struct ctype_base + { + // Non-standard typedefs. + typedef int* __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 unsigned int 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 = _ISGRAPH; + static const mask cntrl = _ISCNTRL; + static const mask punct = _ISPUNCT; + static const mask alnum = _ISALNUM; + }; diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h new file mode 100644 index 0000000..af409c8 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h @@ -0,0 +1,69 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 2000, 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + + 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; + } diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h new file mode 100644 index 0000000..c8b11a9 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h @@ -0,0 +1,82 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 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, 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.1 Locales +// + +// Information as gleaned from /usr/include/ctype.h + + const ctype_base::mask* + ctype<char>::classic_table() throw() + { return __ctype_mask; } + + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(__trans_upper), _M_tolower(__trans_lower), + _M_table(__table ? __table : classic_table()) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(__trans_upper), _M_tolower(__trans_lower), + _M_table(__table ? __table : classic_table()) + { } + + 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/solaris/solaris2.7/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h new file mode 100644 index 0000000..cf53fa4 --- /dev/null +++ b/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h @@ -0,0 +1,43 @@ +// Specific definitions for Solaris 7,8 -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// 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/windiss/ctype_base.h b/contrib/libstdc++/config/os/windiss/ctype_base.h new file mode 100644 index 0000000..acd0526 --- /dev/null +++ b/contrib/libstdc++/config/os/windiss/ctype_base.h @@ -0,0 +1,55 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.1 Locales +// + +// Default information, may not be appropriate for specific host. + + struct ctype_base + { + // Non-standard typedefs. + typedef const int* __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 unsigned int mask; + static const mask upper = _U; + static const mask lower = _L; + static const mask alpha = _U | _L; + static const mask digit = _N; + static const mask xdigit = _X; + static const mask space = _S; + static const mask print = _U | _L | _N | _P | _B; + static const mask graph = _U | _L | _N | _P; + static const mask cntrl = _C; + static const mask punct = _P; + static const mask alnum = _U | _L | _N; + }; diff --git a/contrib/libstdc++/config/os/windiss/ctype_inline.h b/contrib/libstdc++/config/os/windiss/ctype_inline.h new file mode 100644 index 0000000..1e20515 --- /dev/null +++ b/contrib/libstdc++/config/os/windiss/ctype_inline.h @@ -0,0 +1,125 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.1 Locales +// + +// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) +// functions go in ctype.cc + +// The following definitions are portable, but insanely slow. If one +// cares at all about performance, then specialized ctype +// functionality should be added for the native os in question: see +// the config/os/bits/ctype_*.h files. + + bool + ctype<char>:: + is(mask __m, char __c) const + { + bool __ret; + switch (__m) + { + case space: + __ret = isspace(__c); + break; + case print: + __ret = isprint(__c); + break; + case cntrl: + __ret = iscntrl(__c); + break; + case upper: + __ret = isupper(__c); + break; + case lower: + __ret = islower(__c); + break; + case alpha: + __ret = isalpha(__c); + break; + case digit: + __ret = isdigit(__c); + break; + case punct: + __ret = ispunct(__c); + break; + case xdigit: + __ret = isxdigit(__c); + break; + case alnum: + __ret = isalnum(__c); + break; + case graph: + __ret = isgraph(__c); + break; + default: + __ret = false; + break; + } + return __ret; + } + + const char* + ctype<char>:: + is(const char* __low, const char* __high, mask* __vec) const + { + const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10 + for (;__low < __high; ++__vec, ++__low) + { + mask __m = 0; + int __i = 0; // Lowest bitmask in ctype_base == 0 + for (;__i < __bitmasksize; ++__i) + { + mask __bit = static_cast<mask>(1 << __i); + if (this->is(__bit, *__low)) + __m |= __bit; + } + *__vec = __m; + } + return __high; + } + + const char* + ctype<char>:: + scan_is(mask __m, const char* __low, const char* __high) const + { + 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 + { + while (__low < __high && this->is(__m, *__low) != 0) + ++__low; + return __low; + } diff --git a/contrib/libstdc++/config/os/windiss/ctype_noninline.h b/contrib/libstdc++/config/os/windiss/ctype_noninline.h new file mode 100644 index 0000000..0d34695 --- /dev/null +++ b/contrib/libstdc++/config/os/windiss/ctype_noninline.h @@ -0,0 +1,82 @@ +// Locale support -*- C++ -*- + +// Copyright (C) 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, 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.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) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table == 0 ? classic_table() : __table) + { } + + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table == 0 ? classic_table() : __table) + { } + + 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/windiss/os_defines.h b/contrib/libstdc++/config/os/windiss/os_defines.h new file mode 100644 index 0000000..dd8b008 --- /dev/null +++ b/contrib/libstdc++/config/os/windiss/os_defines.h @@ -0,0 +1,37 @@ +// Specific definitions for generic platforms -*- C++ -*- + +// Copyright (C) 2000, 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, 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. + + +#ifndef _GLIBCPP_OS_DEFINES +#define _GLIBCPP_OS_DEFINES 1 + +// System-specific #define, typedefs, corrections, etc, go here. This +// file will come before all others. + +#endif diff --git a/contrib/libstdc++/configure b/contrib/libstdc++/configure index dcbe7bb..89d848c 100755 --- a/contrib/libstdc++/configure +++ b/contrib/libstdc++/configure @@ -34,8 +34,6 @@ ac_help="$ac_help ac_help="$ac_help --with-pic try to use only PIC/non-PIC objects [default=use both]" ac_help="$ac_help - --enable-debug extra debugging, turn off optimization [default=no]" -ac_help="$ac_help --enable-cstdio enable stdio for target io package. --enable-cstdio=LIB use LIB target-speific io package. [default=stdio] " @@ -46,23 +44,28 @@ ac_help="$ac_help ac_help="$ac_help --enable-nls use Native Language Support (default)" ac_help="$ac_help + --enable-cheaders=MODEL construct "C" header files for g++ [default=c_std]" +ac_help="$ac_help --enable-c-mbchar enable multibyte (wide) characters [default=yes]" ac_help="$ac_help --enable-c99 turns on 'ISO/IEC 9899:1999 support' [default=yes]" ac_help="$ac_help --enable-long-long turns on 'long long' [default=yes]" ac_help="$ac_help - --enable-cheaders construct "C" header files for g++ [default=c_std]" -ac_help="$ac_help - --enable-cxx-flags=FLAGS pass compiler FLAGS when building library; - [default=none]" -ac_help="$ac_help --enable-sjlj-exceptions force use of builtin_setjmp for exceptions" ac_help="$ac_help --enable-libunwind-exceptions force use of libunwind for exceptions" ac_help="$ac_help --enable-concept-checks use Boost-derived template checks [default=no]" ac_help="$ac_help + --enable-cxx-flags=FLAGS pass compiler FLAGS when building library; + [default=]" +ac_help="$ac_help + --enable-debug build extra debug library [default=no]" +ac_help="$ac_help + --enable-debug-flags=FLAGS pass compiler FLAGS when building debug + library;[default=none]" +ac_help="$ac_help --enable-symvers=style enables symbol versioning of the shared library [default=yes]" ac_help="$ac_help --with-gxx-include-dir the installation directory for include files" @@ -582,13 +585,13 @@ fi # This works around the fact that libtool configuration may change LD # for this particular configuration, but some shells, instead of # keeping the changes in LD private, export them just because LD is -# exported. +# exported. Only used at the end of this file. ORIGINAL_LD_FOR_MULTILIBS=$LD PACKAGE=libstdc++ # For libtool versioning info, format is CURRENT:REVISION:AGE -libtool_VERSION=5:2:0 +libtool_VERSION=5:5:0 @@ -646,6 +649,17 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # Gets build, host, target, *_vendor, *_cpu, *_os, etc. +# +# You will slowly go insane if you do not grok the following fact: when +# building v3 as part of the compiler, the top-level /target/ becomes the +# library's /host/. `configure' then causes --target to default to --host, +# exactly like any other package using autoconf. Therefore, 'target' and +# 'host' will always be the same. This makes sense both for native and +# cross compilers, just think about it for a little while. :-) +# +# Also, if v3 is being configured as part of a cross compiler, the top-level +# configure script will pass the "real" host as $with_cross_host. +# # AC 2.5x sets target_alias iff the user specified --target, but we use it # everywhere, so we set it here just to be sure. In AC 2.13 # AC_CANONICAL_TARGET was known as AC_CANONICAL_SYSTEM. @@ -677,7 +691,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:681: checking host system type" >&5 +echo "configure:695: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -698,7 +712,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:702: checking target system type" >&5 +echo "configure:716: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -716,7 +730,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:720: checking build system type" >&5 +echo "configure:734: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -741,9 +755,8 @@ test "$host_alias" != "$target_alias" && target_alias=${target_alias-$target} -# Runs configure.host and configure.target, as well as finds CC, CXX -# and assorted other critical bits. Have to run this before the -# GLIBCPP_ENABLE_* macros below. +# Runs configure.target, finds CC, CXX and assorted other critical bits. +# Must run this before the GLIBCPP_ENABLE_* macros below. if test $host != $build; then ac_tool_prefix=${host_alias}- else @@ -751,12 +764,12 @@ else fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:755: checking for Cygwin environment" >&5 +echo "configure:768: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 760 "configure" +#line 773 "configure" #include "confdefs.h" int main() { @@ -767,7 +780,7 @@ int main() { return __CYGWIN__; ; return 0; } EOF -if { (eval echo configure:771: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -784,19 +797,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6 CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:788: checking for mingw32 environment" >&5 +echo "configure:801: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 793 "configure" +#line 806 "configure" #include "confdefs.h" int main() { return __MINGW32__; ; return 0; } EOF -if { (eval echo configure:800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -813,9 +826,6 @@ echo "$ac_t""$ac_cv_mingw32" 1>&6 MINGW32= test "$ac_cv_mingw32" = yes && MINGW32=yes - -#possibly test for the presence of the compiler sources here? - # Export build and source directories. # These need to be absolute paths, yet at the same time need to # canonicalize only relative paths, because then amd will not unmount @@ -835,7 +845,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:839: checking for $ac_word" >&5 +echo "configure:849: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -869,7 +879,7 @@ done # force a particular method. #ac_cv_prog_LN_S='cp -p' echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:873: checking whether ln -s works" >&5 +echo "configure:883: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -926,7 +936,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:930: checking for $ac_word" >&5 +echo "configure:940: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -956,7 +966,7 @@ fi # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:960: checking for $ac_word" >&5 +echo "configure:970: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1005,7 +1015,7 @@ fi fi echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1009: checking whether we are using GNU C" >&5 +echo "configure:1019: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1014,7 +1024,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1018: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1029,7 +1039,7 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6 ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1033: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1043: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1072,7 +1082,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1076: checking for $ac_word" >&5 +echo "configure:1086: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_glibcpp_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1107,7 +1117,7 @@ test -n "$glibcpp_CXX" || glibcpp_CXX="gcc" test -z "$glibcpp_CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 -echo "configure:1111: checking whether we are using GNU C++" >&5 +echo "configure:1121: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1116,7 +1126,7 @@ else yes; #endif EOF -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1120: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no @@ -1131,7 +1141,7 @@ echo "$ac_t""$ac_cv_prog_gxx" 1>&6 ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 -echo "configure:1135: checking whether ${CXX-g++} accepts -g" >&5 +echo "configure:1145: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1161,14 +1171,14 @@ echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6 # For directory versioning (e.g., headers) and other variables. echo $ac_n "checking for GCC version number""... $ac_c" 1>&6 -echo "configure:1165: checking for GCC version number" >&5 +echo "configure:1175: checking for GCC version number" >&5 gcc_version=`$glibcpp_CXX -dumpversion` echo "$ac_t""$gcc_version" 1>&6 # For some reason, gettext needs this. echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:1172: checking for strerror in -lcposix" >&5 +echo "configure:1182: checking for strerror in -lcposix" >&5 ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1176,7 +1186,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcposix $LIBS" cat > conftest.$ac_ext <<EOF -#line 1180 "configure" +#line 1190 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1187,7 +1197,7 @@ int main() { strerror() ; return 0; } EOF -if { (eval echo configure:1191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1213,7 +1223,7 @@ fi # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1217: checking for $ac_word" >&5 +echo "configure:1227: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1245,7 +1255,7 @@ fi # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1249: checking for $ac_word" >&5 +echo "configure:1259: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1277,7 +1287,7 @@ fi # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1281: checking for $ac_word" >&5 +echo "configure:1291: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1309,7 +1319,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1313: checking for $ac_word" >&5 +echo "configure:1323: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1353,7 +1363,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1357: checking for a BSD compatible install" >&5 +echo "configure:1367: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1407,7 +1417,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:1411: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:1421: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -1445,7 +1455,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1449: checking for executable suffix" >&5 +echo "configure:1459: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1455,7 +1465,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1485,15 +1495,15 @@ ac_exeext=$EXEEXT # Find platform-specific directories containing configuration info. In # addition to possibly modifying the same flags, it also sets up symlinks. - . ${glibcpp_basedir}/configure.target - echo "$ac_t""CPU config directory is $cpu_include_dir" 1>&6 - echo "$ac_t""OS config directory is $os_include_dir" 1>&6 + . ${glibcpp_basedir}/configure.target + echo "$ac_t""CPU config directory is $cpu_include_dir" 1>&6 + echo "$ac_t""OS config directory is $os_include_dir" 1>&6 am__api_version="1.4" echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:1497: checking whether build environment is sane" >&5 +echo "configure:1507: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -1550,7 +1560,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1554: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1564: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1596,7 +1606,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal-${am__api_version}""... $ac_c" 1>&6 -echo "configure:1600: checking for working aclocal-${am__api_version}" >&5 +echo "configure:1610: checking for working aclocal-${am__api_version}" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1609,7 +1619,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:1613: checking for working autoconf" >&5 +echo "configure:1623: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1622,7 +1632,7 @@ else fi echo $ac_n "checking for working automake-${am__api_version}""... $ac_c" 1>&6 -echo "configure:1626: checking for working automake-${am__api_version}" >&5 +echo "configure:1636: checking for working automake-${am__api_version}" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1635,7 +1645,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:1639: checking for working autoheader" >&5 +echo "configure:1649: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1648,7 +1658,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:1652: checking for working makeinfo" >&5 +echo "configure:1662: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -1747,7 +1757,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1751: checking for ld used by GCC" >&5 +echo "configure:1761: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -1777,10 +1787,10 @@ echo "configure:1751: checking for ld used by GCC" >&5 esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1781: checking for GNU ld" >&5 +echo "configure:1791: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1784: checking for non-GNU ld" >&5 +echo "configure:1794: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1815,7 +1825,7 @@ else fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1819: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1829: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1832,7 +1842,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6 -echo "configure:1836: checking for $LD option to reload object files" >&5 +echo "configure:1846: checking for $LD option to reload object files" >&5 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1844,7 +1854,7 @@ reload_flag=$lt_cv_ld_reload_flag test -n "$reload_flag" && reload_flag=" $reload_flag" echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1848: checking for BSD-compatible nm" >&5 +echo "configure:1858: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1882,7 +1892,7 @@ NM="$lt_cv_path_NM" echo "$ac_t""$NM" 1>&6 echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6 -echo "configure:1886: checking how to recognise dependant libraries" >&5 +echo "configure:1896: checking how to recognise dependant libraries" >&5 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1954,9 +1964,18 @@ gnu*) ;; hpux10.20*|hpux11*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libc.sl + case $host_cpu in + hppa*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + esac ;; irix5* | irix6*) @@ -2046,13 +2065,13 @@ file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:2050: checking for object suffix" >&5 +echo "configure:2069: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:2056: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2075: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -2076,7 +2095,7 @@ case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6 -echo "configure:2080: checking for ${ac_tool_prefix}file" >&5 +echo "configure:2099: checking for ${ac_tool_prefix}file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2138,7 +2157,7 @@ fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then echo $ac_n "checking for file""... $ac_c" 1>&6 -echo "configure:2142: checking for file" >&5 +echo "configure:2161: checking for file" >&5 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2209,7 +2228,7 @@ esac # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2213: checking for $ac_word" >&5 +echo "configure:2232: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2241,7 +2260,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2245: checking for $ac_word" >&5 +echo "configure:2264: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2276,7 +2295,7 @@ fi # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2280: checking for $ac_word" >&5 +echo "configure:2299: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2308,7 +2327,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2312: checking for $ac_word" >&5 +echo "configure:2331: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2375,8 +2394,21 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 2379 "configure"' > conftest.$ac_ext - if { (eval echo configure:2380: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 2398 "configure"' > conftest.$ac_ext + if { (eval echo configure:2399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" @@ -2388,6 +2420,65 @@ case $host in LD="${LD-ld} -64" ;; esac + fi + fi + rm -rf conftest* + ;; + +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo configure:2432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + case "`/usr/bin/file conftest.o`" in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo configure:2448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac fi rm -rf conftest* ;; @@ -2397,7 +2488,7 @@ case $host in SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 -echo "configure:2401: checking whether the C compiler needs -belf" >&5 +echo "configure:2492: checking whether the C compiler needs -belf" >&5 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2410,14 +2501,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <<EOF -#line 2414 "configure" +#line 2505 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:2421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lt_cv_cc_needs_belf=yes else @@ -2447,7 +2538,7 @@ echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 esac echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 -echo "configure:2451: checking how to run the C++ preprocessor" >&5 +echo "configure:2542: checking how to run the C++ preprocessor" >&5 if test -z "$CXXCPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2460,12 +2551,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext <<EOF -#line 2464 "configure" +#line 2555 "configure" #include "confdefs.h" #include <stdlib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2469: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2560: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2603,7 +2694,7 @@ exec 5>>./config.log # Check for c++ or library specific bits that don't require linking. #GLIBCPP_CHECK_COMPILER_VERSION echo $ac_n "checking for GNU make""... $ac_c" 1>&6 -echo "configure:2607: checking for GNU make" >&5 +echo "configure:2698: checking for GNU make" >&5 if eval "test \"`echo '$''{'_cv_gnu_make_command'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2628,30 +2719,8 @@ echo "$ac_t""$_cv_gnu_make_command" 1>&6 ; # Enable all the variable C++ stuff. C_MBCHAR must come early. -# Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" - case "${enableval}" in - yes) enable_debug=yes ;; - no) enable_debug=no ;; - *) { echo "configure: error: Unknown argument to enable/disable extra debugging" 1>&2; exit 1; } ;; - esac -else - enable_debug=no -fi - -case "${enable_debug}" in - yes) - DEBUG_FLAGS='-O0 -ggdb3' - ;; - no) - DEBUG_FLAGS='-g' - ;; -esac - - echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2655: checking how to run the C preprocessor" >&5 +echo "configure:2724: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2666,13 +2735,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 2670 "configure" +#line 2739 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2676: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2745: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2683,13 +2752,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 2687 "configure" +#line 2756 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2762: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2700,13 +2769,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 2704 "configure" +#line 2773 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2710: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2732,7 +2801,7 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for cstdio to use""... $ac_c" 1>&6 -echo "configure:2736: checking for cstdio to use" >&5 +echo "configure:2805: checking for cstdio to use" >&5 # Check whether --enable-cstdio or --disable-cstdio was given. if test "${enable_cstdio+set}" = set; then enableval="$enable_cstdio" @@ -2756,17 +2825,17 @@ fi # see if we are on a system with libio native (ie, linux) ac_safe=`echo "libio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libio.h""... $ac_c" 1>&6 -echo "configure:2760: checking for libio.h" >&5 +echo "configure:2829: checking for libio.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2765 "configure" +#line 2834 "configure" #include "confdefs.h" #include <libio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2839: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2796,9 +2865,9 @@ fi case "$target" in *-*-linux*) echo $ac_n "checking for glibc version >= 2.2""... $ac_c" 1>&6 -echo "configure:2800: checking for glibc version >= 2.2" >&5 +echo "configure:2869: checking for glibc version >= 2.2" >&5 cat > conftest.$ac_ext <<EOF -#line 2802 "configure" +#line 2871 "configure" #include "confdefs.h" #include <features.h> @@ -2912,7 +2981,7 @@ fi echo $ac_n "checking for clocale to use""... $ac_c" 1>&6 -echo "configure:2916: checking for clocale to use" >&5 +echo "configure:2985: checking for clocale to use" >&5 # Check whether --enable-clocale or --disable-clocale was given. if test "${enable_clocale+set}" = set; then enableval="$enable_clocale" @@ -2930,7 +2999,7 @@ fi case x${target_os} in xlinux* | xgnu*) cat > conftest.$ac_ext <<EOF -#line 2934 "configure" +#line 3003 "configure" #include "confdefs.h" #include <features.h> @@ -2956,7 +3025,7 @@ rm -f conftest* enable_clocale_flag=generic else cat > conftest.$ac_ext <<EOF -#line 2960 "configure" +#line 3029 "configure" #include "confdefs.h" #define _GNU_SOURCE 1 @@ -2983,7 +3052,7 @@ else } EOF -if { (eval echo configure:2987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then enable_clocale_flag=gnu else @@ -3045,7 +3114,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3049: checking for $ac_word" >&5 +echo "configure:3118: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_check_msgfmt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3125,9 +3194,6 @@ fi glibcpp_localedir=${glibcpp_builddir}/po/share/locale - # For the time being, transform ctype_noninline.h to ctype_members_char.cc -# CCTYPE_CHAR_CC=config/${os_include_dir}/ctype_noninline.h - @@ -3136,7 +3202,6 @@ fi -# AC_LINK_FILES($CCTYPE_CHAR_CC, src/ctype_members_char.cc) @@ -3144,6 +3209,66 @@ fi +echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6 +echo "configure:3214: checking for c header strategy to use" >&5 +# Check whether --enable-cheaders or --disable-cheaders was given. +if test "${enable_cheaders+set}" = set; then + enableval="$enable_cheaders" + + case "$enableval" in + c) + enable_cheaders=c + ;; + c_std) + enable_cheaders=c_std + ;; + *) { echo "configure: error: Unknown argument to enable/disable "C" headers" 1>&2; exit 1; } + ;; + esac +else + enable_cheaders=c_std +fi + + echo "$ac_t""$enable_cheaders" 1>&6 + + case "$enable_cheaders" in + c_std) + C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_std' + ;; + c) + C_INCLUDE_DIR='${glibcpp_srcdir}/include/c' + ;; + esac + + + + +if test "$enable_cheaders" = c; then + GLIBCPP_C_HEADERS_C_TRUE= + GLIBCPP_C_HEADERS_C_FALSE='#' +else + GLIBCPP_C_HEADERS_C_TRUE='#' + GLIBCPP_C_HEADERS_C_FALSE= +fi + + +if test "$enable_cheaders" = c_std; then + GLIBCPP_C_HEADERS_C_STD_TRUE= + GLIBCPP_C_HEADERS_C_STD_FALSE='#' +else + GLIBCPP_C_HEADERS_C_STD_TRUE='#' + GLIBCPP_C_HEADERS_C_STD_FALSE= +fi + + +if test "$c_compatibility" = yes; then + GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE= + GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE='#' +else + GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE='#' + GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE= +fi + # Check whether --enable-c-mbchar or --disable-c-mbchar was given. if test "${enable_c_mbchar+set}" = set; then enableval="$enable_c_mbchar" @@ -3181,16 +3306,16 @@ cross_compiling=$ac_cv_prog_cxx_cross # Check for the existence of <math.h> functions used if C99 is enabled. ac_c99_math=yes; echo $ac_n "checking for ISO C99 support in <math.h>""... $ac_c" 1>&6 -echo "configure:3185: checking for ISO C99 support in <math.h>" >&5 +echo "configure:3310: checking for ISO C99 support in <math.h>" >&5 cat > conftest.$ac_ext <<EOF -#line 3187 "configure" +#line 3312 "configure" #include "confdefs.h" #include <math.h> int main() { fpclassify(0.0); ; return 0; } EOF -if { (eval echo configure:3194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3200,14 +3325,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3204 "configure" +#line 3329 "configure" #include "confdefs.h" #include <math.h> int main() { isfinite(0.0); ; return 0; } EOF -if { (eval echo configure:3211: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3217,14 +3342,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3221 "configure" +#line 3346 "configure" #include "confdefs.h" #include <math.h> int main() { isinf(0.0); ; return 0; } EOF -if { (eval echo configure:3228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3234,14 +3359,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3238 "configure" +#line 3363 "configure" #include "confdefs.h" #include <math.h> int main() { isnan(0.0); ; return 0; } EOF -if { (eval echo configure:3245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3251,14 +3376,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3255 "configure" +#line 3380 "configure" #include "confdefs.h" #include <math.h> int main() { isnormal(0.0); ; return 0; } EOF -if { (eval echo configure:3262: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3268,14 +3393,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3272 "configure" +#line 3397 "configure" #include "confdefs.h" #include <math.h> int main() { signbit(0.0); ; return 0; } EOF -if { (eval echo configure:3279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3285,14 +3410,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3289 "configure" +#line 3414 "configure" #include "confdefs.h" #include <math.h> int main() { isgreater(0.0,0.0); ; return 0; } EOF -if { (eval echo configure:3296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3302,14 +3427,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3306 "configure" +#line 3431 "configure" #include "confdefs.h" #include <math.h> int main() { isgreaterequal(0.0,0.0); ; return 0; } EOF -if { (eval echo configure:3313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3438: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3319,14 +3444,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3323 "configure" +#line 3448 "configure" #include "confdefs.h" #include <math.h> int main() { isless(0.0,0.0); ; return 0; } EOF -if { (eval echo configure:3330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3336,14 +3461,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3340 "configure" +#line 3465 "configure" #include "confdefs.h" #include <math.h> int main() { islessequal(0.0,0.0); ; return 0; } EOF -if { (eval echo configure:3347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3472: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3353,14 +3478,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3357 "configure" +#line 3482 "configure" #include "confdefs.h" #include <math.h> int main() { islessgreater(0.0,0.0); ; return 0; } EOF -if { (eval echo configure:3364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3370,14 +3495,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3374 "configure" +#line 3499 "configure" #include "confdefs.h" #include <math.h> int main() { isunordered(0.0,0.0); ; return 0; } EOF -if { (eval echo configure:3381: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3391,16 +3516,16 @@ rm -f conftest* # Check for the existence in <stdio.h> of vscanf, et. al. ac_c99_stdio=yes; echo $ac_n "checking for ISO C99 support in <stdio.h>""... $ac_c" 1>&6 -echo "configure:3395: checking for ISO C99 support in <stdio.h>" >&5 +echo "configure:3520: checking for ISO C99 support in <stdio.h>" >&5 cat > conftest.$ac_ext <<EOF -#line 3397 "configure" +#line 3522 "configure" #include "confdefs.h" #include <stdio.h> int main() { snprintf("12", 0, "%i"); ; return 0; } EOF -if { (eval echo configure:3404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3529: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3410,7 +3535,7 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3414 "configure" +#line 3539 "configure" #include "confdefs.h" #include <stdio.h> #include <stdarg.h> @@ -3421,7 +3546,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:3425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3431,7 +3556,7 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3435 "configure" +#line 3560 "configure" #include "confdefs.h" #include <stdio.h> #include <stdarg.h> @@ -3442,7 +3567,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:3446: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3452,7 +3577,7 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3456 "configure" +#line 3581 "configure" #include "confdefs.h" #include <stdio.h> #include <stdarg.h> @@ -3463,7 +3588,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:3467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3473,7 +3598,7 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3477 "configure" +#line 3602 "configure" #include "confdefs.h" #include <stdio.h> #include <stdarg.h> @@ -3484,7 +3609,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:3488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3498,20 +3623,20 @@ rm -f conftest* # Check for the existence in <stdlib.h> of lldiv_t, et. al. ac_c99_stdlib=yes; echo $ac_n "checking for lldiv_t declaration""... $ac_c" 1>&6 -echo "configure:3502: checking for lldiv_t declaration" >&5 +echo "configure:3627: checking for lldiv_t declaration" >&5 if eval "test \"`echo '$''{'ac_c99_lldiv_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3508 "configure" +#line 3633 "configure" #include "confdefs.h" #include <stdlib.h> int main() { lldiv_t mydivt; ; return 0; } EOF -if { (eval echo configure:3515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3640: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_c99_lldiv_t=yes else @@ -3527,16 +3652,16 @@ fi echo "$ac_t""$ac_c99_lldiv_t" 1>&6 echo $ac_n "checking for ISO C99 support in <stdlib.h>""... $ac_c" 1>&6 -echo "configure:3531: checking for ISO C99 support in <stdlib.h>" >&5 +echo "configure:3656: checking for ISO C99 support in <stdlib.h>" >&5 cat > conftest.$ac_ext <<EOF -#line 3533 "configure" +#line 3658 "configure" #include "confdefs.h" #include <stdlib.h> int main() { char* tmp; strtof("gnu", &tmp); ; return 0; } EOF -if { (eval echo configure:3540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3665: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3546,14 +3671,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3550 "configure" +#line 3675 "configure" #include "confdefs.h" #include <stdlib.h> int main() { char* tmp; strtold("gnu", &tmp); ; return 0; } EOF -if { (eval echo configure:3557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3563,14 +3688,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3567 "configure" +#line 3692 "configure" #include "confdefs.h" #include <stdlib.h> int main() { llabs(10); ; return 0; } EOF -if { (eval echo configure:3574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3580,14 +3705,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3584 "configure" +#line 3709 "configure" #include "confdefs.h" #include <stdlib.h> int main() { lldiv(10,1); ; return 0; } EOF -if { (eval echo configure:3591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3597,14 +3722,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3601 "configure" +#line 3726 "configure" #include "confdefs.h" #include <stdlib.h> int main() { atoll("10"); ; return 0; } EOF -if { (eval echo configure:3608: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3614,14 +3739,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3618 "configure" +#line 3743 "configure" #include "confdefs.h" #include <stdlib.h> int main() { _Exit(0); ; return 0; } EOF -if { (eval echo configure:3625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3639,16 +3764,16 @@ rm -f conftest* # XXX the wchar.h checks should be rolled into the general C99 bits. ac_c99_wchar=yes; echo $ac_n "checking for additional ISO C99 support in <wchar.h>""... $ac_c" 1>&6 -echo "configure:3643: checking for additional ISO C99 support in <wchar.h>" >&5 +echo "configure:3768: checking for additional ISO C99 support in <wchar.h>" >&5 cat > conftest.$ac_ext <<EOF -#line 3645 "configure" +#line 3770 "configure" #include "confdefs.h" #include <wchar.h> int main() { wcstold(L"10.0", NULL); ; return 0; } EOF -if { (eval echo configure:3652: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3658,14 +3783,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3662 "configure" +#line 3787 "configure" #include "confdefs.h" #include <wchar.h> int main() { wcstoll(L"10", NULL, 10); ; return 0; } EOF -if { (eval echo configure:3669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3794: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3675,14 +3800,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3679 "configure" +#line 3804 "configure" #include "confdefs.h" #include <wchar.h> int main() { wcstoull(L"10", NULL, 10); ; return 0; } EOF -if { (eval echo configure:3686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3811: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3694,7 +3819,7 @@ rm -f conftest* echo "$ac_t""$ac_c99_wchar" 1>&6 echo $ac_n "checking for enabled ISO C99 support""... $ac_c" 1>&6 -echo "configure:3698: checking for enabled ISO C99 support" >&5 +echo "configure:3823: checking for enabled ISO C99 support" >&5 if test x"$ac_c99_math" = x"no" || test x"$ac_c99_stdio" = x"no" || test x"$ac_c99_stdlib" = x"no" || @@ -3742,17 +3867,17 @@ cross_compiling=$ac_cv_prog_cxx_cross echo $ac_n "checking for enabled long long I/O support""... $ac_c" 1>&6 -echo "configure:3746: checking for enabled long long I/O support" >&5 +echo "configure:3871: checking for enabled long long I/O support" >&5 # iostreams require strtoll, strtoull to compile cat > conftest.$ac_ext <<EOF -#line 3749 "configure" +#line 3874 "configure" #include "confdefs.h" #include <stdlib.h> int main() { char* tmp; strtoll("gnu", &tmp, 10); ; return 0; } EOF -if { (eval echo configure:3756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3881: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3762,14 +3887,14 @@ else fi rm -f conftest* cat > conftest.$ac_ext <<EOF -#line 3766 "configure" +#line 3891 "configure" #include "confdefs.h" #include <stdlib.h> int main() { char* tmp; strtoull("gnu", &tmp, 10); ; return 0; } EOF -if { (eval echo configure:3773: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -3796,75 +3921,9 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a cross_compiling=$ac_cv_prog_cc_cross -echo $ac_n "checking for c header strategy to use""... $ac_c" 1>&6 -echo "configure:3801: checking for c header strategy to use" >&5 -# Check whether --enable-cheaders or --disable-cheaders was given. -if test "${enable_cheaders+set}" = set; then - enableval="$enable_cheaders" - - case "$enableval" in - c) - enable_cheaders=c - ;; - c_std) - enable_cheaders=c_std - ;; - c_shadow) - enable_cheaders=c_shadow - ;; - *) { echo "configure: error: Unknown argument to enable/disable "C" headers" 1>&2; exit 1; } - ;; - esac -else - enable_cheaders=c_std -fi - - echo "$ac_t""$enable_cheaders" 1>&6 - - case "$enable_cheaders" in - c_shadow) - C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_shadow' - ;; - c_std) - C_INCLUDE_DIR='${glibcpp_srcdir}/include/c_std' - ;; - c) - C_INCLUDE_DIR='${glibcpp_srcdir}/include/c' - ;; - esac - - - - -if test "$enable_cheaders" = c; then - GLIBCPP_C_HEADERS_C_TRUE= - GLIBCPP_C_HEADERS_C_FALSE='#' -else - GLIBCPP_C_HEADERS_C_TRUE='#' - GLIBCPP_C_HEADERS_C_FALSE= -fi - - -if test "$enable_cheaders" = c_std; then - GLIBCPP_C_HEADERS_C_STD_TRUE= - GLIBCPP_C_HEADERS_C_STD_FALSE='#' -else - GLIBCPP_C_HEADERS_C_STD_TRUE='#' - GLIBCPP_C_HEADERS_C_STD_FALSE= -fi - - -if test "$c_compatibility" = yes; then - GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE= - GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE='#' -else - GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE='#' - GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE= -fi - echo $ac_n "checking for thread model used by GCC""... $ac_c" 1>&6 -echo "configure:3868: checking for thread model used by GCC" >&5 +echo "configure:3927: checking for thread model used by GCC" >&5 target_thread_file=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'` echo "$ac_t""$target_thread_file" 1>&6 @@ -3882,42 +3941,9 @@ EOF glibcpp_thread_h=gthr-$target_thread_file.h -# Check whether --enable-cxx-flags or --disable-cxx-flags was given. -if test "${enable_cxx_flags+set}" = set; then - enableval="$enable_cxx_flags" - case "x$enableval" in - xyes) - { echo "configure: error: --enable-cxx-flags needs compiler flags as arguments" 1>&2; exit 1; } ;; - xno|x) - enable_cxx_flags='' ;; - *) - enable_cxx_flags="$enableval" ;; - esac -else - enable_cxx_flags='none' -fi - - -if test "$enable_cxx_flags" = "none"; then - enable_cxx_flags=''; -fi - -if test -n "$enable_cxx_flags"; then - for f in $enable_cxx_flags; do - case "$f" in - -fhonor-std) ;; - -*) ;; - *) # and we're trying to pass /what/ exactly? - { echo "configure: error: compiler flags start with a -" 1>&2; exit 1; } ;; - esac - done -fi -EXTRA_CXX_FLAGS="$enable_cxx_flags" - - echo $ac_n "checking for exception model to use""... $ac_c" 1>&6 -echo "configure:3921: checking for exception model to use" >&5 +echo "configure:3947: checking for exception model to use" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -3932,7 +3958,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then : else cat > conftest.$ac_ext << EOF -#line 3936 "configure" +#line 3962 "configure" struct S { ~S(); }; void bar(); void foo() @@ -3942,8 +3968,8 @@ void foo() } EOF old_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="-S -fexceptions" - if { (eval echo configure:3947: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + CXXFLAGS=-S + if { (eval echo configure:3973: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then enable_sjlj_exceptions=yes elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then @@ -3976,7 +4002,7 @@ cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking for use of libunwind""... $ac_c" 1>&6 -echo "configure:3980: checking for use of libunwind" >&5 +echo "configure:4006: checking for use of libunwind" >&5 # Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given. if test "${enable_libunwind_exceptions+set}" = set; then enableval="$enable_libunwind_exceptions" @@ -4011,23 +4037,110 @@ EOF fi +echo $ac_n "checking for extra compiler flags for building""... $ac_c" 1>&6 +echo "configure:4042: checking for extra compiler flags for building" >&5 +# Check whether --enable-cxx_flags or --disable-cxx_flags was given. +if test "${enable_cxx_flags+set}" = set; then + enableval="$enable_cxx_flags" + case "x$enable_cxx_flags" in + xyes) + { echo "configure: error: --enable-cxx-flags needs compiler flags as arguments" 1>&2; exit 1; } ;; + xno | xnone | x) + enable_cxx_flags='' ;; + *) + enable_cxx_flags="$enableval" ;; +esac +else + enable_cxx_flags= +fi + + +if test -n "$enable_cxx_flags"; then + for f in $enable_cxx_flags; do + case "$f" in + -fhonor-std) ;; + -*) ;; + *) # and we're trying to pass /what/ exactly? + { echo "configure: error: compiler flags start with a -" 1>&2; exit 1; } ;; + esac + done +fi +EXTRA_CXX_FLAGS="$enable_cxx_flags" +echo "$ac_t""$EXTRA_CXX_FLAGS" 1>&6 + + +# Check whether --enable-debug or --disable-debug was given. +if test "${enable_debug+set}" = set; then + enableval="$enable_debug" + case "${enableval}" in + yes) enable_debug=yes ;; + no) enable_debug=no ;; + *) { echo "configure: error: Unknown argument to enable/disable extra debugging" 1>&2; exit 1; } ;; + esac +else + enable_debug=no +fi +echo $ac_n "checking for additional debug build""... $ac_c" 1>&6 +echo "configure:4085: checking for additional debug build" >&5 +echo "$ac_t""$enable_debug" 1>&6 + + +if test "$enable_debug" = yes; then + GLIBCPP_BUILD_DEBUG_TRUE= + GLIBCPP_BUILD_DEBUG_FALSE='#' +else + GLIBCPP_BUILD_DEBUG_TRUE='#' + GLIBCPP_BUILD_DEBUG_FALSE= +fi + +# Check whether --enable-debug_flags or --disable-debug_flags was given. +if test "${enable_debug_flags+set}" = set; then + enableval="$enable_debug_flags" + case "${enableval}" in + none) ;; + -*) enable_debug_flags="${enableval}" ;; + *) { echo "configure: error: Unknown argument to extra debugging flags" 1>&2; exit 1; } ;; + esac +else + enable_debug_flags=none +fi + +case x"$enable_debug" in + xyes) + case "$enable_debug_flags" in + none) + DEBUG_FLAGS="-g3 -O0";; + -*) #valid input + DEBUG_FLAGS="${enableval}" + esac + ;; + xno) + DEBUG_FLAGS="" + ;; +esac + + +echo $ac_n "checking for debug build flags""... $ac_c" 1>&6 +echo "configure:4125: checking for debug build flags" >&5 +echo "$ac_t""$DEBUG_FLAGS" 1>&6 + # Check for headers necessary for libsupc++ using dyn-string.c/cxa_demangle.c for ac_hdr in string.h stdlib.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4021: checking for $ac_hdr" >&5 +echo "configure:4134: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4026 "configure" +#line 4139 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4144: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4054,26 +4167,40 @@ fi done -if test -n "$with_cross_host" || test x"$build" != x"$host"; then +# No surprises, no surprises... +if test $ATOMICITYH = cpu/generic ; then + echo "configure: warning: No native atomic operations are provided yet for this platform." 1>&2 + if test $target_thread_file = single; then + echo "configure: warning: They cannot be faked when thread support is disabled." 1>&2 + echo "configure: warning: Thread-safety of certain classes is not guaranteed." 1>&2 + else + echo "configure: warning: They will be faked using a mutex." 1>&2 + echo "configure: warning: Performance of certain classes will degrade as a result." 1>&2 + fi +fi - # This lets us hard-code the functionality we know - # we'll have in the cross target environment. "Let" is a - # sugar-coated word placed on an especially dull and tedious hack, actually. - # Here's why GLIBCPP_CHECK_MATH_SUPPORT, and other autoconf macros - # that involve linking can't be used: - # "cannot open sim-crt0.o" - # "cannot open crt0.o" - # etc. All this is because there currently exists no unified, - # consistent way for top level CC information to be passed down - # to target directories: newlib includes, newlib linking info, - # libgloss versus newlib crt0.o, etc. When all of this is done, all - # of this hokey, excessive AC_DEFINE junk for crosses can be removed. + +if test -n "$with_cross_host" || test x"$build" != x"$host"; then # We are being configured with some form of cross compiler. GLIBCPP_IS_CROSS_COMPILING=1 - # If Canadian cross, then don't pick up tools from the build - # directory. + # This lets us hard-code the functionality we know we'll have in the cross + # target environment. "Let" is a sugar-coated word placed on an especially + # dull and tedious hack, actually. + # + # Here's why GLIBCPP_CHECK_MATH_SUPPORT, and other autoconf macros + # that involve linking, can't be used: + # "cannot open sim-crt0.o" + # "cannot open crt0.o" + # etc. All this is because there currently exists no unified, consistent + # way for top level CC information to be passed down to target directories: + # newlib includes, newlib linking info, libgloss versus newlib crt0.o, etc. + # When all of that is done, all of this hokey, excessive AC_DEFINE junk for + # crosses can be removed. + + # If Canadian cross, then don't pick up tools from the build directory. + # Used in GLIBCPP_EXPORT_INCLUDES (and nowhere else?). if test -n "$with_cross_host" && test x"$build" != x"$with_cross_host"; then CANADIAN=yes else @@ -4087,24 +4214,24 @@ if test -n "$with_cross_host" || test x"$build" != x"$host"; then case "$target" in *-linux*) - # Check for available headers. + os_include_dir="os/gnu-linux" for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \ - machine/endian.h machine/param.h sys/machine.h sys/types.h \ - fp.h locale.h float.h inttypes.h + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4098: checking for $ac_hdr" >&5 +echo "configure:4225: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4103 "configure" +#line 4230 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4108: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4182,12 +4309,12 @@ done # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 -echo "configure:4186: checking for ld that supports -Wl,--gc-sections" >&5 +echo "configure:4313: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <<EOF -#line 4191 "configure" +#line 4318 "configure" #include "confdefs.h" int main(void) @@ -4198,7 +4325,7 @@ else } EOF -if { (eval echo configure:4202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else @@ -4223,7 +4350,7 @@ fi fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -4232,7 +4359,7 @@ fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:4236: checking for main in -lm" >&5 +echo "configure:4363: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4240,14 +4367,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 4244 "configure" +#line 4371 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:4251: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4277,12 +4404,12 @@ fi for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4281: checking for $ac_func" >&5 +echo "configure:4408: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4286 "configure" +#line 4413 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4305,7 +4432,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4334,12 +4461,12 @@ done for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4338: checking for $ac_func" >&5 +echo "configure:4465: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4343 "configure" +#line 4470 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4362,7 +4489,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4390,12 +4517,12 @@ done for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4394: checking for $ac_func" >&5 +echo "configure:4521: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4399 "configure" +#line 4526 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4418,7 +4545,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4448,12 +4575,12 @@ done for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4452: checking for $ac_func" >&5 +echo "configure:4579: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4457 "configure" +#line 4584 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4476,7 +4603,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4503,21 +4630,34 @@ done fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi + +if test "$need_libmath" = yes; then + GLIBCPP_BUILD_LIBMATH_TRUE= + GLIBCPP_BUILD_LIBMATH_FALSE='#' +else + GLIBCPP_BUILD_LIBMATH_TRUE='#' + GLIBCPP_BUILD_LIBMATH_FALSE= +fi + + enable_wchar_t=no echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 -echo "configure:4512: checking for mbstate_t" >&5 +echo "configure:4652: checking for mbstate_t" >&5 cat > conftest.$ac_ext <<EOF -#line 4514 "configure" +#line 4654 "configure" #include "confdefs.h" #include <wchar.h> int main() { mbstate_t teststate; ; return 0; } EOF -if { (eval echo configure:4521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else @@ -4539,17 +4679,17 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4543: checking for $ac_hdr" >&5 +echo "configure:4683: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4548 "configure" +#line 4688 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4580,17 +4720,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4584: checking for $ac_hdr" >&5 +echo "configure:4724: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4589 "configure" +#line 4729 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4594: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4734: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4623,16 +4763,16 @@ done test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 -echo "configure:4627: checking for WCHAR_MIN and WCHAR_MAX" >&5 +echo "configure:4767: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext <<EOF -#line 4629 "configure" +#line 4769 "configure" #include "confdefs.h" #include <wchar.h> int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF -if { (eval echo configure:4636: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else @@ -4645,9 +4785,9 @@ rm -f conftest* echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 -echo "configure:4649: checking for WEOF" >&5 +echo "configure:4789: checking for WEOF" >&5 cat > conftest.$ac_ext <<EOF -#line 4651 "configure" +#line 4791 "configure" #include "confdefs.h" #include <wchar.h> @@ -4656,7 +4796,7 @@ int main() { wint_t i = WEOF; ; return 0; } EOF -if { (eval echo configure:4660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else @@ -4672,12 +4812,12 @@ rm -f conftest* for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4676: checking for $ac_func" >&5 +echo "configure:4816: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4681 "configure" +#line 4821 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4700,7 +4840,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4727,7 +4867,7 @@ fi done - for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -4735,12 +4875,12 @@ done wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4739: checking for $ac_func" >&5 +echo "configure:4879: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4744 "configure" +#line 4884 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4763,7 +4903,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4791,7 +4931,7 @@ done echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 -echo "configure:4795: checking for ISO C99 wchar_t support" >&5 +echo "configure:4935: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes && test x"$ac_wfuncs" = xyes; then @@ -4803,17 +4943,17 @@ echo "configure:4795: checking for ISO C99 wchar_t support" >&5 ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 -echo "configure:4807: checking for iconv.h" >&5 +echo "configure:4947: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4812 "configure" +#line 4952 "configure" #include "confdefs.h" #include <iconv.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4837,17 +4977,17 @@ fi ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 -echo "configure:4841: checking for langinfo.h" >&5 +echo "configure:4981: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4846 "configure" +#line 4986 "configure" #include "confdefs.h" #include <langinfo.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4991: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4871,7 +5011,7 @@ fi echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 -echo "configure:4875: checking for iconv in -liconv" >&5 +echo "configure:5015: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4879,7 +5019,7 @@ else ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext <<EOF -#line 4883 "configure" +#line 5023 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4890,7 +5030,7 @@ int main() { iconv() ; return 0; } EOF -if { (eval echo configure:4894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4916,12 +5056,12 @@ fi for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4920: checking for $ac_func" >&5 +echo "configure:5060: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4925 "configure" +#line 5065 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4944,7 +5084,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4974,7 +5114,7 @@ done LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 -echo "configure:4978: checking for XPG2 wchar_t support" >&5 +echo "configure:5118: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes && test x"$ac_XPG2funcs" = xyes; then @@ -4984,23 +5124,28 @@ echo "configure:4978: checking for XPG2 wchar_t support" >&5 fi echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 - echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 -echo "configure:4989: checking for enabled wchar_t specializations" >&5 - if test x"$ac_isoC99_wchar_t" = xyes && + if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_WCHAR_T 1 EOF - echo "$ac_t"""yes"" 1>&6 - else - echo "$ac_t"""no"" 1>&6 + enable_wchar_t=yes fi - else - echo "configure: warning: wchar_t support disabled." 1>&2 fi + echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 +echo "configure:5138: checking for enabled wchar_t specializations" >&5 + echo "$ac_t""$enable_wchar_t" 1>&6 + + +if test "$enable_wchar_t" = yes; then + GLIBCPP_TEST_WCHAR_T_TRUE= + GLIBCPP_TEST_WCHAR_T_FALSE='#' +else + GLIBCPP_TEST_WCHAR_T_TRUE='#' + GLIBCPP_TEST_WCHAR_T_FALSE= +fi - os_include_dir="config/os/gnu-linux" cat >> confdefs.h <<\EOF #define HAVE_COPYSIGN 1 EOF @@ -5010,6 +5155,10 @@ EOF EOF cat >> confdefs.h <<\EOF +#define HAVE_FINITE 1 +EOF + + cat >> confdefs.h <<\EOF #define HAVE_FINITEF 1 EOF @@ -5022,6 +5171,22 @@ EOF EOF cat >> confdefs.h <<\EOF +#define HAVE_ISINF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISINFF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNAN 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNANF 1 +EOF + + cat >> confdefs.h <<\EOF #define HAVE_SINCOS 1 EOF @@ -5030,31 +5195,43 @@ EOF EOF if test x"long_double_math_on_this_cpu" = x"yes"; then - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF +#define HAVE_FINITEL 1 +EOF + + cat >> confdefs.h <<\EOF #define HAVE_HYPOTL 1 EOF + cat >> confdefs.h <<\EOF +#define HAVE_ISINFL 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNANL 1 +EOF + fi ;; *-hpux*) # Check for available headers. for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \ - machine/endian.h machine/param.h sys/machine.h sys/types.h \ - fp.h locale.h float.h inttypes.h + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5048: checking for $ac_hdr" >&5 +echo "configure:5225: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5053 "configure" +#line 5230 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5132,12 +5309,12 @@ done # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 -echo "configure:5136: checking for ld that supports -Wl,--gc-sections" >&5 +echo "configure:5313: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <<EOF -#line 5141 "configure" +#line 5318 "configure" #include "confdefs.h" int main(void) @@ -5148,7 +5325,7 @@ else } EOF -if { (eval echo configure:5152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else @@ -5173,7 +5350,7 @@ fi fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -5182,7 +5359,7 @@ fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:5186: checking for main in -lm" >&5 +echo "configure:5363: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5190,14 +5367,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 5194 "configure" +#line 5371 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5227,12 +5404,12 @@ fi for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5231: checking for $ac_func" >&5 +echo "configure:5408: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5236 "configure" +#line 5413 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5255,7 +5432,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5284,12 +5461,12 @@ done for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5288: checking for $ac_func" >&5 +echo "configure:5465: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5293 "configure" +#line 5470 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5312,7 +5489,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5340,12 +5517,12 @@ done for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5344: checking for $ac_func" >&5 +echo "configure:5521: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5349 "configure" +#line 5526 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5368,7 +5545,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5398,12 +5575,12 @@ done for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5402: checking for $ac_func" >&5 +echo "configure:5579: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5407 "configure" +#line 5584 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5426,7 +5603,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5453,21 +5630,34 @@ done fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi + +if test "$need_libmath" = yes; then + GLIBCPP_BUILD_LIBMATH_TRUE= + GLIBCPP_BUILD_LIBMATH_FALSE='#' +else + GLIBCPP_BUILD_LIBMATH_TRUE='#' + GLIBCPP_BUILD_LIBMATH_FALSE= +fi + + enable_wchar_t=no echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 -echo "configure:5462: checking for mbstate_t" >&5 +echo "configure:5652: checking for mbstate_t" >&5 cat > conftest.$ac_ext <<EOF -#line 5464 "configure" +#line 5654 "configure" #include "confdefs.h" #include <wchar.h> int main() { mbstate_t teststate; ; return 0; } EOF -if { (eval echo configure:5471: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else @@ -5489,17 +5679,17 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5493: checking for $ac_hdr" >&5 +echo "configure:5683: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5498 "configure" +#line 5688 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5503: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5530,17 +5720,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5534: checking for $ac_hdr" >&5 +echo "configure:5724: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5539 "configure" +#line 5729 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5544: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5734: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5573,16 +5763,16 @@ done test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 -echo "configure:5577: checking for WCHAR_MIN and WCHAR_MAX" >&5 +echo "configure:5767: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext <<EOF -#line 5579 "configure" +#line 5769 "configure" #include "confdefs.h" #include <wchar.h> int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF -if { (eval echo configure:5586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else @@ -5595,9 +5785,9 @@ rm -f conftest* echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 -echo "configure:5599: checking for WEOF" >&5 +echo "configure:5789: checking for WEOF" >&5 cat > conftest.$ac_ext <<EOF -#line 5601 "configure" +#line 5791 "configure" #include "confdefs.h" #include <wchar.h> @@ -5606,7 +5796,7 @@ int main() { wint_t i = WEOF; ; return 0; } EOF -if { (eval echo configure:5610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else @@ -5622,12 +5812,12 @@ rm -f conftest* for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5626: checking for $ac_func" >&5 +echo "configure:5816: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5631 "configure" +#line 5821 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5650,7 +5840,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5677,7 +5867,7 @@ fi done - for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -5685,12 +5875,12 @@ done wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5689: checking for $ac_func" >&5 +echo "configure:5879: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5694 "configure" +#line 5884 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5713,7 +5903,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5741,7 +5931,7 @@ done echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 -echo "configure:5745: checking for ISO C99 wchar_t support" >&5 +echo "configure:5935: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes && test x"$ac_wfuncs" = xyes; then @@ -5753,17 +5943,17 @@ echo "configure:5745: checking for ISO C99 wchar_t support" >&5 ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 -echo "configure:5757: checking for iconv.h" >&5 +echo "configure:5947: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5762 "configure" +#line 5952 "configure" #include "confdefs.h" #include <iconv.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5767: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5787,17 +5977,17 @@ fi ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 -echo "configure:5791: checking for langinfo.h" >&5 +echo "configure:5981: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5796 "configure" +#line 5986 "configure" #include "confdefs.h" #include <langinfo.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5991: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5821,7 +6011,7 @@ fi echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 -echo "configure:5825: checking for iconv in -liconv" >&5 +echo "configure:6015: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5829,7 +6019,7 @@ else ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext <<EOF -#line 5833 "configure" +#line 6023 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5840,7 +6030,7 @@ int main() { iconv() ; return 0; } EOF -if { (eval echo configure:5844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5866,12 +6056,12 @@ fi for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5870: checking for $ac_func" >&5 +echo "configure:6060: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5875 "configure" +#line 6065 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5894,7 +6084,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5924,7 +6114,7 @@ done LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 -echo "configure:5928: checking for XPG2 wchar_t support" >&5 +echo "configure:6118: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes && test x"$ac_XPG2funcs" = xyes; then @@ -5934,23 +6124,1009 @@ echo "configure:5928: checking for XPG2 wchar_t support" >&5 fi echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 - echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 -echo "configure:5939: checking for enabled wchar_t specializations" >&5 - if test x"$ac_isoC99_wchar_t" = xyes && + if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_WCHAR_T 1 EOF - echo "$ac_t"""yes"" 1>&6 + enable_wchar_t=yes + fi + fi + echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 +echo "configure:6138: checking for enabled wchar_t specializations" >&5 + echo "$ac_t""$enable_wchar_t" 1>&6 + + +if test "$enable_wchar_t" = yes; then + GLIBCPP_TEST_WCHAR_T_TRUE= + GLIBCPP_TEST_WCHAR_T_FALSE='#' +else + GLIBCPP_TEST_WCHAR_T_TRUE='#' + GLIBCPP_TEST_WCHAR_T_FALSE= +fi + + os_include_dir="os/hpux" + cat >> confdefs.h <<\EOF +#define HAVE_COPYSIGN 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COPYSIGNF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FREXPF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_HYPOT 1 +EOF + + case "$target" in + *-hpux10*) + cat >> confdefs.h <<\EOF +#define HAVE_FINITE 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FINITEF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISINF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISINFF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNAN 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNANF 1 +EOF + + ;; + esac + + ;; + *-netbsd*) + # Check for available headers. + for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \ + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:6205: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6210 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:6215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + + SECTION_FLAGS='-ffunction-sections -fdata-sections' + + + # If we're not using GNU ld, then there's no point in even trying these + # tests. Check for that first. We should have already tested for gld + # by now (in libtool), but require it now just to be safe... + test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS='' + test -z "$OPT_LDFLAGS" && OPT_LDFLAGS='' + + + # The name set by libtool depends on the version of libtool. Shame on us + # for depending on an impl detail, but c'est la vie. Older versions used + # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on + # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually + # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't + # set (hence we're using an older libtool), then set it. + if test x${with_gnu_ld+set} != xset; then + if test x${ac_cv_prog_gnu_ld+set} != xset; then + # We got through "ac_require(ac_prog_ld)" and still not set? Huh? + with_gnu_ld=no else - echo "$ac_t"""no"" 1>&6 + with_gnu_ld=$ac_cv_prog_gnu_ld fi - else - echo "configure: warning: wchar_t support disabled." 1>&2 fi - os_include_dir="config/os/hpux" + # Start by getting the version number. I think the libtool test already + # does some of this, but throws away the result. + + ldver=`$LD --version 2>/dev/null | head -1 | \ + sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'` + + glibcpp_gnu_ld_version=`echo $ldver | \ + $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'` + + # Set --gc-sections. + if test "$with_gnu_ld" = "notbroken"; then + # GNU ld it is! Joy and bunny rabbits! + + # All these tests are for C++; save the language and the compiler flags. + # Need to do this so that g++ won't try to link in libstdc++ + ac_test_CFLAGS="${CFLAGS+set}" + ac_save_CFLAGS="$CFLAGS" + CFLAGS='-x c++ -Wl,--gc-sections' + + # Check for -Wl,--gc-sections + # XXX This test is broken at the moment, as symbols required for + # linking are now in libsupc++ (not built yet.....). In addition, + # this test has cored on solaris in the past. In addition, + # --gc-sections doesn't really work at the moment (keeps on discarding + # used sections, first .eh_frame and now some of the glibc sections for + # iconv). Bzzzzt. Thanks for playing, maybe next time. + echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 +echo "configure:6293: checking for ld that supports -Wl,--gc-sections" >&5 + if test "$cross_compiling" = yes; then + ac_sectionLDflags=yes +else + cat > conftest.$ac_ext <<EOF +#line 6298 "configure" +#include "confdefs.h" + + int main(void) + { + try { throw 1; } + catch (...) { }; + return 0; + } + +EOF +if { (eval echo configure:6309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_sectionLDflags=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_sectionLDflags=no +fi +rm -fr conftest* +fi + + if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" + else + # this is the suspicious part + CFLAGS='' + fi + if test "$ac_sectionLDflags" = "yes"; then + SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS" + fi + echo "$ac_t""$ac_sectionLDflags" 1>&6 + fi + + # Set linker optimization flags. + if test x"$with_gnu_ld" = x"yes"; then + OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" + fi + + + + + + echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 +echo "configure:6343: checking for main in -lm" >&5 +ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lm $LIBS" +cat > conftest.$ac_ext <<EOF +#line 6351 "configure" +#include "confdefs.h" + +int main() { +main() +; return 0; } +EOF +if { (eval echo configure:6358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lm $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + + for ac_func in nan copysignf +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6388: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6393 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo" +fi +done + + + for ac_func in __signbit +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6445: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6450 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +LIBMATHOBJS="$LIBMATHOBJS signbit.lo" +fi +done + + for ac_func in __signbitf +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6501: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6506 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +LIBMATHOBJS="$LIBMATHOBJS signbitf.lo" +fi +done + + + if test x$ac_cv_func_copysignl = x"yes"; then + for ac_func in __signbitl +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6559: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6564 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +LIBMATHOBJS="$LIBMATHOBJS signbitl.lo" +fi +done + + fi + + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi + + + +if test "$need_libmath" = yes; then + GLIBCPP_BUILD_LIBMATH_TRUE= + GLIBCPP_BUILD_LIBMATH_FALSE='#' +else + GLIBCPP_BUILD_LIBMATH_TRUE='#' + GLIBCPP_BUILD_LIBMATH_FALSE= +fi + + + enable_wchar_t=no + + echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 +echo "configure:6632: checking for mbstate_t" >&5 + cat > conftest.$ac_ext <<EOF +#line 6634 "configure" +#include "confdefs.h" +#include <wchar.h> +int main() { +mbstate_t teststate; +; return 0; } +EOF +if { (eval echo configure:6641: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + have_mbstate_t=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + have_mbstate_t=no +fi +rm -f conftest* + echo "$ac_t""$have_mbstate_t" 1>&6 + if test x"$have_mbstate_t" = xyes; then + cat >> confdefs.h <<\EOF +#define HAVE_MBSTATE_T 1 +EOF + + fi + + for ac_hdr in wchar.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:6663: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6668 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:6673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + ac_has_wchar_h=yes +else + echo "$ac_t""no" 1>&6 +ac_has_wchar_h=no +fi +done + + for ac_hdr in wctype.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:6704: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6709 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:6714: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + ac_has_wctype_h=yes +else + echo "$ac_t""no" 1>&6 +ac_has_wctype_h=no +fi +done + + + if test x"$ac_has_wchar_h" = xyes && + test x"$ac_has_wctype_h" = xyes && + test x"$enable_c_mbchar" != xno; then + + echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 +echo "configure:6747: checking for WCHAR_MIN and WCHAR_MAX" >&5 + cat > conftest.$ac_ext <<EOF +#line 6749 "configure" +#include "confdefs.h" +#include <wchar.h> +int main() { +int i = WCHAR_MIN; int j = WCHAR_MAX; +; return 0; } +EOF +if { (eval echo configure:6756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + has_wchar_minmax=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + has_wchar_minmax=no +fi +rm -f conftest* + echo "$ac_t""$has_wchar_minmax" 1>&6 + + echo $ac_n "checking for WEOF""... $ac_c" 1>&6 +echo "configure:6769: checking for WEOF" >&5 + cat > conftest.$ac_ext <<EOF +#line 6771 "configure" +#include "confdefs.h" + + #include <wchar.h> + #include <stddef.h> +int main() { +wint_t i = WEOF; +; return 0; } +EOF +if { (eval echo configure:6780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + has_weof=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + has_weof=no +fi +rm -f conftest* + echo "$ac_t""$has_weof" 1>&6 + + ac_wfuncs=yes + for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6796: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6801 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +\ + ac_wfuncs=no +fi +done + + + for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \ + fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ + vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ + mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ + wcstoul wcscpy wcsncpy wcscat wcsncat wcscmp wcscoll wcsncmp wcsxfrm \ + wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6859: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6864 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +\ + ac_wfuncs=no +fi +done + + + echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 +echo "configure:6915: checking for ISO C99 wchar_t support" >&5 + if test x"$has_weof" = xyes && + test x"$has_wchar_minmax" = xyes && + test x"$ac_wfuncs" = xyes; then + ac_isoC99_wchar_t=yes + else + ac_isoC99_wchar_t=no + fi + echo "$ac_t""$ac_isoC99_wchar_t" 1>&6 + + ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 +echo "configure:6927: checking for iconv.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6932 "configure" +#include "confdefs.h" +#include <iconv.h> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:6937: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_has_iconv_h=yes +else + echo "$ac_t""no" 1>&6 +ac_has_iconv_h=no +fi + + ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 +echo "configure:6961: checking for langinfo.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 6966 "configure" +#include "confdefs.h" +#include <langinfo.h> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:6971: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_has_langinfo_h=yes +else + echo "$ac_t""no" 1>&6 +ac_has_langinfo_h=no +fi + + + echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 +echo "configure:6995: checking for iconv in -liconv" >&5 +ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-liconv $LIBS" +cat > conftest.$ac_ext <<EOF +#line 7003 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char iconv(); + +int main() { +iconv() +; return 0; } +EOF +if { (eval echo configure:7014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + libiconv="-liconv" +else + echo "$ac_t""no" 1>&6 +fi + + ac_save_LIBS="$LIBS" + LIBS="$LIBS $libiconv" + + for ac_func in iconv_open iconv_close iconv nl_langinfo +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7040: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 7045 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:7068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + \ + ac_XPG2funcs=yes +else + echo "$ac_t""no" 1>&6 +ac_XPG2funcs=no +fi +done + + + LIBS="$ac_save_LIBS" + + echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 +echo "configure:7098: checking for XPG2 wchar_t support" >&5 + if test x"$ac_has_iconv_h" = xyes && + test x"$ac_has_langinfo_h" = xyes && + test x"$ac_XPG2funcs" = xyes; then + ac_XPG2_wchar_t=yes + else + ac_XPG2_wchar_t=no + fi + echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 + + if test x"$ac_isoC99_wchar_t" = xyes && + test x"$ac_XPG2_wchar_t" = xyes; then + cat >> confdefs.h <<\EOF +#define _GLIBCPP_USE_WCHAR_T 1 +EOF + + enable_wchar_t=yes + fi + fi + echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 +echo "configure:7118: checking for enabled wchar_t specializations" >&5 + echo "$ac_t""$enable_wchar_t" 1>&6 + + +if test "$enable_wchar_t" = yes; then + GLIBCPP_TEST_WCHAR_T_TRUE= + GLIBCPP_TEST_WCHAR_T_FALSE='#' +else + GLIBCPP_TEST_WCHAR_T_TRUE='#' + GLIBCPP_TEST_WCHAR_T_FALSE= +fi + + os_include_dir="os/bsd/netbsd" cat >> confdefs.h <<\EOF #define HAVE_COPYSIGN 1 EOF @@ -5964,41 +7140,68 @@ EOF EOF cat >> confdefs.h <<\EOF +#define HAVE_FINITE 1 +EOF + + cat >> confdefs.h <<\EOF #define HAVE_FREXPF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_HYPOT 1 +#define HAVE_HYPOTF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_SINCOS 1 +#define HAVE_ISINF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_SINCOSF 1 +#define HAVE_ISINFF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNAN 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNANF 1 +EOF + + if test x"long_double_math_on_this_cpu" = x"yes"; then + cat >> confdefs.h <<\EOF +#define HAVE_FINITEL 1 EOF + cat >> confdefs.h <<\EOF +#define HAVE_ISINFL 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNANL 1 +EOF + + fi ;; - *-netbsd*) + *-freebsd*) # Check for available headers. for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \ - machine/endian.h machine/param.h sys/machine.h sys/types.h \ - fp.h locale.h float.h inttypes.h + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h sys/resource.h sys/stat.h \ + sys/time.h unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5992: checking for $ac_hdr" >&5 +echo "configure:7195: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5997 "configure" +#line 7200 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6002: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7205: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6076,12 +7279,12 @@ done # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 -echo "configure:6080: checking for ld that supports -Wl,--gc-sections" >&5 +echo "configure:7283: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <<EOF -#line 6085 "configure" +#line 7288 "configure" #include "confdefs.h" int main(void) @@ -6092,7 +7295,7 @@ else } EOF -if { (eval echo configure:6096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else @@ -6117,7 +7320,7 @@ fi fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -6126,7 +7329,7 @@ fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:6130: checking for main in -lm" >&5 +echo "configure:7333: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6134,14 +7337,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 6138 "configure" +#line 7341 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:6145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6171,12 +7374,12 @@ fi for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6175: checking for $ac_func" >&5 +echo "configure:7378: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6180 "configure" +#line 7383 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6199,7 +7402,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6228,12 +7431,12 @@ done for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6232: checking for $ac_func" >&5 +echo "configure:7435: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6237 "configure" +#line 7440 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6256,7 +7459,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6284,12 +7487,12 @@ done for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6288: checking for $ac_func" >&5 +echo "configure:7491: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6293 "configure" +#line 7496 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6312,7 +7515,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6342,12 +7545,12 @@ done for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6346: checking for $ac_func" >&5 +echo "configure:7549: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6351 "configure" +#line 7554 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6370,7 +7573,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6397,21 +7600,34 @@ done fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi + +if test "$need_libmath" = yes; then + GLIBCPP_BUILD_LIBMATH_TRUE= + GLIBCPP_BUILD_LIBMATH_FALSE='#' +else + GLIBCPP_BUILD_LIBMATH_TRUE='#' + GLIBCPP_BUILD_LIBMATH_FALSE= +fi + + enable_wchar_t=no echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 -echo "configure:6406: checking for mbstate_t" >&5 +echo "configure:7622: checking for mbstate_t" >&5 cat > conftest.$ac_ext <<EOF -#line 6408 "configure" +#line 7624 "configure" #include "confdefs.h" #include <wchar.h> int main() { mbstate_t teststate; ; return 0; } EOF -if { (eval echo configure:6415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else @@ -6433,17 +7649,17 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6437: checking for $ac_hdr" >&5 +echo "configure:7653: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6442 "configure" +#line 7658 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6447: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7663: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6474,17 +7690,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6478: checking for $ac_hdr" >&5 +echo "configure:7694: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6483 "configure" +#line 7699 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6488: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6517,16 +7733,16 @@ done test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 -echo "configure:6521: checking for WCHAR_MIN and WCHAR_MAX" >&5 +echo "configure:7737: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext <<EOF -#line 6523 "configure" +#line 7739 "configure" #include "confdefs.h" #include <wchar.h> int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF -if { (eval echo configure:6530: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else @@ -6539,9 +7755,9 @@ rm -f conftest* echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 -echo "configure:6543: checking for WEOF" >&5 +echo "configure:7759: checking for WEOF" >&5 cat > conftest.$ac_ext <<EOF -#line 6545 "configure" +#line 7761 "configure" #include "confdefs.h" #include <wchar.h> @@ -6550,7 +7766,7 @@ int main() { wint_t i = WEOF; ; return 0; } EOF -if { (eval echo configure:6554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else @@ -6566,12 +7782,12 @@ rm -f conftest* for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6570: checking for $ac_func" >&5 +echo "configure:7786: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6575 "configure" +#line 7791 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6594,7 +7810,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6621,7 +7837,7 @@ fi done - for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -6629,12 +7845,12 @@ done wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6633: checking for $ac_func" >&5 +echo "configure:7849: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6638 "configure" +#line 7854 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6657,7 +7873,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6685,7 +7901,7 @@ done echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 -echo "configure:6689: checking for ISO C99 wchar_t support" >&5 +echo "configure:7905: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes && test x"$ac_wfuncs" = xyes; then @@ -6697,17 +7913,17 @@ echo "configure:6689: checking for ISO C99 wchar_t support" >&5 ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 -echo "configure:6701: checking for iconv.h" >&5 +echo "configure:7917: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6706 "configure" +#line 7922 "configure" #include "confdefs.h" #include <iconv.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6711: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6731,17 +7947,17 @@ fi ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 -echo "configure:6735: checking for langinfo.h" >&5 +echo "configure:7951: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6740 "configure" +#line 7956 "configure" #include "confdefs.h" #include <langinfo.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6745: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7961: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6765,7 +7981,7 @@ fi echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 -echo "configure:6769: checking for iconv in -liconv" >&5 +echo "configure:7985: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6773,7 +7989,7 @@ else ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext <<EOF -#line 6777 "configure" +#line 7993 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6784,7 +8000,7 @@ int main() { iconv() ; return 0; } EOF -if { (eval echo configure:6788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6810,12 +8026,12 @@ fi for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6814: checking for $ac_func" >&5 +echo "configure:8030: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6819 "configure" +#line 8035 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6838,7 +8054,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6868,7 +8084,7 @@ done LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 -echo "configure:6872: checking for XPG2 wchar_t support" >&5 +echo "configure:8088: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes && test x"$ac_XPG2funcs" = xyes; then @@ -6878,23 +8094,49 @@ echo "configure:6872: checking for XPG2 wchar_t support" >&5 fi echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 - echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 -echo "configure:6883: checking for enabled wchar_t specializations" >&5 - if test x"$ac_isoC99_wchar_t" = xyes && + if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_WCHAR_T 1 EOF - echo "$ac_t"""yes"" 1>&6 - else - echo "$ac_t"""no"" 1>&6 + enable_wchar_t=yes fi - else - echo "configure: warning: wchar_t support disabled." 1>&2 fi + echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 +echo "configure:8108: checking for enabled wchar_t specializations" >&5 + echo "$ac_t""$enable_wchar_t" 1>&6 + + +if test "$enable_wchar_t" = yes; then + GLIBCPP_TEST_WCHAR_T_TRUE= + GLIBCPP_TEST_WCHAR_T_FALSE='#' +else + GLIBCPP_TEST_WCHAR_T_TRUE='#' + GLIBCPP_TEST_WCHAR_T_FALSE= +fi + + os_include_dir="os/bsd/freebsd" + cat >> confdefs.h <<\EOF +#define HAVE_LC_MESSAGES 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_DRAND48 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_GETPAGESIZE 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_SETENV 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_SIGSETJMP 1 +EOF - os_include_dir="config/os/bsd/netbsd" cat >> confdefs.h <<\EOF #define HAVE_COPYSIGN 1 EOF @@ -6908,30 +8150,64 @@ EOF EOF cat >> confdefs.h <<\EOF +#define HAVE_FINITE 1 +EOF + + cat >> confdefs.h <<\EOF #define HAVE_FREXPF 1 EOF cat >> confdefs.h <<\EOF +#define HAVE_HYPOT 1 +EOF + + cat >> confdefs.h <<\EOF #define HAVE_HYPOTF 1 EOF + cat >> confdefs.h <<\EOF +#define HAVE_ISINF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNAN 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNANF 1 +EOF + + if test x"long_double_math_on_this_cpu" = x"yes"; then + cat >> confdefs.h <<\EOF +#define HAVE_FINITEL 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISINFL 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ISNANL 1 +EOF + + fi ;; *-mingw32*) for ac_hdr in sys/types.h locale.h float.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6925: checking for $ac_hdr" >&5 +echo "configure:8201: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6930 "configure" +#line 8206 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8211: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7007,12 +8283,12 @@ done # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 -echo "configure:7011: checking for ld that supports -Wl,--gc-sections" >&5 +echo "configure:8287: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <<EOF -#line 7016 "configure" +#line 8292 "configure" #include "confdefs.h" int main(void) @@ -7023,7 +8299,7 @@ else } EOF -if { (eval echo configure:7027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:8303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else @@ -7048,7 +8324,7 @@ fi fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -7057,7 +8333,7 @@ fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:7061: checking for main in -lm" >&5 +echo "configure:8337: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7065,14 +8341,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 7069 "configure" +#line 8345 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:7076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7102,12 +8378,12 @@ fi for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7106: checking for $ac_func" >&5 +echo "configure:8382: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7111 "configure" +#line 8387 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7130,7 +8406,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:7134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7159,12 +8435,12 @@ done for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7163: checking for $ac_func" >&5 +echo "configure:8439: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7168 "configure" +#line 8444 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7187,7 +8463,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:7191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7215,12 +8491,12 @@ done for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7219: checking for $ac_func" >&5 +echo "configure:8495: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7224 "configure" +#line 8500 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7243,7 +8519,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:7247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7273,12 +8549,12 @@ done for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7277: checking for $ac_func" >&5 +echo "configure:8553: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7282 "configure" +#line 8558 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7301,7 +8577,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:7305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7328,21 +8604,34 @@ done fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi + +if test "$need_libmath" = yes; then + GLIBCPP_BUILD_LIBMATH_TRUE= + GLIBCPP_BUILD_LIBMATH_FALSE='#' +else + GLIBCPP_BUILD_LIBMATH_TRUE='#' + GLIBCPP_BUILD_LIBMATH_FALSE= +fi + + enable_wchar_t=no echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 -echo "configure:7337: checking for mbstate_t" >&5 +echo "configure:8626: checking for mbstate_t" >&5 cat > conftest.$ac_ext <<EOF -#line 7339 "configure" +#line 8628 "configure" #include "confdefs.h" #include <wchar.h> int main() { mbstate_t teststate; ; return 0; } EOF -if { (eval echo configure:7346: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else @@ -7364,17 +8653,17 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7368: checking for $ac_hdr" >&5 +echo "configure:8657: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7373 "configure" +#line 8662 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7378: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8667: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7405,17 +8694,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7409: checking for $ac_hdr" >&5 +echo "configure:8698: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7414 "configure" +#line 8703 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7419: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8708: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7448,16 +8737,16 @@ done test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 -echo "configure:7452: checking for WCHAR_MIN and WCHAR_MAX" >&5 +echo "configure:8741: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext <<EOF -#line 7454 "configure" +#line 8743 "configure" #include "confdefs.h" #include <wchar.h> int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF -if { (eval echo configure:7461: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else @@ -7470,9 +8759,9 @@ rm -f conftest* echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 -echo "configure:7474: checking for WEOF" >&5 +echo "configure:8763: checking for WEOF" >&5 cat > conftest.$ac_ext <<EOF -#line 7476 "configure" +#line 8765 "configure" #include "confdefs.h" #include <wchar.h> @@ -7481,7 +8770,7 @@ int main() { wint_t i = WEOF; ; return 0; } EOF -if { (eval echo configure:7485: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else @@ -7497,12 +8786,12 @@ rm -f conftest* for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7501: checking for $ac_func" >&5 +echo "configure:8790: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7506 "configure" +#line 8795 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7525,7 +8814,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:7529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7552,7 +8841,7 @@ fi done - for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -7560,12 +8849,12 @@ done wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7564: checking for $ac_func" >&5 +echo "configure:8853: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7569 "configure" +#line 8858 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7588,7 +8877,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:7592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7616,7 +8905,7 @@ done echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 -echo "configure:7620: checking for ISO C99 wchar_t support" >&5 +echo "configure:8909: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes && test x"$ac_wfuncs" = xyes; then @@ -7628,17 +8917,17 @@ echo "configure:7620: checking for ISO C99 wchar_t support" >&5 ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 -echo "configure:7632: checking for iconv.h" >&5 +echo "configure:8921: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7637 "configure" +#line 8926 "configure" #include "confdefs.h" #include <iconv.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7662,17 +8951,17 @@ fi ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 -echo "configure:7666: checking for langinfo.h" >&5 +echo "configure:8955: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7671 "configure" +#line 8960 "configure" #include "confdefs.h" #include <langinfo.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7676: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8965: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7696,7 +8985,7 @@ fi echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 -echo "configure:7700: checking for iconv in -liconv" >&5 +echo "configure:8989: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7704,7 +8993,7 @@ else ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext <<EOF -#line 7708 "configure" +#line 8997 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7715,7 +9004,7 @@ int main() { iconv() ; return 0; } EOF -if { (eval echo configure:7719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7741,12 +9030,12 @@ fi for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7745: checking for $ac_func" >&5 +echo "configure:9034: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7750 "configure" +#line 9039 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7769,7 +9058,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:7773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7799,7 +9088,7 @@ done LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 -echo "configure:7803: checking for XPG2 wchar_t support" >&5 +echo "configure:9092: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes && test x"$ac_XPG2funcs" = xyes; then @@ -7809,23 +9098,32 @@ echo "configure:7803: checking for XPG2 wchar_t support" >&5 fi echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 - echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 -echo "configure:7814: checking for enabled wchar_t specializations" >&5 - if test x"$ac_isoC99_wchar_t" = xyes && + if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_WCHAR_T 1 EOF - echo "$ac_t"""yes"" 1>&6 - else - echo "$ac_t"""no"" 1>&6 + enable_wchar_t=yes fi - else - echo "configure: warning: wchar_t support disabled." 1>&2 fi + echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 +echo "configure:9112: checking for enabled wchar_t specializations" >&5 + echo "$ac_t""$enable_wchar_t" 1>&6 + + +if test "$enable_wchar_t" = yes; then + GLIBCPP_TEST_WCHAR_T_TRUE= + GLIBCPP_TEST_WCHAR_T_FALSE='#' +else + GLIBCPP_TEST_WCHAR_T_TRUE='#' + GLIBCPP_TEST_WCHAR_T_FALSE= +fi - os_include_dir="config/os/mingw32" + os_include_dir="os/mingw32" + ;; + *-windiss*) + os_include_dir="os/windiss" ;; *-qnx6.[12]*) SECTION_FLAGS='-ffunction-sections -fdata-sections' @@ -7880,12 +9178,12 @@ EOF # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 -echo "configure:7884: checking for ld that supports -Wl,--gc-sections" >&5 +echo "configure:9182: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <<EOF -#line 7889 "configure" +#line 9187 "configure" #include "confdefs.h" int main(void) @@ -7896,7 +9194,7 @@ else } EOF -if { (eval echo configure:7900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:9198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else @@ -7921,7 +9219,7 @@ fi fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -7930,7 +9228,7 @@ fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:7934: checking for main in -lm" >&5 +echo "configure:9232: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -7938,14 +9236,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 7942 "configure" +#line 9240 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:7949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7975,12 +9273,12 @@ fi for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7979: checking for $ac_func" >&5 +echo "configure:9277: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 7984 "configure" +#line 9282 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8003,7 +9301,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8032,12 +9330,12 @@ done for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8036: checking for $ac_func" >&5 +echo "configure:9334: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8041 "configure" +#line 9339 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8060,7 +9358,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8088,12 +9386,12 @@ done for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8092: checking for $ac_func" >&5 +echo "configure:9390: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8097 "configure" +#line 9395 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8116,7 +9414,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8146,12 +9444,12 @@ done for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8150: checking for $ac_func" >&5 +echo "configure:9448: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8155 "configure" +#line 9453 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8174,7 +9472,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9476: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8201,21 +9499,34 @@ done fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi + +if test "$need_libmath" = yes; then + GLIBCPP_BUILD_LIBMATH_TRUE= + GLIBCPP_BUILD_LIBMATH_FALSE='#' +else + GLIBCPP_BUILD_LIBMATH_TRUE='#' + GLIBCPP_BUILD_LIBMATH_FALSE= +fi + + enable_wchar_t=no echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 -echo "configure:8210: checking for mbstate_t" >&5 +echo "configure:9521: checking for mbstate_t" >&5 cat > conftest.$ac_ext <<EOF -#line 8212 "configure" +#line 9523 "configure" #include "confdefs.h" #include <wchar.h> int main() { mbstate_t teststate; ; return 0; } EOF -if { (eval echo configure:8219: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9530: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else @@ -8237,17 +9548,17 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:8241: checking for $ac_hdr" >&5 +echo "configure:9552: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8246 "configure" +#line 9557 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8251: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9562: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8278,17 +9589,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:8282: checking for $ac_hdr" >&5 +echo "configure:9593: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8287 "configure" +#line 9598 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8292: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8321,16 +9632,16 @@ done test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 -echo "configure:8325: checking for WCHAR_MIN and WCHAR_MAX" >&5 +echo "configure:9636: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext <<EOF -#line 8327 "configure" +#line 9638 "configure" #include "confdefs.h" #include <wchar.h> int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF -if { (eval echo configure:8334: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9645: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else @@ -8343,9 +9654,9 @@ rm -f conftest* echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 -echo "configure:8347: checking for WEOF" >&5 +echo "configure:9658: checking for WEOF" >&5 cat > conftest.$ac_ext <<EOF -#line 8349 "configure" +#line 9660 "configure" #include "confdefs.h" #include <wchar.h> @@ -8354,7 +9665,7 @@ int main() { wint_t i = WEOF; ; return 0; } EOF -if { (eval echo configure:8358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else @@ -8370,12 +9681,12 @@ rm -f conftest* for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8374: checking for $ac_func" >&5 +echo "configure:9685: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8379 "configure" +#line 9690 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8398,7 +9709,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9713: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8425,7 +9736,7 @@ fi done - for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -8433,12 +9744,12 @@ done wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8437: checking for $ac_func" >&5 +echo "configure:9748: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8442 "configure" +#line 9753 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8461,7 +9772,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8489,7 +9800,7 @@ done echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 -echo "configure:8493: checking for ISO C99 wchar_t support" >&5 +echo "configure:9804: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes && test x"$ac_wfuncs" = xyes; then @@ -8501,17 +9812,17 @@ echo "configure:8493: checking for ISO C99 wchar_t support" >&5 ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 -echo "configure:8505: checking for iconv.h" >&5 +echo "configure:9816: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8510 "configure" +#line 9821 "configure" #include "confdefs.h" #include <iconv.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8515: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8535,17 +9846,17 @@ fi ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 -echo "configure:8539: checking for langinfo.h" >&5 +echo "configure:9850: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8544 "configure" +#line 9855 "configure" #include "confdefs.h" #include <langinfo.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8549: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8569,7 +9880,7 @@ fi echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 -echo "configure:8573: checking for iconv in -liconv" >&5 +echo "configure:9884: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -8577,7 +9888,7 @@ else ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext <<EOF -#line 8581 "configure" +#line 9892 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8588,7 +9899,7 @@ int main() { iconv() ; return 0; } EOF -if { (eval echo configure:8592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8614,12 +9925,12 @@ fi for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8618: checking for $ac_func" >&5 +echo "configure:9929: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 8623 "configure" +#line 9934 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8642,7 +9953,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:8646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8672,7 +9983,7 @@ done LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 -echo "configure:8676: checking for XPG2 wchar_t support" >&5 +echo "configure:9987: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes && test x"$ac_XPG2funcs" = xyes; then @@ -8682,23 +9993,29 @@ echo "configure:8676: checking for XPG2 wchar_t support" >&5 fi echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 - echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 -echo "configure:8687: checking for enabled wchar_t specializations" >&5 - if test x"$ac_isoC99_wchar_t" = xyes && + if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_WCHAR_T 1 EOF - echo "$ac_t"""yes"" 1>&6 - else - echo "$ac_t"""no"" 1>&6 + enable_wchar_t=yes fi - else - echo "configure: warning: wchar_t support disabled." 1>&2 fi + echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 +echo "configure:10007: checking for enabled wchar_t specializations" >&5 + echo "$ac_t""$enable_wchar_t" 1>&6 + + +if test "$enable_wchar_t" = yes; then + GLIBCPP_TEST_WCHAR_T_TRUE= + GLIBCPP_TEST_WCHAR_T_FALSE='#' +else + GLIBCPP_TEST_WCHAR_T_TRUE='#' + GLIBCPP_TEST_WCHAR_T_FALSE= +fi - os_include_dir="config/os/qnx/qnx6.1" + os_include_dir="os/qnx/qnx6.1" cat >> confdefs.h <<\EOF #define HAVE_COSF 1 EOF @@ -8749,7 +10066,7 @@ EOF ;; *) - os_include_dir="config/os/newlib" + os_include_dir="os/newlib" cat >> confdefs.h <<\EOF #define HAVE_HYPOT 1 EOF @@ -8760,21 +10077,109 @@ EOF case "$target" in *-mingw32*) ;; - *) - # GLIBCPP_CHECK_STDLIB_SUPPORT + *-windiss*) cat >> confdefs.h <<\EOF -#define HAVE_STRTOF 1 +#define HAVE_ACOSF 1 EOF - + cat >> confdefs.h <<\EOF -#define HAVE_STRTOLD 1 +#define HAVE_ASINF 1 EOF - - # AC_FUNC_MMAP + cat >> confdefs.h <<\EOF -#define HAVE_MMAP 1 +#define HAVE_ATAN2F 1 EOF + cat >> confdefs.h <<\EOF +#define HAVE_ATANF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_CEILF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COPYSIGN 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COPYSIGNF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COSF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COSHF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_EXPF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FABSF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FLOORF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FMODF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FREXPF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_LDEXPF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_LOG10F 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_LOGF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_MODFF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_POWF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_SINF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_SINHF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_SQRTF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_TANF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_TANHF 1 +EOF + + ;; + *-freebsd*) + # Must replicate generic section since we don't have strtof or strtold. + cat >> confdefs.h <<\EOF +#define HAVE_MMAP 1 +EOF cat >> confdefs.h <<\EOF #define HAVE_ACOSF 1 @@ -8821,39 +10226,128 @@ EOF EOF cat >> confdefs.h <<\EOF -#define HAVE_FINITE 1 +#define HAVE_FLOORF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_FINITEF 1 +#define HAVE_FMODF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_FLOORF 1 +#define HAVE_FREXPF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_FMODF 1 +#define HAVE_LDEXPF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_FREXPF 1 +#define HAVE_LOG10F 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_ISINF 1 +#define HAVE_LOGF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_ISINFF 1 +#define HAVE_MODFF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_ISNAN 1 +#define HAVE_POWF 1 EOF cat >> confdefs.h <<\EOF -#define HAVE_ISNANF 1 +#define HAVE_SINF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_SINHF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_SQRTF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_TANF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_TANHF 1 +EOF + + ;; + *) + # GLIBCPP_CHECK_STDLIB_SUPPORT + cat >> confdefs.h <<\EOF +#define HAVE_STRTOF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_STRTOLD 1 +EOF + + # AC_FUNC_MMAP + cat >> confdefs.h <<\EOF +#define HAVE_MMAP 1 +EOF + + + cat >> confdefs.h <<\EOF +#define HAVE_ACOSF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ASINF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ATAN2F 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_ATANF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_CEILF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COPYSIGN 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COPYSIGNF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COSF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_COSHF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_EXPF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FABSF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FLOORF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FMODF 1 +EOF + + cat >> confdefs.h <<\EOF +#define HAVE_FREXPF 1 EOF cat >> confdefs.h <<\EOF @@ -8944,10 +10438,6 @@ EOF EOF cat >> confdefs.h <<\EOF -#define HAVE_FINITEL 1 -EOF - - cat >> confdefs.h <<\EOF #define HAVE_FLOORL 1 EOF @@ -8960,14 +10450,6 @@ EOF EOF cat >> confdefs.h <<\EOF -#define HAVE_ISINFL 1 -EOF - - cat >> confdefs.h <<\EOF -#define HAVE_ISNANL 1 -EOF - - cat >> confdefs.h <<\EOF #define HAVE_LDEXPL 1 EOF @@ -9012,6 +10494,7 @@ EOF EOF fi + else # We are being configured natively. We can do more elaborate tests @@ -9026,17 +10509,17 @@ else do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:9030: checking for $ac_hdr" >&5 +echo "configure:10513: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9035 "configure" +#line 10518 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9040: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9087,10 +10570,10 @@ cross_compiling=$ac_cv_prog_cxx_cross # Check for -ffunction-sections -fdata-sections echo $ac_n "checking for g++ that supports -ffunction-sections -fdata-sections""... $ac_c" 1>&6 -echo "configure:9091: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 +echo "configure:10574: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 CXXFLAGS='-Werror -ffunction-sections -fdata-sections' cat > conftest.$ac_ext <<EOF -#line 9094 "configure" +#line 10577 "configure" #include "confdefs.h" int main() { @@ -9098,7 +10581,7 @@ int foo; ; return 0; } EOF -if { (eval echo configure:9102: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10585: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_fdsections=yes else @@ -9114,8 +10597,7 @@ rm -f conftest* # this is the suspicious part CXXFLAGS='' fi - if test x"$ac_fdsections" = x"yes" && - test x"$enable_debug" = x"no"; then + if test x"$ac_fdsections" = x"yes"; then SECTION_FLAGS='-ffunction-sections -fdata-sections' fi echo "$ac_t""$ac_fdsections" 1>&6 @@ -9180,12 +10662,12 @@ cross_compiling=$ac_cv_prog_cc_cross # used sections, first .eh_frame and now some of the glibc sections for # iconv). Bzzzzt. Thanks for playing, maybe next time. echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6 -echo "configure:9184: checking for ld that supports -Wl,--gc-sections" >&5 +echo "configure:10666: checking for ld that supports -Wl,--gc-sections" >&5 if test "$cross_compiling" = yes; then ac_sectionLDflags=yes else cat > conftest.$ac_ext <<EOF -#line 9189 "configure" +#line 10671 "configure" #include "confdefs.h" int main(void) @@ -9196,7 +10678,7 @@ else } EOF -if { (eval echo configure:9200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:10682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_sectionLDflags=yes else @@ -9221,7 +10703,7 @@ fi fi # Set linker optimization flags. - if test x"$with_gnu_ld" = x"yes" && test x"$enable_debug" = x"no"; then + if test x"$with_gnu_ld" = x"yes"; then OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS" fi @@ -9231,7 +10713,7 @@ fi echo $ac_n "checking for __builtin_abs declaration""... $ac_c" 1>&6 -echo "configure:9235: checking for __builtin_abs declaration" >&5 +echo "configure:10717: checking for __builtin_abs declaration" >&5 if test x${glibcpp_cv_func___builtin_abs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9246,14 +10728,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9250 "configure" +#line 10732 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_abs(0); ; return 0; } EOF -if { (eval echo configure:9257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_abs_use=yes else @@ -9277,21 +10759,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_abs_use" 1>&6 if test x$glibcpp_cv_func___builtin_abs_use = x"yes"; then echo $ac_n "checking for __builtin_abs linkage""... $ac_c" 1>&6 -echo "configure:9281: checking for __builtin_abs linkage" >&5 +echo "configure:10763: checking for __builtin_abs linkage" >&5 if test x${glibcpp_cv_func___builtin_abs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_abs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9288 "configure" +#line 10770 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_abs(0); ; return 0; } EOF -if { (eval echo configure:9295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_abs_link=yes else @@ -9317,7 +10799,7 @@ EOF echo $ac_n "checking for __builtin_fabsf declaration""... $ac_c" 1>&6 -echo "configure:9321: checking for __builtin_fabsf declaration" >&5 +echo "configure:10803: checking for __builtin_fabsf declaration" >&5 if test x${glibcpp_cv_func___builtin_fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9332,14 +10814,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9336 "configure" +#line 10818 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_fabsf(0); ; return 0; } EOF -if { (eval echo configure:9343: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_use=yes else @@ -9363,21 +10845,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_fabsf_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabsf_use = x"yes"; then echo $ac_n "checking for __builtin_fabsf linkage""... $ac_c" 1>&6 -echo "configure:9367: checking for __builtin_fabsf linkage" >&5 +echo "configure:10849: checking for __builtin_fabsf linkage" >&5 if test x${glibcpp_cv_func___builtin_fabsf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9374 "configure" +#line 10856 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_fabsf(0); ; return 0; } EOF -if { (eval echo configure:9381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabsf_link=yes else @@ -9403,7 +10885,7 @@ EOF echo $ac_n "checking for __builtin_fabs declaration""... $ac_c" 1>&6 -echo "configure:9407: checking for __builtin_fabs declaration" >&5 +echo "configure:10889: checking for __builtin_fabs declaration" >&5 if test x${glibcpp_cv_func___builtin_fabs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9418,14 +10900,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9422 "configure" +#line 10904 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_fabs(0); ; return 0; } EOF -if { (eval echo configure:9429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10911: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_use=yes else @@ -9449,21 +10931,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_fabs_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabs_use = x"yes"; then echo $ac_n "checking for __builtin_fabs linkage""... $ac_c" 1>&6 -echo "configure:9453: checking for __builtin_fabs linkage" >&5 +echo "configure:10935: checking for __builtin_fabs linkage" >&5 if test x${glibcpp_cv_func___builtin_fabs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9460 "configure" +#line 10942 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_fabs(0); ; return 0; } EOF -if { (eval echo configure:9467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabs_link=yes else @@ -9489,7 +10971,7 @@ EOF echo $ac_n "checking for __builtin_fabsl declaration""... $ac_c" 1>&6 -echo "configure:9493: checking for __builtin_fabsl declaration" >&5 +echo "configure:10975: checking for __builtin_fabsl declaration" >&5 if test x${glibcpp_cv_func___builtin_fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9504,14 +10986,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9508 "configure" +#line 10990 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_fabsl(0); ; return 0; } EOF -if { (eval echo configure:9515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_use=yes else @@ -9535,21 +11017,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_fabsl_use" 1>&6 if test x$glibcpp_cv_func___builtin_fabsl_use = x"yes"; then echo $ac_n "checking for __builtin_fabsl linkage""... $ac_c" 1>&6 -echo "configure:9539: checking for __builtin_fabsl linkage" >&5 +echo "configure:11021: checking for __builtin_fabsl linkage" >&5 if test x${glibcpp_cv_func___builtin_fabsl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_fabsl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9546 "configure" +#line 11028 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_fabsl(0); ; return 0; } EOF -if { (eval echo configure:9553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_fabsl_link=yes else @@ -9575,7 +11057,7 @@ EOF echo $ac_n "checking for __builtin_labs declaration""... $ac_c" 1>&6 -echo "configure:9579: checking for __builtin_labs declaration" >&5 +echo "configure:11061: checking for __builtin_labs declaration" >&5 if test x${glibcpp_cv_func___builtin_labs_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9590,14 +11072,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9594 "configure" +#line 11076 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_labs(0); ; return 0; } EOF -if { (eval echo configure:9601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11083: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_labs_use=yes else @@ -9621,21 +11103,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_labs_use" 1>&6 if test x$glibcpp_cv_func___builtin_labs_use = x"yes"; then echo $ac_n "checking for __builtin_labs linkage""... $ac_c" 1>&6 -echo "configure:9625: checking for __builtin_labs linkage" >&5 +echo "configure:11107: checking for __builtin_labs linkage" >&5 if test x${glibcpp_cv_func___builtin_labs_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_labs_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9632 "configure" +#line 11114 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_labs(0); ; return 0; } EOF -if { (eval echo configure:9639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_labs_link=yes else @@ -9662,7 +11144,7 @@ EOF echo $ac_n "checking for __builtin_sqrtf declaration""... $ac_c" 1>&6 -echo "configure:9666: checking for __builtin_sqrtf declaration" >&5 +echo "configure:11148: checking for __builtin_sqrtf declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9677,14 +11159,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9681 "configure" +#line 11163 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sqrtf(0); ; return 0; } EOF -if { (eval echo configure:9688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_use=yes else @@ -9708,21 +11190,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_sqrtf_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrtf_use = x"yes"; then echo $ac_n "checking for __builtin_sqrtf linkage""... $ac_c" 1>&6 -echo "configure:9712: checking for __builtin_sqrtf linkage" >&5 +echo "configure:11194: checking for __builtin_sqrtf linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrtf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9719 "configure" +#line 11201 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sqrtf(0); ; return 0; } EOF -if { (eval echo configure:9726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtf_link=yes else @@ -9748,7 +11230,7 @@ EOF echo $ac_n "checking for __builtin_sqrt declaration""... $ac_c" 1>&6 -echo "configure:9752: checking for __builtin_sqrt declaration" >&5 +echo "configure:11234: checking for __builtin_sqrt declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrt_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9763,14 +11245,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9767 "configure" +#line 11249 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sqrt(0); ; return 0; } EOF -if { (eval echo configure:9774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrt_use=yes else @@ -9794,21 +11276,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_sqrt_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrt_use = x"yes"; then echo $ac_n "checking for __builtin_sqrt linkage""... $ac_c" 1>&6 -echo "configure:9798: checking for __builtin_sqrt linkage" >&5 +echo "configure:11280: checking for __builtin_sqrt linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrt_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrt_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9805 "configure" +#line 11287 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sqrt(0); ; return 0; } EOF -if { (eval echo configure:9812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrt_link=yes else @@ -9834,7 +11316,7 @@ EOF echo $ac_n "checking for __builtin_sqrtl declaration""... $ac_c" 1>&6 -echo "configure:9838: checking for __builtin_sqrtl declaration" >&5 +echo "configure:11320: checking for __builtin_sqrtl declaration" >&5 if test x${glibcpp_cv_func___builtin_sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9849,14 +11331,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9853 "configure" +#line 11335 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sqrtl(0); ; return 0; } EOF -if { (eval echo configure:9860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_use=yes else @@ -9880,21 +11362,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_sqrtl_use" 1>&6 if test x$glibcpp_cv_func___builtin_sqrtl_use = x"yes"; then echo $ac_n "checking for __builtin_sqrtl linkage""... $ac_c" 1>&6 -echo "configure:9884: checking for __builtin_sqrtl linkage" >&5 +echo "configure:11366: checking for __builtin_sqrtl linkage" >&5 if test x${glibcpp_cv_func___builtin_sqrtl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sqrtl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9891 "configure" +#line 11373 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sqrtl(0); ; return 0; } EOF -if { (eval echo configure:9898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sqrtl_link=yes else @@ -9921,7 +11403,7 @@ EOF echo $ac_n "checking for __builtin_sinf declaration""... $ac_c" 1>&6 -echo "configure:9925: checking for __builtin_sinf declaration" >&5 +echo "configure:11407: checking for __builtin_sinf declaration" >&5 if test x${glibcpp_cv_func___builtin_sinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -9936,14 +11418,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 9940 "configure" +#line 11422 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sinf(0); ; return 0; } EOF -if { (eval echo configure:9947: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_use=yes else @@ -9967,21 +11449,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_sinf_use" 1>&6 if test x$glibcpp_cv_func___builtin_sinf_use = x"yes"; then echo $ac_n "checking for __builtin_sinf linkage""... $ac_c" 1>&6 -echo "configure:9971: checking for __builtin_sinf linkage" >&5 +echo "configure:11453: checking for __builtin_sinf linkage" >&5 if test x${glibcpp_cv_func___builtin_sinf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 9978 "configure" +#line 11460 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sinf(0); ; return 0; } EOF -if { (eval echo configure:9985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sinf_link=yes else @@ -10007,7 +11489,7 @@ EOF echo $ac_n "checking for __builtin_sin declaration""... $ac_c" 1>&6 -echo "configure:10011: checking for __builtin_sin declaration" >&5 +echo "configure:11493: checking for __builtin_sin declaration" >&5 if test x${glibcpp_cv_func___builtin_sin_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10022,14 +11504,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10026 "configure" +#line 11508 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sin(0); ; return 0; } EOF -if { (eval echo configure:10033: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sin_use=yes else @@ -10053,21 +11535,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_sin_use" 1>&6 if test x$glibcpp_cv_func___builtin_sin_use = x"yes"; then echo $ac_n "checking for __builtin_sin linkage""... $ac_c" 1>&6 -echo "configure:10057: checking for __builtin_sin linkage" >&5 +echo "configure:11539: checking for __builtin_sin linkage" >&5 if test x${glibcpp_cv_func___builtin_sin_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sin_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10064 "configure" +#line 11546 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sin(0); ; return 0; } EOF -if { (eval echo configure:10071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sin_link=yes else @@ -10093,7 +11575,7 @@ EOF echo $ac_n "checking for __builtin_sinl declaration""... $ac_c" 1>&6 -echo "configure:10097: checking for __builtin_sinl declaration" >&5 +echo "configure:11579: checking for __builtin_sinl declaration" >&5 if test x${glibcpp_cv_func___builtin_sinl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10108,14 +11590,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10112 "configure" +#line 11594 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sinl(0); ; return 0; } EOF -if { (eval echo configure:10119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_use=yes else @@ -10139,21 +11621,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_sinl_use" 1>&6 if test x$glibcpp_cv_func___builtin_sinl_use = x"yes"; then echo $ac_n "checking for __builtin_sinl linkage""... $ac_c" 1>&6 -echo "configure:10143: checking for __builtin_sinl linkage" >&5 +echo "configure:11625: checking for __builtin_sinl linkage" >&5 if test x${glibcpp_cv_func___builtin_sinl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_sinl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10150 "configure" +#line 11632 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_sinl(0); ; return 0; } EOF -if { (eval echo configure:10157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_sinl_link=yes else @@ -10180,7 +11662,7 @@ EOF echo $ac_n "checking for __builtin_cosf declaration""... $ac_c" 1>&6 -echo "configure:10184: checking for __builtin_cosf declaration" >&5 +echo "configure:11666: checking for __builtin_cosf declaration" >&5 if test x${glibcpp_cv_func___builtin_cosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10195,14 +11677,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10199 "configure" +#line 11681 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_cosf(0); ; return 0; } EOF -if { (eval echo configure:10206: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11688: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_use=yes else @@ -10226,21 +11708,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_cosf_use" 1>&6 if test x$glibcpp_cv_func___builtin_cosf_use = x"yes"; then echo $ac_n "checking for __builtin_cosf linkage""... $ac_c" 1>&6 -echo "configure:10230: checking for __builtin_cosf linkage" >&5 +echo "configure:11712: checking for __builtin_cosf linkage" >&5 if test x${glibcpp_cv_func___builtin_cosf_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosf_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10237 "configure" +#line 11719 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_cosf(0); ; return 0; } EOF -if { (eval echo configure:10244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cosf_link=yes else @@ -10266,7 +11748,7 @@ EOF echo $ac_n "checking for __builtin_cos declaration""... $ac_c" 1>&6 -echo "configure:10270: checking for __builtin_cos declaration" >&5 +echo "configure:11752: checking for __builtin_cos declaration" >&5 if test x${glibcpp_cv_func___builtin_cos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10281,14 +11763,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10285 "configure" +#line 11767 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_cos(0); ; return 0; } EOF -if { (eval echo configure:10292: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cos_use=yes else @@ -10312,21 +11794,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_cos_use" 1>&6 if test x$glibcpp_cv_func___builtin_cos_use = x"yes"; then echo $ac_n "checking for __builtin_cos linkage""... $ac_c" 1>&6 -echo "configure:10316: checking for __builtin_cos linkage" >&5 +echo "configure:11798: checking for __builtin_cos linkage" >&5 if test x${glibcpp_cv_func___builtin_cos_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cos_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10323 "configure" +#line 11805 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_cos(0); ; return 0; } EOF -if { (eval echo configure:10330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cos_link=yes else @@ -10352,7 +11834,7 @@ EOF echo $ac_n "checking for __builtin_cosl declaration""... $ac_c" 1>&6 -echo "configure:10356: checking for __builtin_cosl declaration" >&5 +echo "configure:11838: checking for __builtin_cosl declaration" >&5 if test x${glibcpp_cv_func___builtin_cosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10367,14 +11849,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10371 "configure" +#line 11853 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_cosl(0); ; return 0; } EOF -if { (eval echo configure:10378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_use=yes else @@ -10398,21 +11880,21 @@ fi echo "$ac_t""$glibcpp_cv_func___builtin_cosl_use" 1>&6 if test x$glibcpp_cv_func___builtin_cosl_use = x"yes"; then echo $ac_n "checking for __builtin_cosl linkage""... $ac_c" 1>&6 -echo "configure:10402: checking for __builtin_cosl linkage" >&5 +echo "configure:11884: checking for __builtin_cosl linkage" >&5 if test x${glibcpp_cv_func___builtin_cosl_link+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func___builtin_cosl_link'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10409 "configure" +#line 11891 "configure" #include "confdefs.h" #include <math.h> int main() { __builtin_cosl(0); ; return 0; } EOF -if { (eval echo configure:10416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* glibcpp_cv_func___builtin_cosl_link=yes else @@ -10500,10 +11982,10 @@ EOF ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS='-fno-builtins -D_GNU_SOURCE' + CXXFLAGS='-fno-builtin -D_GNU_SOURCE' echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:10507: checking for sin in -lm" >&5 +echo "configure:11989: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10511,7 +11993,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 10515 "configure" +#line 11997 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10522,7 +12004,7 @@ int main() { sin() ; return 0; } EOF -if { (eval echo configure:10526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10548,7 +12030,7 @@ fi echo $ac_n "checking for isinf declaration""... $ac_c" 1>&6 -echo "configure:10552: checking for isinf declaration" >&5 +echo "configure:12034: checking for isinf declaration" >&5 if test x${glibcpp_cv_func_isinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10563,7 +12045,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10567 "configure" +#line 12049 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -10574,7 +12056,7 @@ int main() { isinf(0); ; return 0; } EOF -if { (eval echo configure:10578: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12060: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinf_use=yes else @@ -10601,12 +12083,12 @@ fi for ac_func in isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10605: checking for $ac_func" >&5 +echo "configure:12087: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10610 "configure" +#line 12092 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -10629,7 +12111,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:10633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10656,7 +12138,7 @@ done else echo $ac_n "checking for _isinf declaration""... $ac_c" 1>&6 -echo "configure:10660: checking for _isinf declaration" >&5 +echo "configure:12142: checking for _isinf declaration" >&5 if test x${glibcpp_cv_func__isinf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10671,7 +12153,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10675 "configure" +#line 12157 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -10682,7 +12164,7 @@ int main() { _isinf(0); ; return 0; } EOF -if { (eval echo configure:10686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinf_use=yes else @@ -10709,12 +12191,12 @@ fi for ac_func in _isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10713: checking for $ac_func" >&5 +echo "configure:12195: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10718 "configure" +#line 12200 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -10737,7 +12219,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:10741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10767,7 +12249,7 @@ done echo $ac_n "checking for isnan declaration""... $ac_c" 1>&6 -echo "configure:10771: checking for isnan declaration" >&5 +echo "configure:12253: checking for isnan declaration" >&5 if test x${glibcpp_cv_func_isnan_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnan_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10782,7 +12264,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10786 "configure" +#line 12268 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -10793,7 +12275,7 @@ int main() { isnan(0); ; return 0; } EOF -if { (eval echo configure:10797: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnan_use=yes else @@ -10820,12 +12302,12 @@ fi for ac_func in isnan do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10824: checking for $ac_func" >&5 +echo "configure:12306: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10829 "configure" +#line 12311 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -10848,7 +12330,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:10852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10875,7 +12357,7 @@ done else echo $ac_n "checking for _isnan declaration""... $ac_c" 1>&6 -echo "configure:10879: checking for _isnan declaration" >&5 +echo "configure:12361: checking for _isnan declaration" >&5 if test x${glibcpp_cv_func__isnan_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnan_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -10890,7 +12372,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 10894 "configure" +#line 12376 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -10901,7 +12383,7 @@ int main() { _isnan(0); ; return 0; } EOF -if { (eval echo configure:10905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12387: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnan_use=yes else @@ -10928,12 +12410,12 @@ fi for ac_func in _isnan do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10932: checking for $ac_func" >&5 +echo "configure:12414: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 10937 "configure" +#line 12419 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -10956,7 +12438,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:10960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10986,7 +12468,7 @@ done echo $ac_n "checking for finite declaration""... $ac_c" 1>&6 -echo "configure:10990: checking for finite declaration" >&5 +echo "configure:12472: checking for finite declaration" >&5 if test x${glibcpp_cv_func_finite_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finite_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11001,7 +12483,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11005 "configure" +#line 12487 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -11012,7 +12494,7 @@ int main() { finite(0); ; return 0; } EOF -if { (eval echo configure:11016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finite_use=yes else @@ -11039,12 +12521,12 @@ fi for ac_func in finite do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11043: checking for $ac_func" >&5 +echo "configure:12525: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11048 "configure" +#line 12530 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11067,7 +12549,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11094,7 +12576,7 @@ done else echo $ac_n "checking for _finite declaration""... $ac_c" 1>&6 -echo "configure:11098: checking for _finite declaration" >&5 +echo "configure:12580: checking for _finite declaration" >&5 if test x${glibcpp_cv_func__finite_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finite_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11109,7 +12591,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11113 "configure" +#line 12595 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -11120,7 +12602,7 @@ int main() { _finite(0); ; return 0; } EOF -if { (eval echo configure:11124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finite_use=yes else @@ -11147,12 +12629,12 @@ fi for ac_func in _finite do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11151: checking for $ac_func" >&5 +echo "configure:12633: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11156 "configure" +#line 12638 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11175,7 +12657,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11205,7 +12687,7 @@ done echo $ac_n "checking for copysign declaration""... $ac_c" 1>&6 -echo "configure:11209: checking for copysign declaration" >&5 +echo "configure:12691: checking for copysign declaration" >&5 if test x${glibcpp_cv_func_copysign_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_copysign_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11220,14 +12702,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11224 "configure" +#line 12706 "configure" #include "confdefs.h" #include <math.h> int main() { copysign(0, 0); ; return 0; } EOF -if { (eval echo configure:11231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysign_use=yes else @@ -11254,12 +12736,12 @@ fi for ac_func in copysign do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11258: checking for $ac_func" >&5 +echo "configure:12740: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11263 "configure" +#line 12745 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11282,7 +12764,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11309,7 +12791,7 @@ done else echo $ac_n "checking for _copysign declaration""... $ac_c" 1>&6 -echo "configure:11313: checking for _copysign declaration" >&5 +echo "configure:12795: checking for _copysign declaration" >&5 if test x${glibcpp_cv_func__copysign_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__copysign_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11324,14 +12806,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11328 "configure" +#line 12810 "configure" #include "confdefs.h" #include <math.h> int main() { _copysign(0, 0); ; return 0; } EOF -if { (eval echo configure:11335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysign_use=yes else @@ -11358,12 +12840,12 @@ fi for ac_func in _copysign do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11362: checking for $ac_func" >&5 +echo "configure:12844: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11367 "configure" +#line 12849 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11386,7 +12868,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11416,7 +12898,7 @@ done echo $ac_n "checking for sincos declaration""... $ac_c" 1>&6 -echo "configure:11420: checking for sincos declaration" >&5 +echo "configure:12902: checking for sincos declaration" >&5 if test x${glibcpp_cv_func_sincos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11431,14 +12913,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11435 "configure" +#line 12917 "configure" #include "confdefs.h" #include <math.h> int main() { sincos(0, 0, 0); ; return 0; } EOF -if { (eval echo configure:11442: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincos_use=yes else @@ -11465,12 +12947,12 @@ fi for ac_func in sincos do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11469: checking for $ac_func" >&5 +echo "configure:12951: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11474 "configure" +#line 12956 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11493,7 +12975,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11520,7 +13002,7 @@ done else echo $ac_n "checking for _sincos declaration""... $ac_c" 1>&6 -echo "configure:11524: checking for _sincos declaration" >&5 +echo "configure:13006: checking for _sincos declaration" >&5 if test x${glibcpp_cv_func__sincos_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincos_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11535,14 +13017,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11539 "configure" +#line 13021 "configure" #include "confdefs.h" #include <math.h> int main() { _sincos(0, 0, 0); ; return 0; } EOF -if { (eval echo configure:11546: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincos_use=yes else @@ -11569,12 +13051,12 @@ fi for ac_func in _sincos do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11573: checking for $ac_func" >&5 +echo "configure:13055: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11578 "configure" +#line 13060 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11597,7 +13079,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11627,7 +13109,7 @@ done echo $ac_n "checking for fpclass declaration""... $ac_c" 1>&6 -echo "configure:11631: checking for fpclass declaration" >&5 +echo "configure:13113: checking for fpclass declaration" >&5 if test x${glibcpp_cv_func_fpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11642,7 +13124,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11646 "configure" +#line 13128 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -11653,7 +13135,7 @@ int main() { fpclass(0); ; return 0; } EOF -if { (eval echo configure:11657: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13139: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fpclass_use=yes else @@ -11680,12 +13162,12 @@ fi for ac_func in fpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11684: checking for $ac_func" >&5 +echo "configure:13166: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11689 "configure" +#line 13171 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11708,7 +13190,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11735,7 +13217,7 @@ done else echo $ac_n "checking for _fpclass declaration""... $ac_c" 1>&6 -echo "configure:11739: checking for _fpclass declaration" >&5 +echo "configure:13221: checking for _fpclass declaration" >&5 if test x${glibcpp_cv_func__fpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11750,7 +13232,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11754 "configure" +#line 13236 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -11761,7 +13243,7 @@ int main() { _fpclass(0); ; return 0; } EOF -if { (eval echo configure:11765: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fpclass_use=yes else @@ -11788,12 +13270,12 @@ fi for ac_func in _fpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11792: checking for $ac_func" >&5 +echo "configure:13274: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11797 "configure" +#line 13279 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11816,7 +13298,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11846,7 +13328,7 @@ done echo $ac_n "checking for qfpclass declaration""... $ac_c" 1>&6 -echo "configure:11850: checking for qfpclass declaration" >&5 +echo "configure:13332: checking for qfpclass declaration" >&5 if test x${glibcpp_cv_func_qfpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_qfpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11861,7 +13343,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11865 "configure" +#line 13347 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -11872,7 +13354,7 @@ int main() { qfpclass(0); ; return 0; } EOF -if { (eval echo configure:11876: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_qfpclass_use=yes else @@ -11899,12 +13381,12 @@ fi for ac_func in qfpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11903: checking for $ac_func" >&5 +echo "configure:13385: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 11908 "configure" +#line 13390 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11927,7 +13409,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:11931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11954,7 +13436,7 @@ done else echo $ac_n "checking for _qfpclass declaration""... $ac_c" 1>&6 -echo "configure:11958: checking for _qfpclass declaration" >&5 +echo "configure:13440: checking for _qfpclass declaration" >&5 if test x${glibcpp_cv_func__qfpclass_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__qfpclass_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -11969,7 +13451,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 11973 "configure" +#line 13455 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -11980,7 +13462,7 @@ int main() { _qfpclass(0); ; return 0; } EOF -if { (eval echo configure:11984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__qfpclass_use=yes else @@ -12007,12 +13489,12 @@ fi for ac_func in _qfpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12011: checking for $ac_func" >&5 +echo "configure:13493: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12016 "configure" +#line 13498 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12035,7 +13517,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12065,7 +13547,7 @@ done echo $ac_n "checking for hypot declaration""... $ac_c" 1>&6 -echo "configure:12069: checking for hypot declaration" >&5 +echo "configure:13551: checking for hypot declaration" >&5 if test x${glibcpp_cv_func_hypot_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypot_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -12080,14 +13562,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12084 "configure" +#line 13566 "configure" #include "confdefs.h" #include <math.h> int main() { hypot(0, 0); ; return 0; } EOF -if { (eval echo configure:12091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypot_use=yes else @@ -12114,12 +13596,12 @@ fi for ac_func in hypot do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12118: checking for $ac_func" >&5 +echo "configure:13600: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12123 "configure" +#line 13605 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12142,7 +13624,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12169,7 +13651,7 @@ done else echo $ac_n "checking for _hypot declaration""... $ac_c" 1>&6 -echo "configure:12173: checking for _hypot declaration" >&5 +echo "configure:13655: checking for _hypot declaration" >&5 if test x${glibcpp_cv_func__hypot_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypot_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -12184,14 +13666,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12188 "configure" +#line 13670 "configure" #include "confdefs.h" #include <math.h> int main() { _hypot(0, 0); ; return 0; } EOF -if { (eval echo configure:12195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13677: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypot_use=yes else @@ -12218,12 +13700,12 @@ fi for ac_func in _hypot do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12222: checking for $ac_func" >&5 +echo "configure:13704: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12227 "configure" +#line 13709 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12246,7 +13728,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12276,7 +13758,7 @@ done echo $ac_n "checking for float trig functions""... $ac_c" 1>&6 -echo "configure:12280: checking for float trig functions" >&5 +echo "configure:13762: checking for float trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_float_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -12290,7 +13772,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12294 "configure" +#line 13776 "configure" #include "confdefs.h" #include <math.h> int main() { @@ -12299,7 +13781,7 @@ int main() { coshf sinhf tanhf; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:12303: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13785: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_trig_use=yes else @@ -12325,12 +13807,12 @@ fi coshf sinhf tanhf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12329: checking for $ac_func" >&5 +echo "configure:13811: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12334 "configure" +#line 13816 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12353,7 +13835,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12381,7 +13863,7 @@ done echo $ac_n "checking for float round functions""... $ac_c" 1>&6 -echo "configure:12385: checking for float round functions" >&5 +echo "configure:13867: checking for float round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_float_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -12395,14 +13877,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12399 "configure" +#line 13881 "configure" #include "confdefs.h" #include <math.h> int main() { `for x in ceilf floorf; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:12406: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_float_round_use=yes else @@ -12426,12 +13908,12 @@ fi for ac_func in ceilf floorf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12430: checking for $ac_func" >&5 +echo "configure:13912: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12435 "configure" +#line 13917 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12454,7 +13936,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12483,7 +13965,7 @@ done echo $ac_n "checking for expf declaration""... $ac_c" 1>&6 -echo "configure:12487: checking for expf declaration" >&5 +echo "configure:13969: checking for expf declaration" >&5 if test x${glibcpp_cv_func_expf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_expf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -12498,7 +13980,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12502 "configure" +#line 13984 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -12509,7 +13991,7 @@ int main() { expf(0); ; return 0; } EOF -if { (eval echo configure:12513: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:13995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expf_use=yes else @@ -12536,12 +14018,12 @@ fi for ac_func in expf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12540: checking for $ac_func" >&5 +echo "configure:14022: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12545 "configure" +#line 14027 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12564,7 +14046,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12591,7 +14073,7 @@ done else echo $ac_n "checking for _expf declaration""... $ac_c" 1>&6 -echo "configure:12595: checking for _expf declaration" >&5 +echo "configure:14077: checking for _expf declaration" >&5 if test x${glibcpp_cv_func__expf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__expf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -12606,7 +14088,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12610 "configure" +#line 14092 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -12617,7 +14099,7 @@ int main() { _expf(0); ; return 0; } EOF -if { (eval echo configure:12621: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__expf_use=yes else @@ -12644,12 +14126,12 @@ fi for ac_func in _expf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12648: checking for $ac_func" >&5 +echo "configure:14130: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12653 "configure" +#line 14135 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12672,7 +14154,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12702,7 +14184,7 @@ done echo $ac_n "checking for isnanf declaration""... $ac_c" 1>&6 -echo "configure:12706: checking for isnanf declaration" >&5 +echo "configure:14188: checking for isnanf declaration" >&5 if test x${glibcpp_cv_func_isnanf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnanf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -12717,7 +14199,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12721 "configure" +#line 14203 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -12728,7 +14210,7 @@ int main() { isnanf(0); ; return 0; } EOF -if { (eval echo configure:12732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14214: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanf_use=yes else @@ -12755,12 +14237,12 @@ fi for ac_func in isnanf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12759: checking for $ac_func" >&5 +echo "configure:14241: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12764 "configure" +#line 14246 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12783,7 +14265,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12810,7 +14292,7 @@ done else echo $ac_n "checking for _isnanf declaration""... $ac_c" 1>&6 -echo "configure:12814: checking for _isnanf declaration" >&5 +echo "configure:14296: checking for _isnanf declaration" >&5 if test x${glibcpp_cv_func__isnanf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnanf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -12825,7 +14307,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12829 "configure" +#line 14311 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -12836,7 +14318,7 @@ int main() { _isnanf(0); ; return 0; } EOF -if { (eval echo configure:12840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanf_use=yes else @@ -12863,12 +14345,12 @@ fi for ac_func in _isnanf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12867: checking for $ac_func" >&5 +echo "configure:14349: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12872 "configure" +#line 14354 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -12891,7 +14373,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:12895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12921,7 +14403,7 @@ done echo $ac_n "checking for isinff declaration""... $ac_c" 1>&6 -echo "configure:12925: checking for isinff declaration" >&5 +echo "configure:14407: checking for isinff declaration" >&5 if test x${glibcpp_cv_func_isinff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -12936,7 +14418,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 12940 "configure" +#line 14422 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -12947,7 +14429,7 @@ int main() { isinff(0); ; return 0; } EOF -if { (eval echo configure:12951: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinff_use=yes else @@ -12974,12 +14456,12 @@ fi for ac_func in isinff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12978: checking for $ac_func" >&5 +echo "configure:14460: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 12983 "configure" +#line 14465 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13002,7 +14484,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13029,7 +14511,7 @@ done else echo $ac_n "checking for _isinff declaration""... $ac_c" 1>&6 -echo "configure:13033: checking for _isinff declaration" >&5 +echo "configure:14515: checking for _isinff declaration" >&5 if test x${glibcpp_cv_func__isinff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13044,7 +14526,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13048 "configure" +#line 14530 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -13055,7 +14537,7 @@ int main() { _isinff(0); ; return 0; } EOF -if { (eval echo configure:13059: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinff_use=yes else @@ -13082,12 +14564,12 @@ fi for ac_func in _isinff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13086: checking for $ac_func" >&5 +echo "configure:14568: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13091 "configure" +#line 14573 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13110,7 +14592,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13114: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13140,7 +14622,7 @@ done echo $ac_n "checking for atan2f declaration""... $ac_c" 1>&6 -echo "configure:13144: checking for atan2f declaration" >&5 +echo "configure:14626: checking for atan2f declaration" >&5 if test x${glibcpp_cv_func_atan2f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_atan2f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13155,14 +14637,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13159 "configure" +#line 14641 "configure" #include "confdefs.h" #include <math.h> int main() { atan2f(0, 0); ; return 0; } EOF -if { (eval echo configure:13166: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14648: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2f_use=yes else @@ -13189,12 +14671,12 @@ fi for ac_func in atan2f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13193: checking for $ac_func" >&5 +echo "configure:14675: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13198 "configure" +#line 14680 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13217,7 +14699,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13244,7 +14726,7 @@ done else echo $ac_n "checking for _atan2f declaration""... $ac_c" 1>&6 -echo "configure:13248: checking for _atan2f declaration" >&5 +echo "configure:14730: checking for _atan2f declaration" >&5 if test x${glibcpp_cv_func__atan2f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__atan2f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13259,14 +14741,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13263 "configure" +#line 14745 "configure" #include "confdefs.h" #include <math.h> int main() { _atan2f(0, 0); ; return 0; } EOF -if { (eval echo configure:13270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2f_use=yes else @@ -13293,12 +14775,12 @@ fi for ac_func in _atan2f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13297: checking for $ac_func" >&5 +echo "configure:14779: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13302 "configure" +#line 14784 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13321,7 +14803,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13351,7 +14833,7 @@ done echo $ac_n "checking for fabsf declaration""... $ac_c" 1>&6 -echo "configure:13355: checking for fabsf declaration" >&5 +echo "configure:14837: checking for fabsf declaration" >&5 if test x${glibcpp_cv_func_fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13366,7 +14848,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13370 "configure" +#line 14852 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -13377,7 +14859,7 @@ int main() { fabsf(0); ; return 0; } EOF -if { (eval echo configure:13381: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsf_use=yes else @@ -13404,12 +14886,12 @@ fi for ac_func in fabsf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13408: checking for $ac_func" >&5 +echo "configure:14890: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13413 "configure" +#line 14895 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13432,7 +14914,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13459,7 +14941,7 @@ done else echo $ac_n "checking for _fabsf declaration""... $ac_c" 1>&6 -echo "configure:13463: checking for _fabsf declaration" >&5 +echo "configure:14945: checking for _fabsf declaration" >&5 if test x${glibcpp_cv_func__fabsf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fabsf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13474,7 +14956,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13478 "configure" +#line 14960 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -13485,7 +14967,7 @@ int main() { _fabsf(0); ; return 0; } EOF -if { (eval echo configure:13489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14971: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsf_use=yes else @@ -13512,12 +14994,12 @@ fi for ac_func in _fabsf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13516: checking for $ac_func" >&5 +echo "configure:14998: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13521 "configure" +#line 15003 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13540,7 +15022,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13570,7 +15052,7 @@ done echo $ac_n "checking for fmodf declaration""... $ac_c" 1>&6 -echo "configure:13574: checking for fmodf declaration" >&5 +echo "configure:15056: checking for fmodf declaration" >&5 if test x${glibcpp_cv_func_fmodf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fmodf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13585,14 +15067,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13589 "configure" +#line 15071 "configure" #include "confdefs.h" #include <math.h> int main() { fmodf(0, 0); ; return 0; } EOF -if { (eval echo configure:13596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodf_use=yes else @@ -13619,12 +15101,12 @@ fi for ac_func in fmodf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13623: checking for $ac_func" >&5 +echo "configure:15105: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13628 "configure" +#line 15110 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13647,7 +15129,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13674,7 +15156,7 @@ done else echo $ac_n "checking for _fmodf declaration""... $ac_c" 1>&6 -echo "configure:13678: checking for _fmodf declaration" >&5 +echo "configure:15160: checking for _fmodf declaration" >&5 if test x${glibcpp_cv_func__fmodf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fmodf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13689,14 +15171,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13693 "configure" +#line 15175 "configure" #include "confdefs.h" #include <math.h> int main() { _fmodf(0, 0); ; return 0; } EOF -if { (eval echo configure:13700: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodf_use=yes else @@ -13723,12 +15205,12 @@ fi for ac_func in _fmodf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13727: checking for $ac_func" >&5 +echo "configure:15209: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13732 "configure" +#line 15214 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13751,7 +15233,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13781,7 +15263,7 @@ done echo $ac_n "checking for frexpf declaration""... $ac_c" 1>&6 -echo "configure:13785: checking for frexpf declaration" >&5 +echo "configure:15267: checking for frexpf declaration" >&5 if test x${glibcpp_cv_func_frexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_frexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13796,14 +15278,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13800 "configure" +#line 15282 "configure" #include "confdefs.h" #include <math.h> int main() { frexpf(0, 0); ; return 0; } EOF -if { (eval echo configure:13807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15289: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpf_use=yes else @@ -13830,12 +15312,12 @@ fi for ac_func in frexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13834: checking for $ac_func" >&5 +echo "configure:15316: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13839 "configure" +#line 15321 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13858,7 +15340,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13885,7 +15367,7 @@ done else echo $ac_n "checking for _frexpf declaration""... $ac_c" 1>&6 -echo "configure:13889: checking for _frexpf declaration" >&5 +echo "configure:15371: checking for _frexpf declaration" >&5 if test x${glibcpp_cv_func__frexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__frexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -13900,14 +15382,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 13904 "configure" +#line 15386 "configure" #include "confdefs.h" #include <math.h> int main() { _frexpf(0, 0); ; return 0; } EOF -if { (eval echo configure:13911: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15393: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpf_use=yes else @@ -13934,12 +15416,12 @@ fi for ac_func in _frexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13938: checking for $ac_func" >&5 +echo "configure:15420: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 13943 "configure" +#line 15425 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -13962,7 +15444,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:13966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -13992,7 +15474,7 @@ done echo $ac_n "checking for hypotf declaration""... $ac_c" 1>&6 -echo "configure:13996: checking for hypotf declaration" >&5 +echo "configure:15478: checking for hypotf declaration" >&5 if test x${glibcpp_cv_func_hypotf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypotf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14007,14 +15489,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14011 "configure" +#line 15493 "configure" #include "confdefs.h" #include <math.h> int main() { hypotf(0, 0); ; return 0; } EOF -if { (eval echo configure:14018: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15500: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotf_use=yes else @@ -14041,12 +15523,12 @@ fi for ac_func in hypotf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14045: checking for $ac_func" >&5 +echo "configure:15527: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14050 "configure" +#line 15532 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14069,7 +15551,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14096,7 +15578,7 @@ done else echo $ac_n "checking for _hypotf declaration""... $ac_c" 1>&6 -echo "configure:14100: checking for _hypotf declaration" >&5 +echo "configure:15582: checking for _hypotf declaration" >&5 if test x${glibcpp_cv_func__hypotf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypotf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14111,14 +15593,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14115 "configure" +#line 15597 "configure" #include "confdefs.h" #include <math.h> int main() { _hypotf(0, 0); ; return 0; } EOF -if { (eval echo configure:14122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotf_use=yes else @@ -14145,12 +15627,12 @@ fi for ac_func in _hypotf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14149: checking for $ac_func" >&5 +echo "configure:15631: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14154 "configure" +#line 15636 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14173,7 +15655,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14177: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14203,7 +15685,7 @@ done echo $ac_n "checking for ldexpf declaration""... $ac_c" 1>&6 -echo "configure:14207: checking for ldexpf declaration" >&5 +echo "configure:15689: checking for ldexpf declaration" >&5 if test x${glibcpp_cv_func_ldexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14218,14 +15700,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14222 "configure" +#line 15704 "configure" #include "confdefs.h" #include <math.h> int main() { ldexpf(0, 0); ; return 0; } EOF -if { (eval echo configure:14229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpf_use=yes else @@ -14252,12 +15734,12 @@ fi for ac_func in ldexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14256: checking for $ac_func" >&5 +echo "configure:15738: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14261 "configure" +#line 15743 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14280,7 +15762,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14307,7 +15789,7 @@ done else echo $ac_n "checking for _ldexpf declaration""... $ac_c" 1>&6 -echo "configure:14311: checking for _ldexpf declaration" >&5 +echo "configure:15793: checking for _ldexpf declaration" >&5 if test x${glibcpp_cv_func__ldexpf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14322,14 +15804,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14326 "configure" +#line 15808 "configure" #include "confdefs.h" #include <math.h> int main() { _ldexpf(0, 0); ; return 0; } EOF -if { (eval echo configure:14333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15815: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpf_use=yes else @@ -14356,12 +15838,12 @@ fi for ac_func in _ldexpf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14360: checking for $ac_func" >&5 +echo "configure:15842: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14365 "configure" +#line 15847 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14384,7 +15866,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14414,7 +15896,7 @@ done echo $ac_n "checking for logf declaration""... $ac_c" 1>&6 -echo "configure:14418: checking for logf declaration" >&5 +echo "configure:15900: checking for logf declaration" >&5 if test x${glibcpp_cv_func_logf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_logf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14429,7 +15911,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14433 "configure" +#line 15915 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -14440,7 +15922,7 @@ int main() { logf(0); ; return 0; } EOF -if { (eval echo configure:14444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15926: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logf_use=yes else @@ -14467,12 +15949,12 @@ fi for ac_func in logf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14471: checking for $ac_func" >&5 +echo "configure:15953: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14476 "configure" +#line 15958 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14495,7 +15977,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14522,7 +16004,7 @@ done else echo $ac_n "checking for _logf declaration""... $ac_c" 1>&6 -echo "configure:14526: checking for _logf declaration" >&5 +echo "configure:16008: checking for _logf declaration" >&5 if test x${glibcpp_cv_func__logf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__logf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14537,7 +16019,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14541 "configure" +#line 16023 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -14548,7 +16030,7 @@ int main() { _logf(0); ; return 0; } EOF -if { (eval echo configure:14552: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logf_use=yes else @@ -14575,12 +16057,12 @@ fi for ac_func in _logf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14579: checking for $ac_func" >&5 +echo "configure:16061: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14584 "configure" +#line 16066 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14603,7 +16085,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14633,7 +16115,7 @@ done echo $ac_n "checking for log10f declaration""... $ac_c" 1>&6 -echo "configure:14637: checking for log10f declaration" >&5 +echo "configure:16119: checking for log10f declaration" >&5 if test x${glibcpp_cv_func_log10f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_log10f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14648,7 +16130,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14652 "configure" +#line 16134 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -14659,7 +16141,7 @@ int main() { log10f(0); ; return 0; } EOF -if { (eval echo configure:14663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10f_use=yes else @@ -14686,12 +16168,12 @@ fi for ac_func in log10f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14690: checking for $ac_func" >&5 +echo "configure:16172: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14695 "configure" +#line 16177 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14714,7 +16196,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14741,7 +16223,7 @@ done else echo $ac_n "checking for _log10f declaration""... $ac_c" 1>&6 -echo "configure:14745: checking for _log10f declaration" >&5 +echo "configure:16227: checking for _log10f declaration" >&5 if test x${glibcpp_cv_func__log10f_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__log10f_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14756,7 +16238,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14760 "configure" +#line 16242 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -14767,7 +16249,7 @@ int main() { _log10f(0); ; return 0; } EOF -if { (eval echo configure:14771: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10f_use=yes else @@ -14794,12 +16276,12 @@ fi for ac_func in _log10f do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14798: checking for $ac_func" >&5 +echo "configure:16280: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14803 "configure" +#line 16285 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14822,7 +16304,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14852,7 +16334,7 @@ done echo $ac_n "checking for modff declaration""... $ac_c" 1>&6 -echo "configure:14856: checking for modff declaration" >&5 +echo "configure:16338: checking for modff declaration" >&5 if test x${glibcpp_cv_func_modff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_modff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14867,14 +16349,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14871 "configure" +#line 16353 "configure" #include "confdefs.h" #include <math.h> int main() { modff(0, 0); ; return 0; } EOF -if { (eval echo configure:14878: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16360: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modff_use=yes else @@ -14901,12 +16383,12 @@ fi for ac_func in modff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:14905: checking for $ac_func" >&5 +echo "configure:16387: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 14910 "configure" +#line 16392 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -14929,7 +16411,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:14933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -14956,7 +16438,7 @@ done else echo $ac_n "checking for _modff declaration""... $ac_c" 1>&6 -echo "configure:14960: checking for _modff declaration" >&5 +echo "configure:16442: checking for _modff declaration" >&5 if test x${glibcpp_cv_func__modff_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__modff_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -14971,14 +16453,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 14975 "configure" +#line 16457 "configure" #include "confdefs.h" #include <math.h> int main() { _modff(0, 0); ; return 0; } EOF -if { (eval echo configure:14982: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16464: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modff_use=yes else @@ -15005,12 +16487,12 @@ fi for ac_func in _modff do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15009: checking for $ac_func" >&5 +echo "configure:16491: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15014 "configure" +#line 16496 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15033,7 +16515,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15063,7 +16545,7 @@ done echo $ac_n "checking for powf declaration""... $ac_c" 1>&6 -echo "configure:15067: checking for powf declaration" >&5 +echo "configure:16549: checking for powf declaration" >&5 if test x${glibcpp_cv_func_powf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_powf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15078,14 +16560,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15082 "configure" +#line 16564 "configure" #include "confdefs.h" #include <math.h> int main() { powf(0, 0); ; return 0; } EOF -if { (eval echo configure:15089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powf_use=yes else @@ -15112,12 +16594,12 @@ fi for ac_func in powf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15116: checking for $ac_func" >&5 +echo "configure:16598: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15121 "configure" +#line 16603 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15140,7 +16622,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15167,7 +16649,7 @@ done else echo $ac_n "checking for _powf declaration""... $ac_c" 1>&6 -echo "configure:15171: checking for _powf declaration" >&5 +echo "configure:16653: checking for _powf declaration" >&5 if test x${glibcpp_cv_func__powf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__powf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15182,14 +16664,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15186 "configure" +#line 16668 "configure" #include "confdefs.h" #include <math.h> int main() { _powf(0, 0); ; return 0; } EOF -if { (eval echo configure:15193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powf_use=yes else @@ -15216,12 +16698,12 @@ fi for ac_func in _powf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15220: checking for $ac_func" >&5 +echo "configure:16702: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15225 "configure" +#line 16707 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15244,7 +16726,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15274,7 +16756,7 @@ done echo $ac_n "checking for sqrtf declaration""... $ac_c" 1>&6 -echo "configure:15278: checking for sqrtf declaration" >&5 +echo "configure:16760: checking for sqrtf declaration" >&5 if test x${glibcpp_cv_func_sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15289,7 +16771,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15293 "configure" +#line 16775 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -15300,7 +16782,7 @@ int main() { sqrtf(0); ; return 0; } EOF -if { (eval echo configure:15304: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtf_use=yes else @@ -15327,12 +16809,12 @@ fi for ac_func in sqrtf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15331: checking for $ac_func" >&5 +echo "configure:16813: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15336 "configure" +#line 16818 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15355,7 +16837,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15382,7 +16864,7 @@ done else echo $ac_n "checking for _sqrtf declaration""... $ac_c" 1>&6 -echo "configure:15386: checking for _sqrtf declaration" >&5 +echo "configure:16868: checking for _sqrtf declaration" >&5 if test x${glibcpp_cv_func__sqrtf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15397,7 +16879,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15401 "configure" +#line 16883 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -15408,7 +16890,7 @@ int main() { _sqrtf(0); ; return 0; } EOF -if { (eval echo configure:15412: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtf_use=yes else @@ -15435,12 +16917,12 @@ fi for ac_func in _sqrtf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15439: checking for $ac_func" >&5 +echo "configure:16921: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15444 "configure" +#line 16926 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15463,7 +16945,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15493,7 +16975,7 @@ done echo $ac_n "checking for sincosf declaration""... $ac_c" 1>&6 -echo "configure:15497: checking for sincosf declaration" >&5 +echo "configure:16979: checking for sincosf declaration" >&5 if test x${glibcpp_cv_func_sincosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15508,14 +16990,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15512 "configure" +#line 16994 "configure" #include "confdefs.h" #include <math.h> int main() { sincosf(0, 0, 0); ; return 0; } EOF -if { (eval echo configure:15519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosf_use=yes else @@ -15542,12 +17024,12 @@ fi for ac_func in sincosf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15546: checking for $ac_func" >&5 +echo "configure:17028: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15551 "configure" +#line 17033 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15570,7 +17052,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15597,7 +17079,7 @@ done else echo $ac_n "checking for _sincosf declaration""... $ac_c" 1>&6 -echo "configure:15601: checking for _sincosf declaration" >&5 +echo "configure:17083: checking for _sincosf declaration" >&5 if test x${glibcpp_cv_func__sincosf_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincosf_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15612,14 +17094,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15616 "configure" +#line 17098 "configure" #include "confdefs.h" #include <math.h> int main() { _sincosf(0, 0, 0); ; return 0; } EOF -if { (eval echo configure:15623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosf_use=yes else @@ -15646,12 +17128,12 @@ fi for ac_func in _sincosf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15650: checking for $ac_func" >&5 +echo "configure:17132: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15655 "configure" +#line 17137 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15674,7 +17156,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15704,7 +17186,7 @@ done echo $ac_n "checking for finitef declaration""... $ac_c" 1>&6 -echo "configure:15708: checking for finitef declaration" >&5 +echo "configure:17190: checking for finitef declaration" >&5 if test x${glibcpp_cv_func_finitef_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finitef_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15719,7 +17201,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15723 "configure" +#line 17205 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -15730,7 +17212,7 @@ int main() { finitef(0); ; return 0; } EOF -if { (eval echo configure:15734: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitef_use=yes else @@ -15757,12 +17239,12 @@ fi for ac_func in finitef do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15761: checking for $ac_func" >&5 +echo "configure:17243: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15766 "configure" +#line 17248 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15785,7 +17267,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15812,7 +17294,7 @@ done else echo $ac_n "checking for _finitef declaration""... $ac_c" 1>&6 -echo "configure:15816: checking for _finitef declaration" >&5 +echo "configure:17298: checking for _finitef declaration" >&5 if test x${glibcpp_cv_func__finitef_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finitef_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -15827,7 +17309,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15831 "configure" +#line 17313 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -15838,7 +17320,7 @@ int main() { _finitef(0); ; return 0; } EOF -if { (eval echo configure:15842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitef_use=yes else @@ -15865,12 +17347,12 @@ fi for ac_func in _finitef do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15869: checking for $ac_func" >&5 +echo "configure:17351: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15874 "configure" +#line 17356 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -15893,7 +17375,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:15897: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15923,7 +17405,7 @@ done echo $ac_n "checking for long double trig functions""... $ac_c" 1>&6 -echo "configure:15927: checking for long double trig functions" >&5 +echo "configure:17409: checking for long double trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -15937,7 +17419,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 15941 "configure" +#line 17423 "configure" #include "confdefs.h" #include <math.h> int main() { @@ -15946,7 +17428,7 @@ int main() { coshl sinhl tanhl; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:15950: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_trig_use=yes else @@ -15972,12 +17454,12 @@ fi coshl sinhl tanhl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15976: checking for $ac_func" >&5 +echo "configure:17458: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 15981 "configure" +#line 17463 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16000,7 +17482,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16028,7 +17510,7 @@ done echo $ac_n "checking for long double round functions""... $ac_c" 1>&6 -echo "configure:16032: checking for long double round functions" >&5 +echo "configure:17514: checking for long double round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func_long_double_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -16042,14 +17524,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16046 "configure" +#line 17528 "configure" #include "confdefs.h" #include <math.h> int main() { `for x in ceill floorl; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:16053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_long_double_round_use=yes else @@ -16073,12 +17555,12 @@ fi for ac_func in ceill floorl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16077: checking for $ac_func" >&5 +echo "configure:17559: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16082 "configure" +#line 17564 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16101,7 +17583,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16130,7 +17612,7 @@ done echo $ac_n "checking for isnanl declaration""... $ac_c" 1>&6 -echo "configure:16134: checking for isnanl declaration" >&5 +echo "configure:17616: checking for isnanl declaration" >&5 if test x${glibcpp_cv_func_isnanl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isnanl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16145,7 +17627,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16149 "configure" +#line 17631 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -16156,7 +17638,7 @@ int main() { isnanl(0); ; return 0; } EOF -if { (eval echo configure:16160: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17642: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isnanl_use=yes else @@ -16183,12 +17665,12 @@ fi for ac_func in isnanl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16187: checking for $ac_func" >&5 +echo "configure:17669: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16192 "configure" +#line 17674 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16211,7 +17693,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16238,7 +17720,7 @@ done else echo $ac_n "checking for _isnanl declaration""... $ac_c" 1>&6 -echo "configure:16242: checking for _isnanl declaration" >&5 +echo "configure:17724: checking for _isnanl declaration" >&5 if test x${glibcpp_cv_func__isnanl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isnanl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16253,7 +17735,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16257 "configure" +#line 17739 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -16264,7 +17746,7 @@ int main() { _isnanl(0); ; return 0; } EOF -if { (eval echo configure:16268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isnanl_use=yes else @@ -16291,12 +17773,12 @@ fi for ac_func in _isnanl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16295: checking for $ac_func" >&5 +echo "configure:17777: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16300 "configure" +#line 17782 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16319,7 +17801,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16349,7 +17831,7 @@ done echo $ac_n "checking for isinfl declaration""... $ac_c" 1>&6 -echo "configure:16353: checking for isinfl declaration" >&5 +echo "configure:17835: checking for isinfl declaration" >&5 if test x${glibcpp_cv_func_isinfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isinfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16364,7 +17846,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16368 "configure" +#line 17850 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -16375,7 +17857,7 @@ int main() { isinfl(0); ; return 0; } EOF -if { (eval echo configure:16379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17861: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isinfl_use=yes else @@ -16402,12 +17884,12 @@ fi for ac_func in isinfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16406: checking for $ac_func" >&5 +echo "configure:17888: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16411 "configure" +#line 17893 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16430,7 +17912,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16457,7 +17939,7 @@ done else echo $ac_n "checking for _isinfl declaration""... $ac_c" 1>&6 -echo "configure:16461: checking for _isinfl declaration" >&5 +echo "configure:17943: checking for _isinfl declaration" >&5 if test x${glibcpp_cv_func__isinfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__isinfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16472,7 +17954,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16476 "configure" +#line 17958 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -16483,7 +17965,7 @@ int main() { _isinfl(0); ; return 0; } EOF -if { (eval echo configure:16487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__isinfl_use=yes else @@ -16510,12 +17992,12 @@ fi for ac_func in _isinfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16514: checking for $ac_func" >&5 +echo "configure:17996: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16519 "configure" +#line 18001 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16538,7 +18020,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16568,7 +18050,7 @@ done echo $ac_n "checking for copysignl declaration""... $ac_c" 1>&6 -echo "configure:16572: checking for copysignl declaration" >&5 +echo "configure:18054: checking for copysignl declaration" >&5 if test x${glibcpp_cv_func_copysignl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_copysignl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16583,14 +18065,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16587 "configure" +#line 18069 "configure" #include "confdefs.h" #include <math.h> int main() { copysignl(0, 0); ; return 0; } EOF -if { (eval echo configure:16594: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18076: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_copysignl_use=yes else @@ -16617,12 +18099,12 @@ fi for ac_func in copysignl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16621: checking for $ac_func" >&5 +echo "configure:18103: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16626 "configure" +#line 18108 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16645,7 +18127,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16672,7 +18154,7 @@ done else echo $ac_n "checking for _copysignl declaration""... $ac_c" 1>&6 -echo "configure:16676: checking for _copysignl declaration" >&5 +echo "configure:18158: checking for _copysignl declaration" >&5 if test x${glibcpp_cv_func__copysignl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__copysignl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16687,14 +18169,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16691 "configure" +#line 18173 "configure" #include "confdefs.h" #include <math.h> int main() { _copysignl(0, 0); ; return 0; } EOF -if { (eval echo configure:16698: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__copysignl_use=yes else @@ -16721,12 +18203,12 @@ fi for ac_func in _copysignl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16725: checking for $ac_func" >&5 +echo "configure:18207: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16730 "configure" +#line 18212 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16749,7 +18231,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16779,7 +18261,7 @@ done echo $ac_n "checking for atan2l declaration""... $ac_c" 1>&6 -echo "configure:16783: checking for atan2l declaration" >&5 +echo "configure:18265: checking for atan2l declaration" >&5 if test x${glibcpp_cv_func_atan2l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_atan2l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16794,14 +18276,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16798 "configure" +#line 18280 "configure" #include "confdefs.h" #include <math.h> int main() { atan2l(0, 0); ; return 0; } EOF -if { (eval echo configure:16805: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_atan2l_use=yes else @@ -16828,12 +18310,12 @@ fi for ac_func in atan2l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16832: checking for $ac_func" >&5 +echo "configure:18314: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16837 "configure" +#line 18319 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16856,7 +18338,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16883,7 +18365,7 @@ done else echo $ac_n "checking for _atan2l declaration""... $ac_c" 1>&6 -echo "configure:16887: checking for _atan2l declaration" >&5 +echo "configure:18369: checking for _atan2l declaration" >&5 if test x${glibcpp_cv_func__atan2l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__atan2l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -16898,14 +18380,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 16902 "configure" +#line 18384 "configure" #include "confdefs.h" #include <math.h> int main() { _atan2l(0, 0); ; return 0; } EOF -if { (eval echo configure:16909: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__atan2l_use=yes else @@ -16932,12 +18414,12 @@ fi for ac_func in _atan2l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16936: checking for $ac_func" >&5 +echo "configure:18418: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 16941 "configure" +#line 18423 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -16960,7 +18442,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:16964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -16990,7 +18472,7 @@ done echo $ac_n "checking for expl declaration""... $ac_c" 1>&6 -echo "configure:16994: checking for expl declaration" >&5 +echo "configure:18476: checking for expl declaration" >&5 if test x${glibcpp_cv_func_expl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_expl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17005,7 +18487,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17009 "configure" +#line 18491 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -17016,7 +18498,7 @@ int main() { expl(0); ; return 0; } EOF -if { (eval echo configure:17020: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18502: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_expl_use=yes else @@ -17043,12 +18525,12 @@ fi for ac_func in expl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17047: checking for $ac_func" >&5 +echo "configure:18529: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17052 "configure" +#line 18534 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17071,7 +18553,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17098,7 +18580,7 @@ done else echo $ac_n "checking for _expl declaration""... $ac_c" 1>&6 -echo "configure:17102: checking for _expl declaration" >&5 +echo "configure:18584: checking for _expl declaration" >&5 if test x${glibcpp_cv_func__expl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__expl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17113,7 +18595,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17117 "configure" +#line 18599 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -17124,7 +18606,7 @@ int main() { _expl(0); ; return 0; } EOF -if { (eval echo configure:17128: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18610: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__expl_use=yes else @@ -17151,12 +18633,12 @@ fi for ac_func in _expl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17155: checking for $ac_func" >&5 +echo "configure:18637: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17160 "configure" +#line 18642 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17179,7 +18661,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17209,7 +18691,7 @@ done echo $ac_n "checking for fabsl declaration""... $ac_c" 1>&6 -echo "configure:17213: checking for fabsl declaration" >&5 +echo "configure:18695: checking for fabsl declaration" >&5 if test x${glibcpp_cv_func_fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17224,7 +18706,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17228 "configure" +#line 18710 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -17235,7 +18717,7 @@ int main() { fabsl(0); ; return 0; } EOF -if { (eval echo configure:17239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18721: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fabsl_use=yes else @@ -17262,12 +18744,12 @@ fi for ac_func in fabsl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17266: checking for $ac_func" >&5 +echo "configure:18748: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17271 "configure" +#line 18753 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17290,7 +18772,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17317,7 +18799,7 @@ done else echo $ac_n "checking for _fabsl declaration""... $ac_c" 1>&6 -echo "configure:17321: checking for _fabsl declaration" >&5 +echo "configure:18803: checking for _fabsl declaration" >&5 if test x${glibcpp_cv_func__fabsl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fabsl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17332,7 +18814,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17336 "configure" +#line 18818 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -17343,7 +18825,7 @@ int main() { _fabsl(0); ; return 0; } EOF -if { (eval echo configure:17347: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fabsl_use=yes else @@ -17370,12 +18852,12 @@ fi for ac_func in _fabsl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17374: checking for $ac_func" >&5 +echo "configure:18856: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17379 "configure" +#line 18861 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17398,7 +18880,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17428,7 +18910,7 @@ done echo $ac_n "checking for fmodl declaration""... $ac_c" 1>&6 -echo "configure:17432: checking for fmodl declaration" >&5 +echo "configure:18914: checking for fmodl declaration" >&5 if test x${glibcpp_cv_func_fmodl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_fmodl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17443,14 +18925,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17447 "configure" +#line 18929 "configure" #include "confdefs.h" #include <math.h> int main() { fmodl(0, 0); ; return 0; } EOF -if { (eval echo configure:17454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:18936: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_fmodl_use=yes else @@ -17477,12 +18959,12 @@ fi for ac_func in fmodl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17481: checking for $ac_func" >&5 +echo "configure:18963: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17486 "configure" +#line 18968 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17505,7 +18987,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:18991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17532,7 +19014,7 @@ done else echo $ac_n "checking for _fmodl declaration""... $ac_c" 1>&6 -echo "configure:17536: checking for _fmodl declaration" >&5 +echo "configure:19018: checking for _fmodl declaration" >&5 if test x${glibcpp_cv_func__fmodl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__fmodl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17547,14 +19029,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17551 "configure" +#line 19033 "configure" #include "confdefs.h" #include <math.h> int main() { _fmodl(0, 0); ; return 0; } EOF -if { (eval echo configure:17558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19040: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__fmodl_use=yes else @@ -17581,12 +19063,12 @@ fi for ac_func in _fmodl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17585: checking for $ac_func" >&5 +echo "configure:19067: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17590 "configure" +#line 19072 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17609,7 +19091,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17639,7 +19121,7 @@ done echo $ac_n "checking for frexpl declaration""... $ac_c" 1>&6 -echo "configure:17643: checking for frexpl declaration" >&5 +echo "configure:19125: checking for frexpl declaration" >&5 if test x${glibcpp_cv_func_frexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_frexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17654,14 +19136,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17658 "configure" +#line 19140 "configure" #include "confdefs.h" #include <math.h> int main() { frexpl(0, 0); ; return 0; } EOF -if { (eval echo configure:17665: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_frexpl_use=yes else @@ -17688,12 +19170,12 @@ fi for ac_func in frexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17692: checking for $ac_func" >&5 +echo "configure:19174: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17697 "configure" +#line 19179 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17716,7 +19198,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17743,7 +19225,7 @@ done else echo $ac_n "checking for _frexpl declaration""... $ac_c" 1>&6 -echo "configure:17747: checking for _frexpl declaration" >&5 +echo "configure:19229: checking for _frexpl declaration" >&5 if test x${glibcpp_cv_func__frexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__frexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17758,14 +19240,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17762 "configure" +#line 19244 "configure" #include "confdefs.h" #include <math.h> int main() { _frexpl(0, 0); ; return 0; } EOF -if { (eval echo configure:17769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__frexpl_use=yes else @@ -17792,12 +19274,12 @@ fi for ac_func in _frexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17796: checking for $ac_func" >&5 +echo "configure:19278: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17801 "configure" +#line 19283 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17820,7 +19302,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17850,7 +19332,7 @@ done echo $ac_n "checking for hypotl declaration""... $ac_c" 1>&6 -echo "configure:17854: checking for hypotl declaration" >&5 +echo "configure:19336: checking for hypotl declaration" >&5 if test x${glibcpp_cv_func_hypotl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_hypotl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17865,14 +19347,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17869 "configure" +#line 19351 "configure" #include "confdefs.h" #include <math.h> int main() { hypotl(0, 0); ; return 0; } EOF -if { (eval echo configure:17876: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19358: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_hypotl_use=yes else @@ -17899,12 +19381,12 @@ fi for ac_func in hypotl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:17903: checking for $ac_func" >&5 +echo "configure:19385: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 17908 "configure" +#line 19390 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -17927,7 +19409,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:17931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -17954,7 +19436,7 @@ done else echo $ac_n "checking for _hypotl declaration""... $ac_c" 1>&6 -echo "configure:17958: checking for _hypotl declaration" >&5 +echo "configure:19440: checking for _hypotl declaration" >&5 if test x${glibcpp_cv_func__hypotl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__hypotl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17969,14 +19451,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 17973 "configure" +#line 19455 "configure" #include "confdefs.h" #include <math.h> int main() { _hypotl(0, 0); ; return 0; } EOF -if { (eval echo configure:17980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19462: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__hypotl_use=yes else @@ -18003,12 +19485,12 @@ fi for ac_func in _hypotl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18007: checking for $ac_func" >&5 +echo "configure:19489: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18012 "configure" +#line 19494 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18031,7 +19513,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18061,7 +19543,7 @@ done echo $ac_n "checking for ldexpl declaration""... $ac_c" 1>&6 -echo "configure:18065: checking for ldexpl declaration" >&5 +echo "configure:19547: checking for ldexpl declaration" >&5 if test x${glibcpp_cv_func_ldexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_ldexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18076,14 +19558,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18080 "configure" +#line 19562 "configure" #include "confdefs.h" #include <math.h> int main() { ldexpl(0, 0); ; return 0; } EOF -if { (eval echo configure:18087: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_ldexpl_use=yes else @@ -18110,12 +19592,12 @@ fi for ac_func in ldexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18114: checking for $ac_func" >&5 +echo "configure:19596: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18119 "configure" +#line 19601 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18138,7 +19620,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19624: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18165,7 +19647,7 @@ done else echo $ac_n "checking for _ldexpl declaration""... $ac_c" 1>&6 -echo "configure:18169: checking for _ldexpl declaration" >&5 +echo "configure:19651: checking for _ldexpl declaration" >&5 if test x${glibcpp_cv_func__ldexpl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__ldexpl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18180,14 +19662,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18184 "configure" +#line 19666 "configure" #include "confdefs.h" #include <math.h> int main() { _ldexpl(0, 0); ; return 0; } EOF -if { (eval echo configure:18191: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__ldexpl_use=yes else @@ -18214,12 +19696,12 @@ fi for ac_func in _ldexpl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18218: checking for $ac_func" >&5 +echo "configure:19700: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18223 "configure" +#line 19705 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18242,7 +19724,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18272,7 +19754,7 @@ done echo $ac_n "checking for logl declaration""... $ac_c" 1>&6 -echo "configure:18276: checking for logl declaration" >&5 +echo "configure:19758: checking for logl declaration" >&5 if test x${glibcpp_cv_func_logl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_logl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18287,7 +19769,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18291 "configure" +#line 19773 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -18298,7 +19780,7 @@ int main() { logl(0); ; return 0; } EOF -if { (eval echo configure:18302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19784: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_logl_use=yes else @@ -18325,12 +19807,12 @@ fi for ac_func in logl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18329: checking for $ac_func" >&5 +echo "configure:19811: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18334 "configure" +#line 19816 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18353,7 +19835,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18380,7 +19862,7 @@ done else echo $ac_n "checking for _logl declaration""... $ac_c" 1>&6 -echo "configure:18384: checking for _logl declaration" >&5 +echo "configure:19866: checking for _logl declaration" >&5 if test x${glibcpp_cv_func__logl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__logl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18395,7 +19877,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18399 "configure" +#line 19881 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -18406,7 +19888,7 @@ int main() { _logl(0); ; return 0; } EOF -if { (eval echo configure:18410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__logl_use=yes else @@ -18433,12 +19915,12 @@ fi for ac_func in _logl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18437: checking for $ac_func" >&5 +echo "configure:19919: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18442 "configure" +#line 19924 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18461,7 +19943,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18465: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18491,7 +19973,7 @@ done echo $ac_n "checking for log10l declaration""... $ac_c" 1>&6 -echo "configure:18495: checking for log10l declaration" >&5 +echo "configure:19977: checking for log10l declaration" >&5 if test x${glibcpp_cv_func_log10l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_log10l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18506,7 +19988,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18510 "configure" +#line 19992 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -18517,7 +19999,7 @@ int main() { log10l(0); ; return 0; } EOF -if { (eval echo configure:18521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20003: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_log10l_use=yes else @@ -18544,12 +20026,12 @@ fi for ac_func in log10l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18548: checking for $ac_func" >&5 +echo "configure:20030: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18553 "configure" +#line 20035 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18572,7 +20054,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18599,7 +20081,7 @@ done else echo $ac_n "checking for _log10l declaration""... $ac_c" 1>&6 -echo "configure:18603: checking for _log10l declaration" >&5 +echo "configure:20085: checking for _log10l declaration" >&5 if test x${glibcpp_cv_func__log10l_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__log10l_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18614,7 +20096,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18618 "configure" +#line 20100 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -18625,7 +20107,7 @@ int main() { _log10l(0); ; return 0; } EOF -if { (eval echo configure:18629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__log10l_use=yes else @@ -18652,12 +20134,12 @@ fi for ac_func in _log10l do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18656: checking for $ac_func" >&5 +echo "configure:20138: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18661 "configure" +#line 20143 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18680,7 +20162,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18710,7 +20192,7 @@ done echo $ac_n "checking for modfl declaration""... $ac_c" 1>&6 -echo "configure:18714: checking for modfl declaration" >&5 +echo "configure:20196: checking for modfl declaration" >&5 if test x${glibcpp_cv_func_modfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_modfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18725,14 +20207,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18729 "configure" +#line 20211 "configure" #include "confdefs.h" #include <math.h> int main() { modfl(0, 0); ; return 0; } EOF -if { (eval echo configure:18736: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20218: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_modfl_use=yes else @@ -18759,12 +20241,12 @@ fi for ac_func in modfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18763: checking for $ac_func" >&5 +echo "configure:20245: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18768 "configure" +#line 20250 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18787,7 +20269,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18814,7 +20296,7 @@ done else echo $ac_n "checking for _modfl declaration""... $ac_c" 1>&6 -echo "configure:18818: checking for _modfl declaration" >&5 +echo "configure:20300: checking for _modfl declaration" >&5 if test x${glibcpp_cv_func__modfl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__modfl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18829,14 +20311,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18833 "configure" +#line 20315 "configure" #include "confdefs.h" #include <math.h> int main() { _modfl(0, 0); ; return 0; } EOF -if { (eval echo configure:18840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__modfl_use=yes else @@ -18863,12 +20345,12 @@ fi for ac_func in _modfl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18867: checking for $ac_func" >&5 +echo "configure:20349: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18872 "configure" +#line 20354 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18891,7 +20373,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:18895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -18921,7 +20403,7 @@ done echo $ac_n "checking for powl declaration""... $ac_c" 1>&6 -echo "configure:18925: checking for powl declaration" >&5 +echo "configure:20407: checking for powl declaration" >&5 if test x${glibcpp_cv_func_powl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_powl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18936,14 +20418,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 18940 "configure" +#line 20422 "configure" #include "confdefs.h" #include <math.h> int main() { powl(0, 0); ; return 0; } EOF -if { (eval echo configure:18947: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_powl_use=yes else @@ -18970,12 +20452,12 @@ fi for ac_func in powl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:18974: checking for $ac_func" >&5 +echo "configure:20456: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 18979 "configure" +#line 20461 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -18998,7 +20480,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19025,7 +20507,7 @@ done else echo $ac_n "checking for _powl declaration""... $ac_c" 1>&6 -echo "configure:19029: checking for _powl declaration" >&5 +echo "configure:20511: checking for _powl declaration" >&5 if test x${glibcpp_cv_func__powl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__powl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -19040,14 +20522,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19044 "configure" +#line 20526 "configure" #include "confdefs.h" #include <math.h> int main() { _powl(0, 0); ; return 0; } EOF -if { (eval echo configure:19051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__powl_use=yes else @@ -19074,12 +20556,12 @@ fi for ac_func in _powl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19078: checking for $ac_func" >&5 +echo "configure:20560: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19083 "configure" +#line 20565 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19102,7 +20584,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19132,7 +20614,7 @@ done echo $ac_n "checking for sqrtl declaration""... $ac_c" 1>&6 -echo "configure:19136: checking for sqrtl declaration" >&5 +echo "configure:20618: checking for sqrtl declaration" >&5 if test x${glibcpp_cv_func_sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -19147,7 +20629,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19151 "configure" +#line 20633 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -19158,7 +20640,7 @@ int main() { sqrtl(0); ; return 0; } EOF -if { (eval echo configure:19162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sqrtl_use=yes else @@ -19185,12 +20667,12 @@ fi for ac_func in sqrtl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19189: checking for $ac_func" >&5 +echo "configure:20671: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19194 "configure" +#line 20676 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19213,7 +20695,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19240,7 +20722,7 @@ done else echo $ac_n "checking for _sqrtl declaration""... $ac_c" 1>&6 -echo "configure:19244: checking for _sqrtl declaration" >&5 +echo "configure:20726: checking for _sqrtl declaration" >&5 if test x${glibcpp_cv_func__sqrtl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sqrtl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -19255,7 +20737,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19259 "configure" +#line 20741 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -19266,7 +20748,7 @@ int main() { _sqrtl(0); ; return 0; } EOF -if { (eval echo configure:19270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sqrtl_use=yes else @@ -19293,12 +20775,12 @@ fi for ac_func in _sqrtl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19297: checking for $ac_func" >&5 +echo "configure:20779: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19302 "configure" +#line 20784 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19321,7 +20803,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19351,7 +20833,7 @@ done echo $ac_n "checking for sincosl declaration""... $ac_c" 1>&6 -echo "configure:19355: checking for sincosl declaration" >&5 +echo "configure:20837: checking for sincosl declaration" >&5 if test x${glibcpp_cv_func_sincosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_sincosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -19366,14 +20848,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19370 "configure" +#line 20852 "configure" #include "confdefs.h" #include <math.h> int main() { sincosl(0, 0, 0); ; return 0; } EOF -if { (eval echo configure:19377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_sincosl_use=yes else @@ -19400,12 +20882,12 @@ fi for ac_func in sincosl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19404: checking for $ac_func" >&5 +echo "configure:20886: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19409 "configure" +#line 20891 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19428,7 +20910,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:20914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19455,7 +20937,7 @@ done else echo $ac_n "checking for _sincosl declaration""... $ac_c" 1>&6 -echo "configure:19459: checking for _sincosl declaration" >&5 +echo "configure:20941: checking for _sincosl declaration" >&5 if test x${glibcpp_cv_func__sincosl_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__sincosl_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -19470,14 +20952,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19474 "configure" +#line 20956 "configure" #include "confdefs.h" #include <math.h> int main() { _sincosl(0, 0, 0); ; return 0; } EOF -if { (eval echo configure:19481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:20963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__sincosl_use=yes else @@ -19504,12 +20986,12 @@ fi for ac_func in _sincosl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19508: checking for $ac_func" >&5 +echo "configure:20990: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19513 "configure" +#line 20995 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19532,7 +21014,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19562,7 +21044,7 @@ done echo $ac_n "checking for finitel declaration""... $ac_c" 1>&6 -echo "configure:19566: checking for finitel declaration" >&5 +echo "configure:21048: checking for finitel declaration" >&5 if test x${glibcpp_cv_func_finitel_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_finitel_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -19577,7 +21059,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19581 "configure" +#line 21063 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -19588,7 +21070,7 @@ int main() { finitel(0); ; return 0; } EOF -if { (eval echo configure:19592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:21074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_finitel_use=yes else @@ -19615,12 +21097,12 @@ fi for ac_func in finitel do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19619: checking for $ac_func" >&5 +echo "configure:21101: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19624 "configure" +#line 21106 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19643,7 +21125,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19670,7 +21152,7 @@ done else echo $ac_n "checking for _finitel declaration""... $ac_c" 1>&6 -echo "configure:19674: checking for _finitel declaration" >&5 +echo "configure:21156: checking for _finitel declaration" >&5 if test x${glibcpp_cv_func__finitel_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func__finitel_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -19685,7 +21167,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19689 "configure" +#line 21171 "configure" #include "confdefs.h" #include <math.h> #ifdef HAVE_IEEEFP_H @@ -19696,7 +21178,7 @@ int main() { _finitel(0); ; return 0; } EOF -if { (eval echo configure:19700: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:21182: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__finitel_use=yes else @@ -19723,12 +21205,12 @@ fi for ac_func in _finitel do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19727: checking for $ac_func" >&5 +echo "configure:21209: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19732 "configure" +#line 21214 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19751,7 +21233,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19782,7 +21264,7 @@ done echo $ac_n "checking for _float trig functions""... $ac_c" 1>&6 -echo "configure:19786: checking for _float trig functions" >&5 +echo "configure:21268: checking for _float trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__float_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -19796,7 +21278,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19800 "configure" +#line 21282 "configure" #include "confdefs.h" #include <math.h> int main() { @@ -19805,7 +21287,7 @@ int main() { _coshf _sinhf _tanhf; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:19809: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:21291: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_trig_use=yes else @@ -19831,12 +21313,12 @@ fi _coshf _sinhf _tanhf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19835: checking for $ac_func" >&5 +echo "configure:21317: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19840 "configure" +#line 21322 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19859,7 +21341,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19887,7 +21369,7 @@ done echo $ac_n "checking for _float round functions""... $ac_c" 1>&6 -echo "configure:19891: checking for _float round functions" >&5 +echo "configure:21373: checking for _float round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__float_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -19901,14 +21383,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 19905 "configure" +#line 21387 "configure" #include "confdefs.h" #include <math.h> int main() { `for x in _ceilf _floorf; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:19912: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:21394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__float_round_use=yes else @@ -19932,12 +21414,12 @@ fi for ac_func in _ceilf _floorf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:19936: checking for $ac_func" >&5 +echo "configure:21418: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 19941 "configure" +#line 21423 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -19960,7 +21442,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:19964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -19989,7 +21471,7 @@ done echo $ac_n "checking for _long double trig functions""... $ac_c" 1>&6 -echo "configure:19993: checking for _long double trig functions" >&5 +echo "configure:21475: checking for _long double trig functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_trig_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -20003,7 +21485,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 20007 "configure" +#line 21489 "configure" #include "confdefs.h" #include <math.h> int main() { @@ -20012,7 +21494,7 @@ int main() { _coshl _sinhl _tanhl; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:20016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:21498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_trig_use=yes else @@ -20038,12 +21520,12 @@ fi _coshl _sinhl _tanhl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20042: checking for $ac_func" >&5 +echo "configure:21524: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20047 "configure" +#line 21529 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20066,7 +21548,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20094,7 +21576,7 @@ done echo $ac_n "checking for _long double round functions""... $ac_c" 1>&6 -echo "configure:20098: checking for _long double round functions" >&5 +echo "configure:21580: checking for _long double round functions" >&5 if eval "test \"`echo '$''{'glibcpp_cv_func__long_double_round_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -20108,14 +21590,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 20112 "configure" +#line 21594 "configure" #include "confdefs.h" #include <math.h> int main() { `for x in _ceill _floorl; do echo "$x (0);"; done` ; return 0; } EOF -if { (eval echo configure:20119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:21601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func__long_double_round_use=yes else @@ -20139,12 +21621,12 @@ fi for ac_func in _ceill _floorl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20143: checking for $ac_func" >&5 +echo "configure:21625: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20148 "configure" +#line 21630 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20167,7 +21649,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20199,7 +21681,7 @@ done echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:20203: checking for main in -lm" >&5 +echo "configure:21685: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -20207,14 +21689,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 20211 "configure" +#line 21693 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:20218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -20244,12 +21726,12 @@ fi for ac_func in nan copysignf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20248: checking for $ac_func" >&5 +echo "configure:21730: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20253 "configure" +#line 21735 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20272,7 +21754,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20301,12 +21783,12 @@ done for ac_func in __signbit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20305: checking for $ac_func" >&5 +echo "configure:21787: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20310 "configure" +#line 21792 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20329,7 +21811,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20357,12 +21839,12 @@ done for ac_func in __signbitf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20361: checking for $ac_func" >&5 +echo "configure:21843: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20366 "configure" +#line 21848 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20385,7 +21867,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20415,12 +21897,12 @@ done for ac_func in __signbitl do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20419: checking for $ac_func" >&5 +echo "configure:21901: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20424 "configure" +#line 21906 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20443,7 +21925,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:21929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20470,21 +21952,34 @@ done fi + if test -n "$LIBMATHOBJS"; then + need_libmath=yes + fi + + +if test "$need_libmath" = yes; then + GLIBCPP_BUILD_LIBMATH_TRUE= + GLIBCPP_BUILD_LIBMATH_FALSE='#' +else + GLIBCPP_BUILD_LIBMATH_TRUE='#' + GLIBCPP_BUILD_LIBMATH_FALSE= +fi + enable_wchar_t=no echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 -echo "configure:20479: checking for mbstate_t" >&5 +echo "configure:21974: checking for mbstate_t" >&5 cat > conftest.$ac_ext <<EOF -#line 20481 "configure" +#line 21976 "configure" #include "confdefs.h" #include <wchar.h> int main() { mbstate_t teststate; ; return 0; } EOF -if { (eval echo configure:20488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:21983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_mbstate_t=yes else @@ -20506,17 +22001,17 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:20510: checking for $ac_hdr" >&5 +echo "configure:22005: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20515 "configure" +#line 22010 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:20520: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:22015: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -20547,17 +22042,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:20551: checking for $ac_hdr" >&5 +echo "configure:22046: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20556 "configure" +#line 22051 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:20561: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:22056: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -20590,16 +22085,16 @@ done test x"$enable_c_mbchar" != xno; then echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6 -echo "configure:20594: checking for WCHAR_MIN and WCHAR_MAX" >&5 +echo "configure:22089: checking for WCHAR_MIN and WCHAR_MAX" >&5 cat > conftest.$ac_ext <<EOF -#line 20596 "configure" +#line 22091 "configure" #include "confdefs.h" #include <wchar.h> int main() { int i = WCHAR_MIN; int j = WCHAR_MAX; ; return 0; } EOF -if { (eval echo configure:20603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:22098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_wchar_minmax=yes else @@ -20612,9 +22107,9 @@ rm -f conftest* echo "$ac_t""$has_wchar_minmax" 1>&6 echo $ac_n "checking for WEOF""... $ac_c" 1>&6 -echo "configure:20616: checking for WEOF" >&5 +echo "configure:22111: checking for WEOF" >&5 cat > conftest.$ac_ext <<EOF -#line 20618 "configure" +#line 22113 "configure" #include "confdefs.h" #include <wchar.h> @@ -20623,7 +22118,7 @@ int main() { wint_t i = WEOF; ; return 0; } EOF -if { (eval echo configure:20627: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:22122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* has_weof=yes else @@ -20639,12 +22134,12 @@ rm -f conftest* for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20643: checking for $ac_func" >&5 +echo "configure:22138: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20648 "configure" +#line 22143 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20667,7 +22162,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20694,7 +22189,7 @@ fi done - for ac_func in btowc wctob fgetwc fgetwc fgetws fputwc fputws fwide \ + for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \ @@ -20702,12 +22197,12 @@ done wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20706: checking for $ac_func" >&5 +echo "configure:22201: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20711 "configure" +#line 22206 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20730,7 +22225,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20758,7 +22253,7 @@ done echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6 -echo "configure:20762: checking for ISO C99 wchar_t support" >&5 +echo "configure:22257: checking for ISO C99 wchar_t support" >&5 if test x"$has_weof" = xyes && test x"$has_wchar_minmax" = xyes && test x"$ac_wfuncs" = xyes; then @@ -20770,17 +22265,17 @@ echo "configure:20762: checking for ISO C99 wchar_t support" >&5 ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for iconv.h""... $ac_c" 1>&6 -echo "configure:20774: checking for iconv.h" >&5 +echo "configure:22269: checking for iconv.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20779 "configure" +#line 22274 "configure" #include "confdefs.h" #include <iconv.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:20784: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:22279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -20804,17 +22299,17 @@ fi ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6 -echo "configure:20808: checking for langinfo.h" >&5 +echo "configure:22303: checking for langinfo.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20813 "configure" +#line 22308 "configure" #include "confdefs.h" #include <langinfo.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:20818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:22313: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -20838,7 +22333,7 @@ fi echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6 -echo "configure:20842: checking for iconv in -liconv" >&5 +echo "configure:22337: checking for iconv in -liconv" >&5 ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -20846,7 +22341,7 @@ else ac_save_LIBS="$LIBS" LIBS="-liconv $LIBS" cat > conftest.$ac_ext <<EOF -#line 20850 "configure" +#line 22345 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -20857,7 +22352,7 @@ int main() { iconv() ; return 0; } EOF -if { (eval echo configure:20861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -20883,12 +22378,12 @@ fi for ac_func in iconv_open iconv_close iconv nl_langinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:20887: checking for $ac_func" >&5 +echo "configure:22382: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 20892 "configure" +#line 22387 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -20911,7 +22406,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:20915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -20941,7 +22436,7 @@ done LIBS="$ac_save_LIBS" echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6 -echo "configure:20945: checking for XPG2 wchar_t support" >&5 +echo "configure:22440: checking for XPG2 wchar_t support" >&5 if test x"$ac_has_iconv_h" = xyes && test x"$ac_has_langinfo_h" = xyes && test x"$ac_XPG2funcs" = xyes; then @@ -20951,30 +22446,36 @@ echo "configure:20945: checking for XPG2 wchar_t support" >&5 fi echo "$ac_t""$ac_XPG2_wchar_t" 1>&6 - echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 -echo "configure:20956: checking for enabled wchar_t specializations" >&5 - if test x"$ac_isoC99_wchar_t" = xyes && + if test x"$ac_isoC99_wchar_t" = xyes && test x"$ac_XPG2_wchar_t" = xyes; then - cat >> confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GLIBCPP_USE_WCHAR_T 1 EOF - echo "$ac_t"""yes"" 1>&6 - else - echo "$ac_t"""no"" 1>&6 + enable_wchar_t=yes fi - else - echo "configure: warning: wchar_t support disabled." 1>&2 fi + echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6 +echo "configure:22460: checking for enabled wchar_t specializations" >&5 + echo "$ac_t""$enable_wchar_t" 1>&6 + + +if test "$enable_wchar_t" = yes; then + GLIBCPP_TEST_WCHAR_T_TRUE= + GLIBCPP_TEST_WCHAR_T_FALSE='#' +else + GLIBCPP_TEST_WCHAR_T_TRUE='#' + GLIBCPP_TEST_WCHAR_T_FALSE= +fi ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS='-fno-builtins -D_GNU_SOURCE' + CXXFLAGS='-fno-builtin -D_GNU_SOURCE' echo $ac_n "checking for strtold declaration""... $ac_c" 1>&6 -echo "configure:20978: checking for strtold declaration" >&5 +echo "configure:22479: checking for strtold declaration" >&5 if test x${glibcpp_cv_func_strtold_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_strtold_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -20989,14 +22490,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 20993 "configure" +#line 22494 "configure" #include "confdefs.h" #include <stdlib.h> int main() { strtold(0, 0); ; return 0; } EOF -if { (eval echo configure:21000: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:22501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtold_use=yes else @@ -21022,12 +22523,12 @@ fi for ac_func in strtold do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:21026: checking for $ac_func" >&5 +echo "configure:22527: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21031 "configure" +#line 22532 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -21050,7 +22551,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:21054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -21078,7 +22579,7 @@ done echo $ac_n "checking for strtof declaration""... $ac_c" 1>&6 -echo "configure:21082: checking for strtof declaration" >&5 +echo "configure:22583: checking for strtof declaration" >&5 if test x${glibcpp_cv_func_strtof_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_strtof_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -21093,14 +22594,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 21097 "configure" +#line 22598 "configure" #include "confdefs.h" #include <stdlib.h> int main() { strtof(0, 0); ; return 0; } EOF -if { (eval echo configure:21104: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:22605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_strtof_use=yes else @@ -21126,12 +22627,12 @@ fi for ac_func in strtof do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:21130: checking for $ac_func" >&5 +echo "configure:22631: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21135 "configure" +#line 22636 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -21154,7 +22655,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:21158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -21183,12 +22684,12 @@ done for ac_func in drand48 do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:21187: checking for $ac_func" >&5 +echo "configure:22688: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21192 "configure" +#line 22693 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -21211,7 +22712,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:21215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -21245,7 +22746,7 @@ done echo $ac_n "checking for isatty declaration""... $ac_c" 1>&6 -echo "configure:21249: checking for isatty declaration" >&5 +echo "configure:22750: checking for isatty declaration" >&5 if test x${glibcpp_cv_func_isatty_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_isatty_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -21260,14 +22761,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 21264 "configure" +#line 22765 "configure" #include "confdefs.h" #include <unistd.h> int main() { isatty(0); ; return 0; } EOF -if { (eval echo configure:21271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:22772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_isatty_use=yes else @@ -21293,12 +22794,12 @@ fi for ac_func in isatty do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:21297: checking for $ac_func" >&5 +echo "configure:22798: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21302 "configure" +#line 22803 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -21321,7 +22822,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:21325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:22826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -21350,20 +22851,159 @@ done CXXFLAGS="$ac_save_CXXFLAGS" + + # For showmanyc_helper(). + for ac_hdr in sys/ioctl.h sys/filio.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:22861: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 22866 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:22871: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + + + if eval "test \"`echo '$''{'glibcpp_cv_POLL'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext <<EOF +#line 22903 "configure" +#include "confdefs.h" +#include <poll.h> +int main() { +struct pollfd pfd[1]; pfd[0].events = POLLIN; poll(pfd, 1, 0); +; return 0; } +EOF +if { (eval echo configure:22910: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + glibcpp_cv_POLL=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + glibcpp_cv_POLL=no +fi +rm -f conftest* + +fi + + if test x$glibcpp_cv_POLL = xyes; then + cat >> confdefs.h <<\EOF +#define HAVE_POLL 1 +EOF + + fi + + + if eval "test \"`echo '$''{'glibcpp_cv_S_ISREG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext <<EOF +#line 22936 "configure" +#include "confdefs.h" +#include <sys/stat.h> +int main() { +struct stat buffer; fstat(0, &buffer); S_ISREG(buffer.st_mode); +; return 0; } +EOF +if { (eval echo configure:22943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + glibcpp_cv_S_ISREG=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + glibcpp_cv_S_ISREG=no +fi +rm -f conftest* + +fi + + if eval "test \"`echo '$''{'glibcpp_cv_S_IFREG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext <<EOF +#line 22961 "configure" +#include "confdefs.h" +#include <sys/stat.h> +int main() { +struct stat buffer; fstat(0, &buffer); S_IFREG & buffer.st_mode; +; return 0; } +EOF +if { (eval echo configure:22968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + glibcpp_cv_S_IFREG=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + glibcpp_cv_S_IFREG=no +fi +rm -f conftest* + +fi + + if test x$glibcpp_cv_S_ISREG = xyes; then + cat >> confdefs.h <<\EOF +#define HAVE_S_ISREG 1 +EOF + + elif test x$glibcpp_cv_S_IFREG = xyes; then + cat >> confdefs.h <<\EOF +#define HAVE_S_IFREG 1 +EOF + + fi + + ac_safe=`echo "locale.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for locale.h""... $ac_c" 1>&6 -echo "configure:21357: checking for locale.h" >&5 +echo "configure:22997: checking for locale.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21362 "configure" +#line 23002 "configure" #include "confdefs.h" #include <locale.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:21367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:23007: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -21381,19 +23021,19 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:21385: checking for LC_MESSAGES" >&5 +echo "configure:23025: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'ac_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21390 "configure" +#line 23030 "configure" #include "confdefs.h" #include <locale.h> int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:21397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:23037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_val_LC_MESSAGES=yes else @@ -21420,7 +23060,7 @@ fi cat > conftest.$ac_ext <<EOF -#line 21424 "configure" +#line 23064 "configure" #include "confdefs.h" #include <setjmp.h> @@ -21429,7 +23069,7 @@ int main() { sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1); ; return 0; } EOF -if { (eval echo configure:21433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF #define HAVE_SIGSETJMP 1 @@ -21446,17 +23086,17 @@ rm -f conftest* do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:21450: checking for $ac_hdr" >&5 +echo "configure:23090: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21455 "configure" +#line 23095 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:21460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:23100: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -21485,12 +23125,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:21489: checking for $ac_func" >&5 +echo "configure:23129: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21494 "configure" +#line 23134 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -21513,7 +23153,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:21517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:23157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -21538,7 +23178,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:21542: checking for working mmap" >&5 +echo "configure:23182: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -21546,7 +23186,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <<EOF -#line 21550 "configure" +#line 23190 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -21699,7 +23339,7 @@ main() } EOF -if { (eval echo configure:21703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:23343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -21722,25 +23362,159 @@ EOF fi - # Establish limits on memory usage during 'make check' - - +fi + +# This depends on GLIBCPP_CHECK_LINKER_FEATURES, but without it assumes no. +# Check whether --enable-symvers or --disable-symvers was given. +if test "${enable_symvers+set}" = set; then + enableval="$enable_symvers" + case "$enableval" in + yes) enable_symvers=yes ;; + no) enable_symvers=no ;; + # other names here, just as sanity checks + #gnu|sun|etcetera) enable_symvers=$enableval ;; + gnu) enable_symvers=$enableval ;; + *) { echo "configure: error: Unknown argument to enable/disable symvers" 1>&2; exit 1; } ;; + esac +else + enable_symvers=yes +fi + +# If we never went through the GLIBCPP_CHECK_LINKER_FEATURES macro, then we +# don't know enough about $LD to do tricks... +if test x$enable_shared = xno || + test "x$LD" = x || + test x$glibcpp_gnu_ld_version = x; then + enable_symvers=no +fi + +# Check to see if libgcc_s exists, indicating that shared libgcc is possible. +if test $enable_symvers != no; then + echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6 +echo "configure:23395: checking for shared libgcc" >&5 + ac_save_CFLAGS="$CFLAGS" + CFLAGS=' -lgcc_s' + cat > conftest.$ac_ext <<EOF +#line 23399 "configure" +#include "confdefs.h" + +int main() { +return 0 +; return 0; } +EOF +if { (eval echo configure:23406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + glibcpp_shared_libgcc=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + glibcpp_shared_libgcc=no +fi +rm -f conftest* + CFLAGS="$ac_save_CFLAGS" + echo "$ac_t""$glibcpp_shared_libgcc" 1>&6 +fi + +# For GNU ld, we need at least this version. It's 2.12 in the same format +# as the tested-for version. See GLIBCPP_CHECK_LINKER_FEATURES for more. +glibcpp_min_gnu_ld_version=21200 + +# Check to see if unspecified "yes" value can win, given results +# above. +if test $enable_symvers = yes ; then + if test $with_gnu_ld = yes && + test $glibcpp_shared_libgcc = yes ; + then + if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then + enable_symvers=gnu + else + ac_test_CFLAGS="${CFLAGS+set}" + ac_save_CFLAGS="$CFLAGS" + CFLAGS='-shared -Wl,--version-script,conftest.map' + enable_symvers=no + + echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map + + cat > conftest.$ac_ext <<EOF +#line 23441 "configure" +#include "confdefs.h" +int foo; +int main() { + +; return 0; } +EOF +if { (eval echo configure:23448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + enable_symvers=gnu +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* + if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" + else + # this is the suspicious part + CFLAGS='' + fi + rm -f conftest.map + fi + else + # just fail for now + enable_symvers=no + fi +fi + +case $enable_symvers in + no) + SYMVER_MAP=config/linker-map.dummy + ;; + gnu) + SYMVER_MAP=config/linker-map.gnu + cat >> confdefs.h <<\EOF +#define _GLIBCPP_SYMVER 1 +EOF + + ;; +esac + + + + +if test $enable_symvers != no; then + GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE= + GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE='#' +else + GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE='#' + GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE= +fi +echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6 +echo "configure:23494: checking versioning on shared library symbols" >&5 +echo "$ac_t""$enable_symvers" 1>&6 + + +# This depends on GLIBCPP_ENABLE_SYMVERS and GLIBCPP_IS_CROSS_COMPILING. + + if test x"$GLIBCPP_IS_CROSS_COMPILING" = xfalse; then + # Do checks for memory limit functions. + setrlimit_have_headers=yes - for ac_hdr in sys/resource.h unistd.h + for ac_hdr in unistd.h sys/time.h sys/resource.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:21734: checking for $ac_hdr" >&5 +echo "configure:23508: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21739 "configure" +#line 23513 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:21744: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:23518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -21773,16 +23547,17 @@ done # Can't do these in a loop, else the resulting syntax is wrong. cat > conftest.$ac_ext <<EOF -#line 21777 "configure" +#line 23551 "configure" #include "confdefs.h" -#include <sys/resource.h> - #include <unistd.h> +#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> int main() { int f = RLIMIT_DATA ; ; return 0; } EOF -if { (eval echo configure:21786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else @@ -21799,16 +23574,17 @@ EOF cat > conftest.$ac_ext <<EOF -#line 21803 "configure" +#line 23578 "configure" #include "confdefs.h" -#include <sys/resource.h> - #include <unistd.h> +#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> int main() { int f = RLIMIT_RSS ; ; return 0; } EOF -if { (eval echo configure:21812: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23588: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else @@ -21825,16 +23601,17 @@ EOF cat > conftest.$ac_ext <<EOF -#line 21829 "configure" +#line 23605 "configure" #include "confdefs.h" -#include <sys/resource.h> - #include <unistd.h> +#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> int main() { int f = RLIMIT_VMEM ; ; return 0; } EOF -if { (eval echo configure:21838: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else @@ -21851,16 +23628,17 @@ EOF cat > conftest.$ac_ext <<EOF -#line 21855 "configure" +#line 23632 "configure" #include "confdefs.h" -#include <sys/resource.h> - #include <unistd.h> +#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> int main() { int f = RLIMIT_AS ; ; return 0; } EOF -if { (eval echo configure:21864: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23642: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_mresult=1 else @@ -21882,16 +23660,17 @@ EOF else cat > conftest.$ac_ext <<EOF -#line 21886 "configure" +#line 23664 "configure" #include "confdefs.h" -#include <sys/resource.h> - #include <unistd.h> +#include <unistd.h> + #include <sys/time.h> + #include <sys/resource.h> int main() { struct rlimit r; setrlimit(0, &r); ; return 0; } EOF -if { (eval echo configure:21895: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_setrlimit=yes else @@ -21907,7 +23686,7 @@ fi fi echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6 -echo "configure:21911: checking for testsuite memory limit support" >&5 +echo "configure:23690: checking for testsuite memory limit support" >&5 if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then ac_mem_limits=yes cat >> confdefs.h <<\EOF @@ -21920,10 +23699,10 @@ EOF echo "$ac_t""$ac_mem_limits" 1>&6 - # Look for setenv, so that extended locale tests can be performed. - + # Look for setenv, so that extended locale tests can be performed. + echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6 -echo "configure:21927: checking for setenv declaration" >&5 +echo "configure:23706: checking for setenv declaration" >&5 if test x${glibcpp_cv_func_setenv_use+set} != xset; then if eval "test \"`echo '$''{'glibcpp_cv_func_setenv_use'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -21938,14 +23717,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <<EOF -#line 21942 "configure" +#line 23721 "configure" #include "confdefs.h" #include <stdlib.h> int main() { setenv(0, 0, 0); ; return 0; } EOF -if { (eval echo configure:21949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23728: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* glibcpp_cv_func_setenv_use=yes else @@ -21971,12 +23750,12 @@ fi for ac_func in setenv do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:21975: checking for $ac_func" >&5 +echo "configure:23754: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 21980 "configure" +#line 23759 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -21999,7 +23778,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:22003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:23782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -22025,163 +23804,44 @@ done fi + fi # Export file names for ABI checking. - baseline_file="${glibcpp_srcdir}/config/abi/${abi_baseline_triplet}/baseline_symbols.txt" + baseline_dir="${glibcpp_srcdir}/config/abi/${abi_baseline_pair}\$(MULTISUBDIR)" - # Don't do ABI checking unless native. - - -if test x"$build" = x"$host" && test -z "$with_cross_host"; then - GLIBCPP_BUILD_ABI_CHECK_TRUE= - GLIBCPP_BUILD_ABI_CHECK_FALSE='#' -else - GLIBCPP_BUILD_ABI_CHECK_TRUE='#' - GLIBCPP_BUILD_ABI_CHECK_FALSE= -fi - -fi - -# This depends on the possibly-skipped linker test above. -# Check whether --enable-symvers or --disable-symvers was given. -if test "${enable_symvers+set}" = set; then - enableval="$enable_symvers" - case "$enableval" in - yes) enable_symvers=yes ;; - no) enable_symvers=no ;; - # other names here, just as sanity checks - #gnu|sun|etcetera) enable_symvers=$enableval ;; - gnu) enable_symvers=$enableval ;; - *) { echo "configure: error: Unknown argument to enable/disable symvers" 1>&2; exit 1; } ;; - esac -else - enable_symvers=yes -fi - -# If we never went through the GLIBCPP_CHECK_LINKER_FEATURES macro, then we -# don't know enough about $LD to do tricks... -if test x$enable_shared = xno || - test "x$LD" = x || - test x$glibcpp_gnu_ld_version = x; then - enable_symvers=no -fi - -# Check to see if libgcc_s exists, indicating that shared libgcc is possible. -echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6 -echo "configure:22073: checking for shared libgcc" >&5 -ac_save_CFLAGS="$CFLAGS" -CFLAGS=' -lgcc_s' -cat > conftest.$ac_ext <<EOF -#line 22077 "configure" -#include "confdefs.h" - -int main() { -return 0 -; return 0; } -EOF -if { (eval echo configure:22084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - glibcpp_shared_libgcc=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - glibcpp_shared_libgcc=no -fi -rm -f conftest* -CFLAGS="$ac_save_CFLAGS" -echo "$ac_t""$glibcpp_shared_libgcc" 1>&6 - -# For GNU ld, we need at least this version. It's 2.12 in the same format -# as the tested-for version. See GLIBCPP_CHECK_LINKER_FEATURES for more. -glibcpp_min_gnu_ld_version=21200 - -# Check to see if unspecified "yes" value can win, given results -# above. -if test $enable_symvers = yes ; then - if test $with_gnu_ld = yes && - test $glibcpp_shared_libgcc = yes ; - then - if test $glibcpp_gnu_ld_version -ge $glibcpp_min_gnu_ld_version ; then - enable_symvers=gnu - else - ac_test_CFLAGS="${CFLAGS+set}" - ac_save_CFLAGS="$CFLAGS" - CFLAGS='-shared -Wl,--version-script,conftest.map' - enable_symvers=no - - echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map - - cat > conftest.$ac_ext <<EOF -#line 22118 "configure" -#include "confdefs.h" -int foo; -int main() { - -; return 0; } -EOF -if { (eval echo configure:22125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - enable_symvers=gnu -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - else - # this is the suspicious part - CFLAGS='' - fi - rm -f conftest.map - fi + # Determine if checking the ABI is desirable. + if test x$enable_symvers = xno; then + enable_abi_check=no else - # just fail for now - enable_symvers=no + case "$host" in + *-*-cygwin*) + enable_abi_check=no ;; + *) + enable_abi_check=yes ;; + esac fi -fi - -case $enable_symvers in - no) - LINKER_MAP=config/linker-map.dummy - ;; - gnu) - LINKER_MAP=config/linker-map.gnu - cat >> confdefs.h <<\EOF -#define _GLIBCPP_SYMVER 1 -EOF - - ;; -esac - - - + -if test $enable_symvers != no; then - GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE= - GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE='#' +if test "$enable_abi_check" = yes; then + GLIBCPP_TEST_ABI_TRUE= + GLIBCPP_TEST_ABI_FALSE='#' else - GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE='#' - GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE= + GLIBCPP_TEST_ABI_TRUE='#' + GLIBCPP_TEST_ABI_FALSE= fi -echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6 -echo "configure:22171: checking versioning on shared library symbols" >&5 -echo "$ac_t""$enable_symvers" 1>&6 # Propagate the target-specific source directories through the build chain. -OS_INC_SRCDIR=$os_include_dir/bits -ATOMICITY_INC_SRCDIR=$ATOMICITYH/bits -CPU_LIMITS_INC_SRCDIR=$CPULIMITSH/bits - +# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH +# uses it, and it only gets used in this file.) +OS_INC_SRCDIR=config/${os_include_dir} +ATOMICITY_INC_SRCDIR=config/${ATOMICITYH} # Set up cross-compile flags - - + if test "$CANADIAN" = yes; then CANADIAN_TRUE= @@ -22255,7 +23915,7 @@ glibcpp_prefixdir=${prefix} # Process the option --with-gxx-include-dir=<path to include-files directory> echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6 -echo "configure:22259: checking for --with-gxx-include-dir" >&5 +echo "configure:23919: checking for --with-gxx-include-dir" >&5 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given. if test "${with_gxx_include_dir+set}" = set; then withval="$with_gxx_include_dir" @@ -22279,7 +23939,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6 # Process the option "--enable-version-specific-runtime-libs" echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6 -echo "configure:22283: checking for --enable-version-specific-runtime-libs" >&5 +echo "configure:23943: checking for --enable-version-specific-runtime-libs" >&5 # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given. if test "${enable_version_specific_runtime_libs+set}" = set; then enableval="$enable_version_specific_runtime_libs" @@ -22326,7 +23986,7 @@ if test x"$glibcpp_toolexecdir" = x"no"; then fi echo $ac_n "checking for install location""... $ac_c" 1>&6 -echo "configure:22330: checking for install location" >&5 +echo "configure:23990: checking for install location" >&5 echo "$ac_t""$gxx_include_dir" 1>&6 @@ -22367,7 +24027,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6 OPTIMIZE_CXXFLAGS= - WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings -Winline' + WARN_FLAGS='-Wall -Wno-format -W -Wwrite-strings' @@ -22381,9 +24041,9 @@ fi # Generate the various Makefiles, include files, and scripts. # NB: Multilibs need MULTISUBDIR defined correctly in src/Makefile.am -# and libsupc++/Makefile.am so that multilib installs will end up -# installed in the correct place. To work around this not being passed -# down from config-ml.in -> top_srcdir/Makefile.am -> +# libsupc++/Makefile.am and testsuite/Makefile.am so that multilib installs +# will end up installed in the correct place. To work around this not being +# passed down from config-ml.in -> top_srcdir/Makefile.am -> # top_srcdir/{src,libsupc++}/Makefile.am, manually append it here. trap '' 1 2 15 cat > confcache <<\EOF @@ -22570,10 +24230,10 @@ s%@CXXCPP@%$CXXCPP%g s%@enable_shared@%$enable_shared%g s%@enable_static@%$enable_static%g s%@ifGNUmake@%$ifGNUmake%g -s%@DEBUG_FLAGS@%$DEBUG_FLAGS%g s%@CPP@%$CPP%g s%@CSTDIO_H@%$CSTDIO_H%g s%@BASIC_FILE_H@%$BASIC_FILE_H%g +s%@BASIC_FILE_CC@%$BASIC_FILE_CC%g s%@CCODECVT_C@%$CCODECVT_C%g s%@GLIBCPP_BUILD_LIBIO_TRUE@%$GLIBCPP_BUILD_LIBIO_TRUE%g s%@GLIBCPP_BUILD_LIBIO_FALSE@%$GLIBCPP_BUILD_LIBIO_FALSE%g @@ -22590,7 +24250,16 @@ s%@USE_NLS@%$USE_NLS%g s%@CLOCALE_H@%$CLOCALE_H%g s%@CCODECVT_H@%$CCODECVT_H%g s%@CMESSAGES_H@%$CMESSAGES_H%g +s%@CCODECVT_CC@%$CCODECVT_CC%g +s%@CCOLLATE_CC@%$CCOLLATE_CC%g +s%@CCTYPE_CC@%$CCTYPE_CC%g +s%@CMESSAGES_CC@%$CMESSAGES_CC%g +s%@CMONEY_CC@%$CMONEY_CC%g +s%@CNUMERIC_CC@%$CNUMERIC_CC%g s%@CTIME_H@%$CTIME_H%g +s%@CTIME_CC@%$CTIME_CC%g +s%@CLOCALE_CC@%$CLOCALE_CC%g +s%@CLOCALE_INTERNAL_H@%$CLOCALE_INTERNAL_H%g s%@C_INCLUDE_DIR@%$C_INCLUDE_DIR%g s%@GLIBCPP_C_HEADERS_C_TRUE@%$GLIBCPP_C_HEADERS_C_TRUE%g s%@GLIBCPP_C_HEADERS_C_FALSE@%$GLIBCPP_C_HEADERS_C_FALSE%g @@ -22599,21 +24268,28 @@ s%@GLIBCPP_C_HEADERS_C_STD_FALSE@%$GLIBCPP_C_HEADERS_C_STD_FALSE%g s%@GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@%$GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE%g s%@GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE@%$GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE%g s%@glibcpp_thread_h@%$glibcpp_thread_h%g -s%@EXTRA_CXX_FLAGS@%$EXTRA_CXX_FLAGS%g s%@LIBUNWIND_FLAG@%$LIBUNWIND_FLAG%g +s%@EXTRA_CXX_FLAGS@%$EXTRA_CXX_FLAGS%g +s%@GLIBCPP_BUILD_DEBUG_TRUE@%$GLIBCPP_BUILD_DEBUG_TRUE%g +s%@GLIBCPP_BUILD_DEBUG_FALSE@%$GLIBCPP_BUILD_DEBUG_FALSE%g +s%@DEBUG_FLAGS@%$DEBUG_FLAGS%g s%@SECTION_FLAGS@%$SECTION_FLAGS%g s%@SECTION_LDFLAGS@%$SECTION_LDFLAGS%g s%@OPT_LDFLAGS@%$OPT_LDFLAGS%g s%@LIBMATHOBJS@%$LIBMATHOBJS%g +s%@GLIBCPP_BUILD_LIBMATH_TRUE@%$GLIBCPP_BUILD_LIBMATH_TRUE%g +s%@GLIBCPP_BUILD_LIBMATH_FALSE@%$GLIBCPP_BUILD_LIBMATH_FALSE%g +s%@GLIBCPP_TEST_WCHAR_T_TRUE@%$GLIBCPP_TEST_WCHAR_T_TRUE%g +s%@GLIBCPP_TEST_WCHAR_T_FALSE@%$GLIBCPP_TEST_WCHAR_T_FALSE%g s%@WERROR@%$WERROR%g -s%@baseline_file@%$baseline_file%g -s%@GLIBCPP_BUILD_ABI_CHECK_TRUE@%$GLIBCPP_BUILD_ABI_CHECK_TRUE%g -s%@GLIBCPP_BUILD_ABI_CHECK_FALSE@%$GLIBCPP_BUILD_ABI_CHECK_FALSE%g +s%@SYMVER_MAP@%$SYMVER_MAP%g s%@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE%g s%@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@%$GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE%g +s%@baseline_dir@%$baseline_dir%g +s%@GLIBCPP_TEST_ABI_TRUE@%$GLIBCPP_TEST_ABI_TRUE%g +s%@GLIBCPP_TEST_ABI_FALSE@%$GLIBCPP_TEST_ABI_FALSE%g s%@OS_INC_SRCDIR@%$OS_INC_SRCDIR%g s%@ATOMICITY_INC_SRCDIR@%$ATOMICITY_INC_SRCDIR%g -s%@CPU_LIMITS_INC_SRCDIR@%$CPU_LIMITS_INC_SRCDIR%g s%@GLIBCPP_IS_CROSS_COMPILING@%$GLIBCPP_IS_CROSS_COMPILING%g s%@CANADIAN_TRUE@%$CANADIAN_TRUE%g s%@CANADIAN_FALSE@%$CANADIAN_FALSE%g @@ -22840,51 +24516,6 @@ cat >> $CONFIG_STATUS <<\EOF fi; done EOF - -cat >> $CONFIG_STATUS <<EOF -ac_sources="$BASIC_FILE_CC $CLOCALE_CC $CCODECVT_CC $CCOLLATE_CC $CCTYPE_CC $CMESSAGES_CC $CMONEY_CC $CNUMERIC_CC $CTIME_CC $CLOCALE_INTERNAL_H $LINKER_MAP" -ac_dests="src/basic_file.cc src/c++locale.cc src/codecvt_members.cc src/collate_members.cc src/ctype_members.cc src/messages_members.cc src/monetary_members.cc src/numeric_members.cc src/time_members.cc src/c++locale_internal.h src/linker.map" -EOF - -cat >> $CONFIG_STATUS <<\EOF -srcdir=$ac_given_srcdir -while test -n "$ac_sources"; do - set $ac_dests; ac_dest=$1; shift; ac_dests=$* - set $ac_sources; ac_source=$1; shift; ac_sources=$* - - echo "linking $srcdir/$ac_source to $ac_dest" - - if test ! -r $srcdir/$ac_source; then - { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; } - fi - rm -f $ac_dest - - # Make relative symlinks. - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'` - if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then - # The dest file is in a subdirectory. - test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" - ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dest_dir_suffix. - ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dest_dir_suffix= ac_dots= - fi - - case "$srcdir" in - [/$]*) ac_rel_source="$srcdir/$ac_source" ;; - *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;; - esac - - # Make a symlink if possible; otherwise try a hard link. - if ln -s $ac_rel_source $ac_dest 2>/dev/null || - ln $srcdir/$ac_source $ac_dest; then : - else - { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; } - fi -done -EOF cat >> $CONFIG_STATUS <<EOF srcdir=${srcdir} @@ -22896,6 +24527,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} glibcpp_basedir=${glibcpp_basedir} CC="${CC}" CXX="${CXX}" +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}" EOF cat >> $CONFIG_STATUS <<\EOF @@ -22905,6 +24537,7 @@ if test -n "$CONFIG_FILES"; then ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in grep '^MULTISUBDIR =' Makefile >> src/Makefile grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile + grep '^MULTISUBDIR =' Makefile >> testsuite/Makefile fi chmod +x mkcheck chmod +x testsuite_flags diff --git a/contrib/libstdc++/configure.in b/contrib/libstdc++/configure.in index c6a5b3a..2124b9b 100644 --- a/contrib/libstdc++/configure.in +++ b/contrib/libstdc++/configure.in @@ -7,18 +7,29 @@ AC_INIT(src/ios.cc) # This works around the fact that libtool configuration may change LD # for this particular configuration, but some shells, instead of # keeping the changes in LD private, export them just because LD is -# exported. +# exported. Only used at the end of this file. ORIGINAL_LD_FOR_MULTILIBS=$LD PACKAGE=libstdc++ AC_SUBST(PACKAGE) # For libtool versioning info, format is CURRENT:REVISION:AGE -libtool_VERSION=5:2:0 +libtool_VERSION=5:5:0 AC_SUBST(libtool_VERSION) GLIBCPP_TOPREL_CONFIGURE # Gets build, host, target, *_vendor, *_cpu, *_os, etc. +# +# You will slowly go insane if you do not grok the following fact: when +# building v3 as part of the compiler, the top-level /target/ becomes the +# library's /host/. `configure' then causes --target to default to --host, +# exactly like any other package using autoconf. Therefore, 'target' and +# 'host' will always be the same. This makes sense both for native and +# cross compilers, just think about it for a little while. :-) +# +# Also, if v3 is being configured as part of a cross compiler, the top-level +# configure script will pass the "real" host as $with_cross_host. +# # AC 2.5x sets target_alias iff the user specified --target, but we use it # everywhere, so we set it here just to be sure. In AC 2.13 # AC_CANONICAL_TARGET was known as AC_CANONICAL_SYSTEM. @@ -26,9 +37,8 @@ AC_CANONICAL_SYSTEM target_alias=${target_alias-$target} AC_SUBST(target_alias) -# Runs configure.host and configure.target, as well as finds CC, CXX -# and assorted other critical bits. Have to run this before the -# GLIBCPP_ENABLE_* macros below. +# Runs configure.target, finds CC, CXX and assorted other critical bits. +# Must run this before the GLIBCPP_ENABLE_* macros below. GLIBCPP_CONFIGURE(.) AM_INIT_AUTOMAKE($PACKAGE, $gcc_version) @@ -44,42 +54,57 @@ AC_SUBST(enable_static) GLIBCPP_CHECK_GNU_MAKE # Enable all the variable C++ stuff. C_MBCHAR must come early. -GLIBCPP_ENABLE_DEBUG($USE_MAINTAINER_MODE) GLIBCPP_ENABLE_CSTDIO GLIBCPP_ENABLE_CLOCALE +GLIBCPP_ENABLE_CHEADERS([$c_model]) GLIBCPP_ENABLE_C_MBCHAR([yes]) GLIBCPP_ENABLE_C99([yes]) GLIBCPP_ENABLE_LONG_LONG([yes]) -GLIBCPP_ENABLE_CHEADERS([$c_model]) GLIBCPP_ENABLE_THREADS -GLIBCPP_ENABLE_CXX_FLAGS([none]) GLIBCPP_ENABLE_SJLJ_EXCEPTIONS GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS GLIBCPP_ENABLE_CONCEPT_CHECKS +GLIBCPP_ENABLE_CXX_FLAGS +GLIBCPP_ENABLE_DEBUG([no]) +GLIBCPP_ENABLE_DEBUG_FLAGS([none]) # Check for headers necessary for libsupc++ using dyn-string.c/cxa_demangle.c AC_CHECK_HEADERS(string.h stdlib.h) -if test -n "$with_cross_host" || test x"$build" != x"$host"; then +# No surprises, no surprises... +if test $ATOMICITYH = cpu/generic ; then + AC_MSG_WARN([No native atomic operations are provided yet for this platform.]) + if test $target_thread_file = single; then + AC_MSG_WARN([They cannot be faked when thread support is disabled.]) + AC_MSG_WARN([Thread-safety of certain classes is not guaranteed.]) + else + AC_MSG_WARN([They will be faked using a mutex.]) + AC_MSG_WARN([Performance of certain classes will degrade as a result.]) + fi +fi - # This lets us hard-code the functionality we know - # we'll have in the cross target environment. "Let" is a - # sugar-coated word placed on an especially dull and tedious hack, actually. - # Here's why GLIBCPP_CHECK_MATH_SUPPORT, and other autoconf macros - # that involve linking can't be used: - # "cannot open sim-crt0.o" - # "cannot open crt0.o" - # etc. All this is because there currently exists no unified, - # consistent way for top level CC information to be passed down - # to target directories: newlib includes, newlib linking info, - # libgloss versus newlib crt0.o, etc. When all of this is done, all - # of this hokey, excessive AC_DEFINE junk for crosses can be removed. + +if test -n "$with_cross_host" || test x"$build" != x"$host"; then # We are being configured with some form of cross compiler. GLIBCPP_IS_CROSS_COMPILING=1 - # If Canadian cross, then don't pick up tools from the build - # directory. + # This lets us hard-code the functionality we know we'll have in the cross + # target environment. "Let" is a sugar-coated word placed on an especially + # dull and tedious hack, actually. + # + # Here's why GLIBCPP_CHECK_MATH_SUPPORT, and other autoconf macros + # that involve linking, can't be used: + # "cannot open sim-crt0.o" + # "cannot open crt0.o" + # etc. All this is because there currently exists no unified, consistent + # way for top level CC information to be passed down to target directories: + # newlib includes, newlib linking info, libgloss versus newlib crt0.o, etc. + # When all of that is done, all of this hokey, excessive AC_DEFINE junk for + # crosses can be removed. + + # If Canadian cross, then don't pick up tools from the build directory. + # Used in GLIBCPP_EXPORT_INCLUDES (and nowhere else?). if test -n "$with_cross_host" && test x"$build" != x"$with_cross_host"; then CANADIAN=yes else @@ -93,69 +118,130 @@ if test -n "$with_cross_host" || test x"$build" != x"$host"; then case "$target" in *-linux*) - # Check for available headers. + os_include_dir="os/gnu-linux" AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ - machine/endian.h machine/param.h sys/machine.h sys/types.h \ - fp.h locale.h float.h inttypes.h]) + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h]) SECTION_FLAGS='-ffunction-sections -fdata-sections' AC_SUBST(SECTION_FLAGS) GLIBCPP_CHECK_LINKER_FEATURES GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT GLIBCPP_CHECK_WCHAR_T_SUPPORT - os_include_dir="config/os/gnu-linux" AC_DEFINE(HAVE_COPYSIGN) AC_DEFINE(HAVE_COPYSIGNF) + AC_DEFINE(HAVE_FINITE) AC_DEFINE(HAVE_FINITEF) AC_DEFINE(HAVE_FREXPF) AC_DEFINE(HAVE_HYPOTF) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISINFF) + AC_DEFINE(HAVE_ISNAN) + AC_DEFINE(HAVE_ISNANF) AC_DEFINE(HAVE_SINCOS) AC_DEFINE(HAVE_SINCOSF) if test x"long_double_math_on_this_cpu" = x"yes"; then - AC_DEFINE(HAVE_HYPOTL) + AC_DEFINE(HAVE_FINITEL) + AC_DEFINE(HAVE_HYPOTL) + AC_DEFINE(HAVE_ISINFL) + AC_DEFINE(HAVE_ISNANL) fi ;; *-hpux*) # Check for available headers. AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ - machine/endian.h machine/param.h sys/machine.h sys/types.h \ - fp.h locale.h float.h inttypes.h]) + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h]) SECTION_FLAGS='-ffunction-sections -fdata-sections' AC_SUBST(SECTION_FLAGS) GLIBCPP_CHECK_LINKER_FEATURES GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT GLIBCPP_CHECK_WCHAR_T_SUPPORT - os_include_dir="config/os/hpux" + os_include_dir="os/hpux" AC_DEFINE(HAVE_COPYSIGN) AC_DEFINE(HAVE_COPYSIGNF) - AC_DEFINE(HAVE_FINITEF) AC_DEFINE(HAVE_FREXPF) AC_DEFINE(HAVE_HYPOT) - AC_DEFINE(HAVE_SINCOS) - AC_DEFINE(HAVE_SINCOSF) + case "$target" in + *-hpux10*) + AC_DEFINE(HAVE_FINITE) + AC_DEFINE(HAVE_FINITEF) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISINFF) + AC_DEFINE(HAVE_ISNAN) + AC_DEFINE(HAVE_ISNANF) + ;; + esac + ;; *-netbsd*) # Check for available headers. AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ - machine/endian.h machine/param.h sys/machine.h sys/types.h \ - fp.h locale.h float.h inttypes.h]) + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h]) SECTION_FLAGS='-ffunction-sections -fdata-sections' AC_SUBST(SECTION_FLAGS) GLIBCPP_CHECK_LINKER_FEATURES GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT GLIBCPP_CHECK_WCHAR_T_SUPPORT - os_include_dir="config/os/bsd/netbsd" + os_include_dir="os/bsd/netbsd" AC_DEFINE(HAVE_COPYSIGN) AC_DEFINE(HAVE_COPYSIGNF) AC_DEFINE(HAVE_FINITEF) + AC_DEFINE(HAVE_FINITE) AC_DEFINE(HAVE_FREXPF) AC_DEFINE(HAVE_HYPOTF) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISINFF) + AC_DEFINE(HAVE_ISNAN) + AC_DEFINE(HAVE_ISNANF) + if test x"long_double_math_on_this_cpu" = x"yes"; then + AC_DEFINE(HAVE_FINITEL) + AC_DEFINE(HAVE_ISINFL) + AC_DEFINE(HAVE_ISNANL) + fi + ;; + *-freebsd*) + # Check for available headers. + AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \ + machine/endian.h machine/param.h sys/machine.h sys/types.h \ + fp.h locale.h float.h inttypes.h sys/resource.h sys/stat.h \ + sys/time.h unistd.h]) + SECTION_FLAGS='-ffunction-sections -fdata-sections' + AC_SUBST(SECTION_FLAGS) + GLIBCPP_CHECK_LINKER_FEATURES + GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT + GLIBCPP_CHECK_WCHAR_T_SUPPORT + os_include_dir="os/bsd/freebsd" + AC_DEFINE(HAVE_LC_MESSAGES) + AC_DEFINE(HAVE_DRAND48) + AC_DEFINE(HAVE_GETPAGESIZE) + AC_DEFINE(HAVE_SETENV) + AC_DEFINE(HAVE_SIGSETJMP) + AC_DEFINE(HAVE_COPYSIGN) + AC_DEFINE(HAVE_COPYSIGNF) + AC_DEFINE(HAVE_FINITEF) + AC_DEFINE(HAVE_FINITE) + AC_DEFINE(HAVE_FREXPF) + AC_DEFINE(HAVE_HYPOT) + AC_DEFINE(HAVE_HYPOTF) + AC_DEFINE(HAVE_ISINF) + AC_DEFINE(HAVE_ISNAN) + AC_DEFINE(HAVE_ISNANF) + if test x"long_double_math_on_this_cpu" = x"yes"; then + AC_DEFINE(HAVE_FINITEL) + AC_DEFINE(HAVE_ISINFL) + AC_DEFINE(HAVE_ISNANL) + fi ;; *-mingw32*) AC_CHECK_HEADERS([sys/types.h locale.h float.h]) GLIBCPP_CHECK_LINKER_FEATURES GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT GLIBCPP_CHECK_WCHAR_T_SUPPORT - os_include_dir="config/os/mingw32" + os_include_dir="os/mingw32" + ;; + *-windiss*) + os_include_dir="os/windiss" ;; changequote(,)dnl *-qnx6.[12]*) @@ -165,7 +251,7 @@ changequote([,])dnl GLIBCPP_CHECK_LINKER_FEATURES GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT GLIBCPP_CHECK_WCHAR_T_SUPPORT - os_include_dir="config/os/qnx/qnx6.1" + os_include_dir="os/qnx/qnx6.1" AC_DEFINE(HAVE_COSF) AC_DEFINE(HAVE_COSL) AC_DEFINE(HAVE_COSHF) @@ -180,7 +266,7 @@ changequote([,])dnl AC_DEFINE(HAVE_SINHL) ;; *) - os_include_dir="config/os/newlib" + os_include_dir="os/newlib" AC_DEFINE(HAVE_HYPOT) ;; esac @@ -188,6 +274,60 @@ changequote([,])dnl case "$target" in *-mingw32*) ;; + *-windiss*) + AC_DEFINE(HAVE_ACOSF) + AC_DEFINE(HAVE_ASINF) + AC_DEFINE(HAVE_ATAN2F) + AC_DEFINE(HAVE_ATANF) + AC_DEFINE(HAVE_CEILF) + AC_DEFINE(HAVE_COPYSIGN) + AC_DEFINE(HAVE_COPYSIGNF) + AC_DEFINE(HAVE_COSF) + AC_DEFINE(HAVE_COSHF) + AC_DEFINE(HAVE_EXPF) + AC_DEFINE(HAVE_FABSF) + AC_DEFINE(HAVE_FLOORF) + AC_DEFINE(HAVE_FMODF) + AC_DEFINE(HAVE_FREXPF) + AC_DEFINE(HAVE_LDEXPF) + AC_DEFINE(HAVE_LOG10F) + AC_DEFINE(HAVE_LOGF) + AC_DEFINE(HAVE_MODFF) + AC_DEFINE(HAVE_POWF) + AC_DEFINE(HAVE_SINF) + AC_DEFINE(HAVE_SINHF) + AC_DEFINE(HAVE_SQRTF) + AC_DEFINE(HAVE_TANF) + AC_DEFINE(HAVE_TANHF) + ;; + *-freebsd*) + # Must replicate generic section since we don't have strtof or strtold. + AC_DEFINE(HAVE_MMAP) + AC_DEFINE(HAVE_ACOSF) + AC_DEFINE(HAVE_ASINF) + AC_DEFINE(HAVE_ATAN2F) + AC_DEFINE(HAVE_ATANF) + AC_DEFINE(HAVE_CEILF) + AC_DEFINE(HAVE_COPYSIGN) + AC_DEFINE(HAVE_COPYSIGNF) + AC_DEFINE(HAVE_COSF) + AC_DEFINE(HAVE_COSHF) + AC_DEFINE(HAVE_EXPF) + AC_DEFINE(HAVE_FABSF) + AC_DEFINE(HAVE_FLOORF) + AC_DEFINE(HAVE_FMODF) + AC_DEFINE(HAVE_FREXPF) + AC_DEFINE(HAVE_LDEXPF) + AC_DEFINE(HAVE_LOG10F) + AC_DEFINE(HAVE_LOGF) + AC_DEFINE(HAVE_MODFF) + AC_DEFINE(HAVE_POWF) + AC_DEFINE(HAVE_SINF) + AC_DEFINE(HAVE_SINHF) + AC_DEFINE(HAVE_SQRTF) + AC_DEFINE(HAVE_TANF) + AC_DEFINE(HAVE_TANHF) + ;; *) # GLIBCPP_CHECK_STDLIB_SUPPORT AC_DEFINE(HAVE_STRTOF) @@ -206,15 +346,9 @@ changequote([,])dnl AC_DEFINE(HAVE_COSHF) AC_DEFINE(HAVE_EXPF) AC_DEFINE(HAVE_FABSF) - AC_DEFINE(HAVE_FINITE) - AC_DEFINE(HAVE_FINITEF) AC_DEFINE(HAVE_FLOORF) AC_DEFINE(HAVE_FMODF) AC_DEFINE(HAVE_FREXPF) - AC_DEFINE(HAVE_ISINF) - AC_DEFINE(HAVE_ISINFF) - AC_DEFINE(HAVE_ISNAN) - AC_DEFINE(HAVE_ISNANF) AC_DEFINE(HAVE_LDEXPF) AC_DEFINE(HAVE_LOG10F) AC_DEFINE(HAVE_LOGF) @@ -242,12 +376,9 @@ changequote([,])dnl AC_DEFINE(HAVE_COSHL) AC_DEFINE(HAVE_EXPL) AC_DEFINE(HAVE_FABSL) - AC_DEFINE(HAVE_FINITEL) AC_DEFINE(HAVE_FLOORL) AC_DEFINE(HAVE_FMODL) AC_DEFINE(HAVE_FREXPL) - AC_DEFINE(HAVE_ISINFL) - AC_DEFINE(HAVE_ISNANL) AC_DEFINE(HAVE_LDEXPL) AC_DEFINE(HAVE_LOG10L) AC_DEFINE(HAVE_LOGL) @@ -260,6 +391,7 @@ changequote([,])dnl AC_DEFINE(HAVE_TANL) AC_DEFINE(HAVE_TANHL) fi + else # We are being configured natively. We can do more elaborate tests @@ -280,6 +412,12 @@ else GLIBCPP_CHECK_WCHAR_T_SUPPORT GLIBCPP_CHECK_STDLIB_SUPPORT GLIBCPP_CHECK_UNISTD_SUPPORT + + # For showmanyc_helper(). + AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h) + GLIBCPP_CHECK_POLL + GLIBCPP_CHECK_S_ISREG_OR_S_IFREG + AC_LC_MESSAGES AC_TRY_COMPILE([ @@ -290,23 +428,24 @@ else AC_FUNC_MMAP - # Establish limits on memory usage during 'make check' - GLIBCPP_CONFIGURE_TESTSUITE fi -# This depends on the possibly-skipped linker test above. +# This depends on GLIBCPP_CHECK_LINKER_FEATURES, but without it assumes no. GLIBCPP_ENABLE_SYMVERS([yes]) +# This depends on GLIBCPP_ENABLE_SYMVERS and GLIBCPP_IS_CROSS_COMPILING. +GLIBCPP_CONFIGURE_TESTSUITE + # Propagate the target-specific source directories through the build chain. -OS_INC_SRCDIR=$os_include_dir/bits -ATOMICITY_INC_SRCDIR=$ATOMICITYH/bits -CPU_LIMITS_INC_SRCDIR=$CPULIMITSH/bits +# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH +# uses it, and it only gets used in this file.) +OS_INC_SRCDIR=config/${os_include_dir} +ATOMICITY_INC_SRCDIR=config/${ATOMICITYH} AC_SUBST(OS_INC_SRCDIR) AC_SUBST(ATOMICITY_INC_SRCDIR) -AC_SUBST(CPU_LIMITS_INC_SRCDIR) # Set up cross-compile flags -AC_SUBST(GLIBCPP_IS_CROSS_COMPILING) +AC_SUBST(GLIBCPP_IS_CROSS_COMPILING) dnl Unused so far. AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes) AC_CACHE_SAVE @@ -334,9 +473,9 @@ AC_SUBST(LIBSUPCXX_PICFLAGS) # Generate the various Makefiles, include files, and scripts. # NB: Multilibs need MULTISUBDIR defined correctly in src/Makefile.am -# and libsupc++/Makefile.am so that multilib installs will end up -# installed in the correct place. To work around this not being passed -# down from config-ml.in -> top_srcdir/Makefile.am -> +# libsupc++/Makefile.am and testsuite/Makefile.am so that multilib installs +# will end up installed in the correct place. To work around this not being +# passed down from config-ml.in -> top_srcdir/Makefile.am -> # top_srcdir/{src,libsupc++}/Makefile.am, manually append it here. AC_OUTPUT(Makefile \ include/Makefile src/Makefile \ @@ -347,6 +486,7 @@ AC_OUTPUT(Makefile \ ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in grep '^MULTISUBDIR =' Makefile >> src/Makefile grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile + grep '^MULTISUBDIR =' Makefile >> testsuite/Makefile fi chmod +x mkcheck chmod +x testsuite_flags @@ -360,6 +500,7 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} glibcpp_basedir=${glibcpp_basedir} CC="${CC}" CXX="${CXX}" +ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}" ) dnl In autoconf 2.5x, AC_OUTPUT is replaced by three AC_ macros: dnl AC_CONFIG_FILES(Makefile \ @@ -371,6 +512,7 @@ dnl [if test -n "$CONFIG_FILES"; then dnl ac_file=Makefile . ${glibcpp_basedir}/../config-ml.in dnl grep '^MULTISUBDIR =' Makefile >> src/Makefile dnl grep '^MULTISUBDIR =' Makefile >> libsupc++/Makefile +dnl grep '^MULTISUBDIR =' Makefile >> testsuite/Makefile dnl fi dnl chmod +x mkcheck dnl chmod +x testsuite_flags diff --git a/contrib/libstdc++/configure.target b/contrib/libstdc++/configure.target index 86f6d89..a8aa6a6 100644 --- a/contrib/libstdc++/configure.target +++ b/contrib/libstdc++/configure.target @@ -1,198 +1,200 @@ # configure.target - +# # This shell script handles all target based configuration for libstdc++. # It sets various shell variables based on the the target and the -# configuration options. You can modify this shell script without -# needing to rerun autoconf. - -# This shell script should be invoked as -# . configure.target -# If it encounters an error, it will exit with a message. - -# It uses the following shell variables: -# target The configuration target +# configuration options. You can modify this shell script without needing +# to rerun autoconf/aclocal/etc. This file is "sourced" not executed. +# +# You should read docs/html/17_intro/porting.* to make sense of this file. +# +# +# It uses the following shell variables as set by config.guess: +# target The configuration target (full CPU-vendor-OS triplet) # target_cpu The configuration target CPU # target_os The configuration target OS - -# It possibly modifies the following shell variables: -# cpu_include_dir CPU-specific include directory, relative to srcdir # -# os_include_dir OS-specific include directory, relative to srcdir +# +# It sets the following shell variables: +# +# cpu_include_dir CPU-specific directory, defaults to cpu/generic +# if cpu/target_cpu doesn't exist. This is +# used to set ATOMICITYH. +# +# os_include_dir OS-specific directory, defaults to os/generic. # # c_model the model to use for "C" headers, defaults to c_std. # -# c_compatibility if "C" compatibility headers are necessary, -# defaults to no. +# c_compatibility if "C" compatibility headers are necessary, +# defaults to no. +# +# abi_baseline_pair directory name for ABI compat testing, +# defaults to target (as per config.guess) +# +# ATOMICITYH location of atomicity.h, +# defaults to cpu_include_dir +# +# It possibly modifies the following variables: +# +# OPT_LDFLAGS extra flags to pass when linking the library, of +# the form '-Wl,blah' +# (defaults to empty in acinclude.m4) +# +# +# If the defaults will not work for your platform, you need only change the +# variables that won't work, i.e., you do not need to explicitly set a +# working variable to its default. Most targets only need to change the two +# *_include_dir variables. + # DEFAULTS +# Try to guess a default cpu_include_dir based on the name of the CPU. We +# cannot do this for os_include_dir; there are too many portable operating +# systems out there. :-) c_model=c_std c_compatibility=no -abi_baseline_triplet=${target} -# TARGET-SPECIFIC OVERRIDES +# TARGET-SPECIFIC OVERRIDES # Set any CPU-dependent bits. +# Here we override defaults and catch more general cases due to naming +# conventions (e.g., chip_name* to catch all variants). # THIS TABLE IS SORTED. KEEP IT THAT WAY. + case "${target_cpu}" in alpha*) - cpu_include_dir="config/cpu/alpha" - ;; - arm*) - cpu_include_dir="config/cpu/arm" - ;; - cris) - cpu_include_dir="config/cpu/cris" + try_cpu=alpha ;; - ia64) - cpu_include_dir="config/cpu/ia64" + athlon* | i586 | i686 | i786 | x86_64) + try_cpu=i486 ;; - i386) - cpu_include_dir="config/cpu/i386" + hppa*) + try_cpu=hppa ;; - i486 | i586 | i686 | i786) - cpu_include_dir="config/cpu/i486" + m680[246]0) + try_cpu=m68k ;; - m68k | m680[246]0) - cpu_include_dir="config/cpu/m68k" + powerpc* | rs6000) + try_cpu=powerpc ;; - powerpc | rs6000) - cpu_include_dir="config/cpu/powerpc" - ;; - s390 | s390x) - cpu_include_dir="config/cpu/s390" + s390x) + try_cpu=s390 ;; sparc* | ultrasparc) - cpu_include_dir="config/cpu/sparc" - ;; - x86_64*) - cpu_include_dir="config/cpu/x86-64" + try_cpu=sparc ;; *) - cpu_include_dir="config/cpu/generic" + if test -d ${glibcpp_srcdir}/config/cpu/${target_cpu}; then + try_cpu=${target_cpu} + else + try_cpu=generic + fi ;; esac -# Set any OS dependent compiler flags. +# Now look for the file(s) usually tied to a CPU model, and make +# default choices for those if they haven't been explicitly set +# already. +cpu_include_dir="cpu/${try_cpu}" +ATOMICITYH=$cpu_include_dir +abi_baseline_pair=${try_cpu}-${host_os} + +# Set any OS-dependent bits. +# Set the os_include_dir. +# Set c_model, c_compatibility here. +# If atomic ops and/or numeric limits are OS-specific rather than +# CPU-specifc, set those here too. # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${target_os}" in aix4.[3456789]* | aix[56789]*) - os_include_dir="config/os/aix" + # We set os_include_dir to os/aix only on AIX 4.3 and newer, but + # os/aix/atomicity.h works on earlier versions of AIX 4.*, so we + # explicitly duplicate the directory for 4.[<3]. + os_include_dir="os/aix" + ATOMICITYH="os/aix" OPT_LDFLAGS="-Wl,-G" ;; - bsd* | freebsd* ) - os_include_dir="config/os/bsd/freebsd" + aix4.*) + ATOMICITYH="os/aix" + ;; + aix*) + ATOMICITYH="cpu/generic" + ;; + bsd*) + # Plain BSD attempts to share FreeBSD files. + os_include_dir="os/bsd/freebsd" ;; cygwin*) - os_include_dir="config/os/newlib" + os_include_dir="os/newlib" ;; - *djgpp*) - os_include_dir="config/os/djgpp" + *djgpp*) # leading * picks up "msdosdjgpp" + os_include_dir="os/djgpp" ;; - linux* | gnu*) - os_include_dir="config/os/gnu-linux" + freebsd*) + os_include_dir="os/bsd/freebsd" ;; - irix[1-6] | irix[1-5].* | irix6.[0-4]) - # This is known to work on at least IRIX 5.2 and 6.3. - os_include_dir="config/os/irix/irix5.2" - ;; - irix6.5) - os_include_dir="config/os/irix/irix6.5" + gnu* | linux*) + os_include_dir="os/gnu-linux" + ;; + hpux*) + os_include_dir="os/hpux" + ;; + irix[1-6] | irix[1-5].* | irix6.[0-4]*) + # This is known to work on at least IRIX 5.2 and 6.3. + os_include_dir="os/irix/irix5.2" + ATOMICITYH=$os_include_dir + ;; + irix6.5*) + os_include_dir="os/irix/irix6.5" + ATOMICITYH=$os_include_dir ;; mingw32*) - os_include_dir="config/os/mingw32" + os_include_dir="os/mingw32" ;; netbsd*) - os_include_dir="config/os/bsd/netbsd" + os_include_dir="os/bsd/netbsd" ;; solaris2.5*) - os_include_dir="config/os/solaris/solaris2.5" + os_include_dir="os/solaris/solaris2.5" ;; solaris2.6*) - os_include_dir="config/os/solaris/solaris2.6" + os_include_dir="os/solaris/solaris2.6" ;; - solaris2.7* | solaris2.8*) - os_include_dir="config/os/solaris/solaris2.7" + solaris2.[789]*) + os_include_dir="os/solaris/solaris2.7" ;; - hpux*) - os_include_dir="config/os/hpux" + windiss*) + os_include_dir="os/windiss" ;; qnx6.[12]*) - os_include_dir="config/os/qnx/qnx6.1" + os_include_dir="os/qnx/qnx6.1" c_model=c ;; *) - os_include_dir="config/os/generic" + os_include_dir="os/generic" ;; esac -# Set any flags dependent on the full target triplet. +# Set any OS-dependent and CPU-dependent bits. # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${target}" in - *-*-aix[456789]*) - # We set os_include_dir to config/os/aix only on AIX 4.3 and - # newer, but config/os/aix/bits/atomicity.h works on earlier - # versions of AIX 4.*, so we explicitly duplicate the directory - # here, because os_include_dir. - ATOMICITYH=config/os/aix - ;; - *-*-aix*) - ATOMICITYH=config/cpu/generic - ;; - *-*-irix*) - ATOMICITYH=$os_include_dir - ;; - mcore-*-pe*) - # The EPOC C++ environment does not support exceptions. - if test -z "$enable_cxx_flags"; then - enable_cxx_flags="-frtti -fno-exceptions" - fi - ATOMICITYH=$cpu_include_dir - ;; - *) - ATOMICITYH=$cpu_include_dir - ;; -esac - -# Set CPULIMITSH to the directory where the configuration-dependent -# cpu_limits.h can be found. -# THIS TABLE IS SORTED. KEEP IT THAT WAY. -case "${target}" in - *-*-hpux*) - CPULIMITSH=config/os/hpux - ;; - alpha*-*-*osf5*) - CPULIMITSH=config/os/osf/osf5.0 - ;; - alpha*-*-*) - CPULIMITSH=config/cpu/alpha - ;; - cris-*-*) - CPULIMITSH=config/cpu/cris - ;; - ia64-*-*) - CPULIMITSH=config/cpu/ia64 - ;; - i?86-*-*) - CPULIMITSH=config/cpu/i386 - ;; - m68k-*-* | m680[246]0-*-*) - CPULIMITSH=config/cpu/m68k - ;; - mmix-*-*) - CPULIMITSH=config/cpu/mmix - ;; - powerpc-*-* | rs6000-*-*) - CPULIMITSH=config/cpu/powerpc - ;; - s390-*-* | s390x-*-*) - CPULIMITSH=config/cpu/s390 - ;; - x86_64-*-*) - CPULIMITSH=config/cpu/x86-64 - ;; - *) - CPULIMITSH=config/cpu/generic - ;; + mips*-*-linux*) + ATOMICITYH="cpu/mips" + ;; + x86_64-*-linux*) + abi_baseline_pair="x86_64-linux-gnu" + ;; + alpha*-*-freebsd5*) + abi_baseline_pair="alpha-freebsd5" + ;; + i*86-*-freebsd4*) + abi_baseline_pair="i386-freebsd4" + ;; + i*86-*-freebsd5*) + abi_baseline_pair="i386-freebsd5" + ;; + sparc*-*-freebsd5*) + abi_baseline_pair="sparc-freebsd5" + ;; esac diff --git a/contrib/libstdc++/include/Makefile.am b/contrib/libstdc++/include/Makefile.am index 5c87bb3..906468d 100644 --- a/contrib/libstdc++/include/Makefile.am +++ b/contrib/libstdc++/include/Makefile.am @@ -1,6 +1,6 @@ ## Makefile for the include subdirectory of the GNU C++ Standard library. ## -## Copyright (C) 2001, 2002 Free Software Foundation, Inc. +## Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. ## ## This file is part of the libstdc++ version 3 distribution. ## Process this file with automake to produce Makefile.in. @@ -31,6 +31,75 @@ CXX = @glibcpp_CXX@ glibcpp_srcdir=@glibcpp_srcdir@ glibcpp_builddir=@glibcpp_builddir@ +GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ +LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ +INCLUDES = -nostdinc++ $(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES) + +# Standard C++ includes. +std_srcdir = ${glibcpp_srcdir}/include/std +std_builddir = . +std_headers = \ + ${std_srcdir}/std_algorithm.h \ + ${std_srcdir}/std_bitset.h \ + ${std_srcdir}/std_complex.h \ + ${std_srcdir}/std_deque.h \ + ${std_srcdir}/std_fstream.h \ + ${std_srcdir}/std_functional.h \ + ${std_srcdir}/std_iomanip.h \ + ${std_srcdir}/std_ios.h \ + ${std_srcdir}/std_iosfwd.h \ + ${std_srcdir}/std_iostream.h \ + ${std_srcdir}/std_istream.h \ + ${std_srcdir}/std_iterator.h \ + ${std_srcdir}/std_limits.h \ + ${std_srcdir}/std_list.h \ + ${std_srcdir}/std_locale.h \ + ${std_srcdir}/std_map.h \ + ${std_srcdir}/std_memory.h \ + ${std_srcdir}/std_numeric.h \ + ${std_srcdir}/std_ostream.h \ + ${std_srcdir}/std_queue.h \ + ${std_srcdir}/std_set.h \ + ${std_srcdir}/std_sstream.h \ + ${std_srcdir}/std_stack.h \ + ${std_srcdir}/std_stdexcept.h \ + ${std_srcdir}/std_streambuf.h \ + ${std_srcdir}/std_string.h \ + ${std_srcdir}/std_utility.h \ + ${std_srcdir}/std_valarray.h \ + ${std_srcdir}/std_vector.h +# Renamed at build time. +std_headers_rename = \ + algorithm \ + bitset \ + complex \ + deque \ + fstream \ + functional \ + iomanip \ + ios \ + iosfwd \ + iostream \ + istream \ + iterator \ + limits \ + list \ + locale \ + map \ + memory \ + numeric \ + ostream \ + queue \ + set \ + sstream \ + stack \ + stdexcept \ + streambuf \ + string \ + utility \ + valarray \ + vector + bits_srcdir = ${glibcpp_srcdir}/include/bits bits_builddir = ./bits bits_headers = \ @@ -43,15 +112,17 @@ bits_headers = \ ${bits_srcdir}/codecvt.h \ ${bits_srcdir}/concept_check.h \ ${bits_srcdir}/cpp_type_traits.h \ + ${bits_srcdir}/deque.tcc \ ${bits_srcdir}/fpos.h \ ${bits_srcdir}/fstream.tcc \ ${bits_srcdir}/functexcept.h \ - ${bits_srcdir}/generic_shadow.h \ ${bits_srcdir}/gslice.h \ ${bits_srcdir}/gslice_array.h \ ${bits_srcdir}/indirect_array.h \ ${bits_srcdir}/ios_base.h \ ${bits_srcdir}/istream.tcc \ + ${bits_srcdir}/list.tcc \ + ${bits_srcdir}/locale_classes.h \ ${bits_srcdir}/locale_facets.h \ ${bits_srcdir}/locale_facets.tcc \ ${bits_srcdir}/localefwd.h \ @@ -60,7 +131,6 @@ bits_headers = \ ${bits_srcdir}/pthread_allocimpl.h \ ${bits_srcdir}/stream_iterator.h \ ${bits_srcdir}/streambuf_iterator.h \ - ${bits_srcdir}/slice.h \ ${bits_srcdir}/slice_array.h \ ${bits_srcdir}/sstream.tcc \ ${bits_srcdir}/stl_algo.h \ @@ -96,7 +166,8 @@ bits_headers = \ ${bits_srcdir}/type_traits.h \ ${bits_srcdir}/valarray_array.h \ ${bits_srcdir}/valarray_array.tcc \ - ${bits_srcdir}/valarray_meta.h + ${bits_srcdir}/valarray_meta.h \ + ${bits_srcdir}/vector.tcc backward_srcdir = ${glibcpp_srcdir}/include/backward backward_builddir = ./backward @@ -135,7 +206,6 @@ backward_headers = \ ${backward_srcdir}/tree.h \ ${backward_srcdir}/vector.h \ ${backward_srcdir}/fstream.h \ - ${backward_srcdir}/strstream.h \ ${backward_srcdir}/strstream \ ${backward_srcdir}/backward_warning.h @@ -239,71 +309,6 @@ else c_compatibility_headers_extra = endif - -std_srcdir = ${glibcpp_srcdir}/include/std -std_builddir = . -std_headers = \ - ${std_srcdir}/std_algorithm.h \ - ${std_srcdir}/std_bitset.h \ - ${std_srcdir}/std_complex.h \ - ${std_srcdir}/std_deque.h \ - ${std_srcdir}/std_fstream.h \ - ${std_srcdir}/std_functional.h \ - ${std_srcdir}/std_iomanip.h \ - ${std_srcdir}/std_ios.h \ - ${std_srcdir}/std_iosfwd.h \ - ${std_srcdir}/std_iostream.h \ - ${std_srcdir}/std_istream.h \ - ${std_srcdir}/std_iterator.h \ - ${std_srcdir}/std_limits.h \ - ${std_srcdir}/std_list.h \ - ${std_srcdir}/std_locale.h \ - ${std_srcdir}/std_map.h \ - ${std_srcdir}/std_memory.h \ - ${std_srcdir}/std_numeric.h \ - ${std_srcdir}/std_ostream.h \ - ${std_srcdir}/std_queue.h \ - ${std_srcdir}/std_set.h \ - ${std_srcdir}/std_sstream.h \ - ${std_srcdir}/std_stack.h \ - ${std_srcdir}/std_stdexcept.h \ - ${std_srcdir}/std_streambuf.h \ - ${std_srcdir}/std_string.h \ - ${std_srcdir}/std_utility.h \ - ${std_srcdir}/std_valarray.h \ - ${std_srcdir}/std_vector.h -# Renamed at build time. -std_headers_rename = \ - algorithm \ - bitset \ - complex \ - deque \ - fstream \ - functional \ - iomanip \ - ios \ - iosfwd \ - iostream \ - istream \ - iterator \ - limits \ - list \ - locale \ - map \ - memory \ - numeric \ - ostream \ - queue \ - set \ - sstream \ - stack \ - stdexcept \ - streambuf \ - string \ - utility \ - valarray \ - vector - target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@ target_builddir = ./${target_alias}/bits target_headers = \ @@ -311,8 +316,12 @@ target_headers = \ ${target_srcdir}/ctype_inline.h \ ${target_srcdir}/ctype_noninline.h \ ${target_srcdir}/os_defines.h \ - ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \ - ${glibcpp_srcdir}/@CPU_LIMITS_INC_SRCDIR@/cpu_limits.h + ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h + +# Non-installed target_header files. +target_headers_noinst = \ + ${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@ + # These target_headers_extra files are all built with ad hoc naming rules. target_headers_extra = \ ${target_builddir}/basic_file.h \ @@ -333,9 +342,7 @@ thread_target_headers = \ # CLEANFILES and all-local are kept up-to-date. allstamps = \ stamp-std stamp-bits stamp-c_base stamp-c_compatibility \ - stamp-backward stamp-ext \ - ${target_builddir}/stamp-target - + stamp-backward stamp-ext stamp-target # Here are the rules for building the headers all-local: ${target_builddir}/c++config.h ${thread_target_headers} ${allstamps} @@ -352,6 +359,12 @@ stamp-std: ${std_headers} done) ;\ echo `date` > stamp-std +stamp-std-precompile: stamp-std + for h in ${std_headers_rename}; do \ + $(CXX) -Winvalid-pch -x c++-header $(INCLUDES) $${h}; \ + done; \ + echo `date` > stamp-std-precompile + stamp-bits: ${bits_headers} @if [ ! -d "${bits_builddir}" ]; then \ mkdir -p ${bits_builddir} ;\ @@ -402,17 +415,19 @@ stamp-${target_alias}: fi # Target includes static. -${target_builddir}/stamp-target: ${target_headers} stamp-${target_alias} - @cd ${target_builddir} ;\ - if [ ! -f stamp-target ]; then \ +# XXX Missing dependency info for {target_headers_extra} +stamp-target: ${target_headers} ${target_headers_noinst} stamp-${target_alias} + @if [ ! -f stamp-target ]; then \ + (cd ${target_builddir} ;\ @LN_S@ ${target_headers} . || true ;\ @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file.h || true ;\ @LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\ + @LN_S@ ${glibcpp_srcdir}/@CLOCALE_INTERNAL_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; \ + @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true);\ + echo `date` > stamp-target ; \ fi # Target includes dynamic. @@ -495,7 +510,7 @@ install-data-local: $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${target_builddir}; done # By adding these files here, automake will remove them for 'make clean' -#CLEANFILES = ${allstamps} +CLEANFILES = *.pch stamp-std-precompile # Stop implicit '.o' make rules from ever stomping on extensionless # headers, in the improbable case where some foolish, crack-addled diff --git a/contrib/libstdc++/include/Makefile.in b/contrib/libstdc++/include/Makefile.in index 37a06d4..cc7e3a5 100644 --- a/contrib/libstdc++/include/Makefile.in +++ b/contrib/libstdc++/include/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -67,15 +67,24 @@ AR = @AR@ AS = @AS@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ AWK = @AWK@ +BASIC_FILE_CC = @BASIC_FILE_CC@ BASIC_FILE_H = @BASIC_FILE_H@ CC = @CC@ CCODECVT_C = @CCODECVT_C@ +CCODECVT_CC = @CCODECVT_CC@ CCODECVT_H = @CCODECVT_H@ +CCOLLATE_CC = @CCOLLATE_CC@ +CCTYPE_CC = @CCTYPE_CC@ +CLOCALE_CC = @CLOCALE_CC@ CLOCALE_H = @CLOCALE_H@ +CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ +CMESSAGES_CC = @CMESSAGES_CC@ CMESSAGES_H = @CMESSAGES_H@ +CMONEY_CC = @CMONEY_CC@ +CNUMERIC_CC = @CNUMERIC_CC@ CPP = @CPP@ -CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@ CSTDIO_H = @CSTDIO_H@ +CTIME_CC = @CTIME_CC@ CTIME_H = @CTIME_H@ CXXCPP = @CXXCPP@ C_INCLUDE_DIR = @C_INCLUDE_DIR@ @@ -85,12 +94,10 @@ EXEEXT = @EXEEXT@ EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ GCJ = @GCJ@ GCJFLAGS = @GCJFLAGS@ -GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ GLIBCPP_IS_CROSS_COMPILING = @GLIBCPP_IS_CROSS_COMPILING@ LIBIO_INCLUDES = @LIBIO_INCLUDES@ LIBMATHOBJS = @LIBMATHOBJS@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@ -LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@ LIBTOOL = @LIBTOOL@ LIBUNWIND_FLAG = @LIBUNWIND_FLAG@ @@ -107,6 +114,7 @@ RANLIB = @RANLIB@ SECTION_FLAGS = @SECTION_FLAGS@ SECTION_LDFLAGS = @SECTION_LDFLAGS@ STRIP = @STRIP@ +SYMVER_MAP = @SYMVER_MAP@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ @@ -139,6 +147,77 @@ CXX = @glibcpp_CXX@ glibcpp_srcdir = @glibcpp_srcdir@ glibcpp_builddir = @glibcpp_builddir@ +GLIBCPP_INCLUDES = @GLIBCPP_INCLUDES@ +LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@ +INCLUDES = -nostdinc++ $(GLIBCPP_INCLUDES) $(LIBSUPCXX_INCLUDES) + +# Standard C++ includes. +std_srcdir = ${glibcpp_srcdir}/include/std +std_builddir = . +std_headers = \ + ${std_srcdir}/std_algorithm.h \ + ${std_srcdir}/std_bitset.h \ + ${std_srcdir}/std_complex.h \ + ${std_srcdir}/std_deque.h \ + ${std_srcdir}/std_fstream.h \ + ${std_srcdir}/std_functional.h \ + ${std_srcdir}/std_iomanip.h \ + ${std_srcdir}/std_ios.h \ + ${std_srcdir}/std_iosfwd.h \ + ${std_srcdir}/std_iostream.h \ + ${std_srcdir}/std_istream.h \ + ${std_srcdir}/std_iterator.h \ + ${std_srcdir}/std_limits.h \ + ${std_srcdir}/std_list.h \ + ${std_srcdir}/std_locale.h \ + ${std_srcdir}/std_map.h \ + ${std_srcdir}/std_memory.h \ + ${std_srcdir}/std_numeric.h \ + ${std_srcdir}/std_ostream.h \ + ${std_srcdir}/std_queue.h \ + ${std_srcdir}/std_set.h \ + ${std_srcdir}/std_sstream.h \ + ${std_srcdir}/std_stack.h \ + ${std_srcdir}/std_stdexcept.h \ + ${std_srcdir}/std_streambuf.h \ + ${std_srcdir}/std_string.h \ + ${std_srcdir}/std_utility.h \ + ${std_srcdir}/std_valarray.h \ + ${std_srcdir}/std_vector.h + +# Renamed at build time. +std_headers_rename = \ + algorithm \ + bitset \ + complex \ + deque \ + fstream \ + functional \ + iomanip \ + ios \ + iosfwd \ + iostream \ + istream \ + iterator \ + limits \ + list \ + locale \ + map \ + memory \ + numeric \ + ostream \ + queue \ + set \ + sstream \ + stack \ + stdexcept \ + streambuf \ + string \ + utility \ + valarray \ + vector + + bits_srcdir = ${glibcpp_srcdir}/include/bits bits_builddir = ./bits bits_headers = \ @@ -151,15 +230,17 @@ bits_headers = \ ${bits_srcdir}/codecvt.h \ ${bits_srcdir}/concept_check.h \ ${bits_srcdir}/cpp_type_traits.h \ + ${bits_srcdir}/deque.tcc \ ${bits_srcdir}/fpos.h \ ${bits_srcdir}/fstream.tcc \ ${bits_srcdir}/functexcept.h \ - ${bits_srcdir}/generic_shadow.h \ ${bits_srcdir}/gslice.h \ ${bits_srcdir}/gslice_array.h \ ${bits_srcdir}/indirect_array.h \ ${bits_srcdir}/ios_base.h \ ${bits_srcdir}/istream.tcc \ + ${bits_srcdir}/list.tcc \ + ${bits_srcdir}/locale_classes.h \ ${bits_srcdir}/locale_facets.h \ ${bits_srcdir}/locale_facets.tcc \ ${bits_srcdir}/localefwd.h \ @@ -168,7 +249,6 @@ bits_headers = \ ${bits_srcdir}/pthread_allocimpl.h \ ${bits_srcdir}/stream_iterator.h \ ${bits_srcdir}/streambuf_iterator.h \ - ${bits_srcdir}/slice.h \ ${bits_srcdir}/slice_array.h \ ${bits_srcdir}/sstream.tcc \ ${bits_srcdir}/stl_algo.h \ @@ -204,7 +284,8 @@ bits_headers = \ ${bits_srcdir}/type_traits.h \ ${bits_srcdir}/valarray_array.h \ ${bits_srcdir}/valarray_array.tcc \ - ${bits_srcdir}/valarray_meta.h + ${bits_srcdir}/valarray_meta.h \ + ${bits_srcdir}/vector.tcc backward_srcdir = ${glibcpp_srcdir}/include/backward @@ -244,7 +325,6 @@ backward_headers = \ ${backward_srcdir}/tree.h \ ${backward_srcdir}/vector.h \ ${backward_srcdir}/fstream.h \ - ${backward_srcdir}/strstream.h \ ${backward_srcdir}/strstream \ ${backward_srcdir}/backward_warning.h @@ -342,72 +422,6 @@ c_compatibility_headers = \ @GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = @GLIBCPP_C_HEADERS_COMPATIBILITY_TRUE@${c_compatibility_headers} @GLIBCPP_C_HEADERS_COMPATIBILITY_FALSE@c_compatibility_headers_extra = -std_srcdir = ${glibcpp_srcdir}/include/std -std_builddir = . -std_headers = \ - ${std_srcdir}/std_algorithm.h \ - ${std_srcdir}/std_bitset.h \ - ${std_srcdir}/std_complex.h \ - ${std_srcdir}/std_deque.h \ - ${std_srcdir}/std_fstream.h \ - ${std_srcdir}/std_functional.h \ - ${std_srcdir}/std_iomanip.h \ - ${std_srcdir}/std_ios.h \ - ${std_srcdir}/std_iosfwd.h \ - ${std_srcdir}/std_iostream.h \ - ${std_srcdir}/std_istream.h \ - ${std_srcdir}/std_iterator.h \ - ${std_srcdir}/std_limits.h \ - ${std_srcdir}/std_list.h \ - ${std_srcdir}/std_locale.h \ - ${std_srcdir}/std_map.h \ - ${std_srcdir}/std_memory.h \ - ${std_srcdir}/std_numeric.h \ - ${std_srcdir}/std_ostream.h \ - ${std_srcdir}/std_queue.h \ - ${std_srcdir}/std_set.h \ - ${std_srcdir}/std_sstream.h \ - ${std_srcdir}/std_stack.h \ - ${std_srcdir}/std_stdexcept.h \ - ${std_srcdir}/std_streambuf.h \ - ${std_srcdir}/std_string.h \ - ${std_srcdir}/std_utility.h \ - ${std_srcdir}/std_valarray.h \ - ${std_srcdir}/std_vector.h - -# Renamed at build time. -std_headers_rename = \ - algorithm \ - bitset \ - complex \ - deque \ - fstream \ - functional \ - iomanip \ - ios \ - iosfwd \ - iostream \ - istream \ - iterator \ - limits \ - list \ - locale \ - map \ - memory \ - numeric \ - ostream \ - queue \ - set \ - sstream \ - stack \ - stdexcept \ - streambuf \ - string \ - utility \ - valarray \ - vector - - target_srcdir = ${glibcpp_srcdir}/@OS_INC_SRCDIR@ target_builddir = ./${target_alias}/bits target_headers = \ @@ -415,8 +429,13 @@ target_headers = \ ${target_srcdir}/ctype_inline.h \ ${target_srcdir}/ctype_noninline.h \ ${target_srcdir}/os_defines.h \ - ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h \ - ${glibcpp_srcdir}/@CPU_LIMITS_INC_SRCDIR@/cpu_limits.h + ${glibcpp_srcdir}/@ATOMICITY_INC_SRCDIR@/atomicity.h + + +# Non-installed target_header files. +target_headers_noinst = \ + ${glibcpp_srcdir}/@CLOCALE_INTERNAL_H@ + # These target_headers_extra files are all built with ad hoc naming rules. target_headers_extra = \ @@ -440,8 +459,7 @@ thread_target_headers = \ # CLEANFILES and all-local are kept up-to-date. allstamps = \ stamp-std stamp-bits stamp-c_base stamp-c_compatibility \ - stamp-backward stamp-ext \ - ${target_builddir}/stamp-target + stamp-backward stamp-ext stamp-target # Target includes for threads @@ -457,6 +475,9 @@ uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] # target_headers_extra are taken out of the build tree staging area; # the rest are taken from the original source tree. gxx_include_dir = @gxx_include_dir@ + +# By adding these files here, automake will remove them for 'make clean' +CLEANFILES = *.pch stamp-std-precompile CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = DIST_COMMON = Makefile.am Makefile.in @@ -525,6 +546,7 @@ installdirs: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -rm -f Makefile $(CONFIG_CLEAN_FILES) @@ -574,6 +596,12 @@ stamp-std: ${std_headers} done) ;\ echo `date` > stamp-std +stamp-std-precompile: stamp-std + for h in ${std_headers_rename}; do \ + $(CXX) -Winvalid-pch -x c++-header $(INCLUDES) $${h}; \ + done; \ + echo `date` > stamp-std-precompile + stamp-bits: ${bits_headers} @if [ ! -d "${bits_builddir}" ]; then \ mkdir -p ${bits_builddir} ;\ @@ -624,17 +652,19 @@ stamp-${target_alias}: fi # Target includes static. -${target_builddir}/stamp-target: ${target_headers} stamp-${target_alias} - @cd ${target_builddir} ;\ - if [ ! -f stamp-target ]; then \ +# XXX Missing dependency info for {target_headers_extra} +stamp-target: ${target_headers} ${target_headers_noinst} stamp-${target_alias} + @if [ ! -f stamp-target ]; then \ + (cd ${target_builddir} ;\ @LN_S@ ${target_headers} . || true ;\ @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_H@ basic_file.h || true ;\ @LN_S@ ${glibcpp_srcdir}/@CSTDIO_H@ c++io.h || true ;\ @LN_S@ ${glibcpp_srcdir}/@CLOCALE_H@ c++locale.h || true ;\ + @LN_S@ ${glibcpp_srcdir}/@CLOCALE_INTERNAL_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; \ + @LN_S@ ${glibcpp_srcdir}/@CCODECVT_H@ codecvt_specializations.h || true);\ + echo `date` > stamp-target ; \ fi # Target includes dynamic. @@ -702,9 +732,6 @@ install-data-local: ${thread_target_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${target_builddir}; done -# By adding these files here, automake will remove them for 'make clean' -#CLEANFILES = ${allstamps} - # Stop implicit '.o' make rules from ever stomping on extensionless # headers, in the improbable case where some foolish, crack-addled # developer tries to create them via make in the include build diff --git a/contrib/libstdc++/include/bits/basic_ios.h b/contrib/libstdc++/include/bits/basic_ios.h index 13ad0f8..fe5e36a 100644 --- a/contrib/libstdc++/include/bits/basic_ios.h +++ b/contrib/libstdc++/include/bits/basic_ios.h @@ -1,6 +1,7 @@ // Iostreams base classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -38,120 +39,291 @@ #pragma GCC system_header #include <bits/streambuf_iterator.h> +#include <bits/localefwd.h> +#include <bits/locale_classes.h> #include <bits/locale_facets.h> namespace std { // 27.4.5 Template class basic_ios + /** + * @brief Virtual base class for all stream classes. + * + * Most of the member functions called dispatched on stream objects + * (e.g., @c std::cout.foo(bar);) are consolidated in this class. + */ template<typename _CharT, typename _Traits> class basic_ios : public ios_base { public: - // Types: - typedef _CharT char_type; - typedef typename _Traits::int_type int_type; - typedef typename _Traits::pos_type pos_type; - typedef typename _Traits::off_type off_type; - typedef _Traits traits_type; - - // Non-standard Types: - typedef ctype<_CharT> __ctype_type; - typedef ostreambuf_iterator<_CharT, _Traits> __ostreambuf_iter; - typedef num_put<_CharT, __ostreambuf_iter> __numput_type; - typedef istreambuf_iterator<_CharT, _Traits> __istreambuf_iter; - typedef num_get<_CharT, __istreambuf_iter> __numget_type; + //@{ + /** + * These are standard types. They permit a standardized way of + * referring to names of (or names dependant on) the template + * parameters, which are specific to the implementation. + */ + typedef _CharT char_type; + typedef typename _Traits::int_type int_type; + typedef typename _Traits::pos_type pos_type; + typedef typename _Traits::off_type off_type; + typedef _Traits traits_type; + //@} + + //@{ + /** + * @if maint + * These are non-standard types. + * @endif + */ + typedef ctype<_CharT> __ctype_type; + typedef ostreambuf_iterator<_CharT, _Traits> __ostreambuf_iter; + typedef num_put<_CharT, __ostreambuf_iter> __numput_type; + typedef istreambuf_iterator<_CharT, _Traits> __istreambuf_iter; + typedef num_get<_CharT, __istreambuf_iter> __numget_type; + //@} + + friend void ios_base::Init::_S_ios_create(bool); // Data members: protected: - basic_ostream<_CharT, _Traits>* _M_tie; - mutable char_type _M_fill; - mutable bool _M_fill_init; - basic_streambuf<_CharT, _Traits>* _M_streambuf; + basic_ostream<_CharT, _Traits>* _M_tie; + mutable char_type _M_fill; + mutable bool _M_fill_init; + basic_streambuf<_CharT, _Traits>* _M_streambuf; // Cached use_facet<ctype>, which is based on the current locale info. - const __ctype_type* _M_fctype; + const __ctype_type* _M_fctype; // From ostream. - const __numput_type* _M_fnumput; + const __numput_type* _M_fnumput; // From istream. - const __numget_type* _M_fnumget; + const __numget_type* _M_fnumget; public: + //@{ + /** + * @brief The quick-and-easy status check. + * + * This allows you to write constructs such as + * "if (!a_stream) ..." and "while (a_stream) ..." + */ operator void*() const { return this->fail() ? 0 : const_cast<basic_ios*>(this); } bool operator!() const { return this->fail(); } - + //@} + + /** + * @brief Returns the error state of the stream buffer. + * @return A bit pattern (well, isn't everything?) + * + * See std::ios_base::iostate for the possible bit values. Most + * users will call one of the interpreting wrappers, e.g., good(). + */ iostate rdstate() const { return _M_streambuf_state; } + /** + * @brief [Re]sets the error state. + * @param state The new state flag(s) to set. + * + * See std::ios_base::iostate for the possible bit values. Most + * users will not need to pass an argument. + */ void clear(iostate __state = goodbit); + /** + * @brief Sets additional flags in the error state. + * @param state The additional state flag(s) to set. + * + * See std::ios_base::iostate for the possible bit values. + */ void setstate(iostate __state) { this->clear(this->rdstate() | __state); } + /** + * @brief Fast error checking. + * @return True if no error flags are set. + * + * A wrapper around rdstate. + */ bool good() const { return this->rdstate() == 0; } + /** + * @brief Fast error checking. + * @return True if the eofbit is set. + * + * Note that other iostate flags may also be set. + */ bool eof() const { return (this->rdstate() & eofbit) != 0; } + /** + * @brief Fast error checking. + * @return True if either the badbit or the failbit is set. + * + * Checking the badbit in fail() is historical practice. + * Note that other iostate flags may also be set. + */ bool fail() const { return (this->rdstate() & (badbit | failbit)) != 0; } + /** + * @brief Fast error checking. + * @return True if the badbit is set. + * + * Note that other iostate flags may also be set. + */ bool bad() const { return (this->rdstate() & badbit) != 0; } + /** + * @brief Throwing exceptions on errors. + * @return The current exceptions mask. + * + * This changes nothing in the stream. See the one-argument version + * of exceptions(iostate) for the meaning of the return value. + */ iostate exceptions() const { return _M_exception; } + /** + * @brief Throwing exceptions on errors. + * @param except The new exceptions mask. + * + * By default, error flags are set silently. You can set an + * exceptions mask for each stream; if a bit in the mask becomes set + * in the error flags, then an exception of type + * std::ios_base::failure is thrown. + * + * If the error flage is already set when the exceptions mask is + * added, the exception is immediately thrown. Try running the + * following under GCC 3.1 or later: + * @code + * #include <iostream> + * #include <fstream> + * #include <exception> + * + * int main() + * { + * std::set_terminate (__gnu_cxx::__verbose_terminate_handler); + * + * std::ifstream f ("/etc/motd"); + * + * std::cerr << "Setting badbit\n"; + * f.setstate (std::ios_base::badbit); + * + * std::cerr << "Setting exception mask\n"; + * f.exceptions (std::ios_base::badbit); + * } + * @endcode + */ void exceptions(iostate __except) { - _M_exception = __except; - this->clear(_M_streambuf_state); + _M_exception = __except; + this->clear(_M_streambuf_state); } // Constructor/destructor: + /** + * @brief Constructor performs initialization. + * + * The parameter is passed by derived streams. + */ explicit basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base() { this->init(__sb); } + /** + * @brief Empty. + * + * The destructor does nothing. More specifically, it does not + * destroy the streambuf held by rdbuf(). + */ virtual ~basic_ios() { } // Members: + /** + * @brief Fetches the current @e tied stream. + * @return A pointer to the tied stream, or NULL if the stream is + * not tied. + * + * A stream may be @e tied (or synchronized) to a second output + * stream. When this stream performs any I/O, the tied stream is + * first flushed. For example, @c std::cin is tied to @c std::cout. + */ basic_ostream<_CharT, _Traits>* tie() const { return _M_tie; } + /** + * @brief Ties this stream to an output stream. + * @param tiestr The output stream. + * @return The previously tied output stream, or NULL if the stream + * was not tied. + * + * This sets up a new tie; see tie() for more. + */ basic_ostream<_CharT, _Traits>* tie(basic_ostream<_CharT, _Traits>* __tiestr) { - basic_ostream<_CharT, _Traits>* __old = _M_tie; - _M_tie = __tiestr; - return __old; + basic_ostream<_CharT, _Traits>* __old = _M_tie; + _M_tie = __tiestr; + return __old; } + /** + * @brief Accessing the underlying buffer. + * @return The current stream buffer. + * + * This does not change the state of the stream. + */ basic_streambuf<_CharT, _Traits>* rdbuf() const { return _M_streambuf; } + /** + * @brief Changing the underlying buffer. + * @param sb The new stream buffer. + * @return The previous stream buffer. + * + * Associates a new buffer with the current stream, and clears the + * error state. + * + * Due to historical accidents which the LWG refuses to correct, the + * I/O library suffers from a design error: this function is hidden + * in derived classes by overrides of the zero-argument @c rdbuf(), + * which is non-virtual for hysterical raisins. As a result, you + * must use explicit qualifications to access this function via any + * derived class. + */ basic_streambuf<_CharT, _Traits>* rdbuf(basic_streambuf<_CharT, _Traits>* __sb); + /** + * @doctodo + */ basic_ios& copyfmt(const basic_ios& __rhs); + /** + * @brief Retreives the "empty" character. + * @return The current fill character. + * + * It defaults to a space (' ') in the current locale. + */ char_type fill() const { @@ -163,6 +335,15 @@ namespace std return _M_fill; } + /** + * @brief Sets a new "empty" character. + * @param ch The new character. + * @return The previous fill character. + * + * The fill character is used to fill out space when P+ characters + * have been requested (e.g., via setw), Q characters are actually + * used, and Q<P. It defaults to a space (' ') in the current locale. + */ char_type fill(char_type __ch) { @@ -172,20 +353,77 @@ namespace std } // Locales: + /** + * @brief Moves to a new locale. + * @param loc The new locale. + * @return The previous locale. + * + * Calls @c ios_base::imbue(loc), and if a stream buffer is associated + * with this stream, calls that buffer's @c pubimbue(loc). + * + * Additional l10n notes are at + * http://gcc.gnu.org/onlinedocs/libstdc++/22_locale/howto.html + */ locale imbue(const locale& __loc); + /** + * @brief Squeezes characters. + * @param c The character to narrow. + * @param dfault The character to narrow. + * @return The narrowed character. + * + * Maps a character of @c char_type to a character of @c char, + * if possible. + * + * Returns the result of + * @code + * std::use_facet< ctype<char_type> >(getloc()).narrow(c,dfault) + * @endcode + * + * Additional l10n notes are at + * http://gcc.gnu.org/onlinedocs/libstdc++/22_locale/howto.html + */ char narrow(char_type __c, char __dfault) const; + /** + * @brief Widens characters. + * @param c The character to widen. + * @return The widened character. + * + * Maps a character of @c char to a character of @c char_type. + * + * Returns the result of + * @code + * std::use_facet< ctype<char_type> >(getloc()).widen(c) + * @endcode + * + * Additional l10n notes are at + * http://gcc.gnu.org/onlinedocs/libstdc++/22_locale/howto.html + */ char_type widen(char __c) const; protected: // 27.4.5.1 basic_ios constructors + /** + * @brief Empty. + * + * The default constructor does nothing and is not normally + * accessible to users. + */ basic_ios() : ios_base() { } + /** + * @brief All setup is performed here. + * + * This is called from the public constructor. It is not virtual and + * cannot be redefined. The second argument, __cache, is used + * to initialize the standard streams without allocating + * memory. + */ void init(basic_streambuf<_CharT, _Traits>* __sb); @@ -198,7 +436,18 @@ namespace std } void + _M_cache_locale(const locale& __loc); + +#if 1 + // XXX GLIBCXX_ABI Deprecated, compatibility only. + void _M_cache_facets(const locale& __loc); +#endif + + // Internal state setter that won't throw, only set the state bits. + // Used to guarantee we don't throw when setting badbit. + void + _M_setstate(iostate __state) { _M_streambuf_state |= __state; } }; } // namespace std diff --git a/contrib/libstdc++/include/bits/basic_ios.tcc b/contrib/libstdc++/include/bits/basic_ios.tcc index 7ee8015..1c9cd3b 100644 --- a/contrib/libstdc++/include/bits/basic_ios.tcc +++ b/contrib/libstdc++/include/bits/basic_ios.tcc @@ -1,6 +1,6 @@ // basic_ios locale and locale-related member functions -*- C++ -*- -// Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1999, 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 @@ -95,10 +95,17 @@ namespace std this->precision(__rhs.precision()); this->tie(__rhs.tie()); this->fill(__rhs.fill()); + _M_ios_locale = __rhs.getloc(); + + // This removes the link to __rhs locale cache + _M_call_callbacks(copyfmt_event); + + _M_cache_locale(_M_ios_locale); + + // The next is required to be the last assignment. this->exceptions(__rhs.exceptions()); - _M_call_callbacks(copyfmt_event); return *this; } @@ -129,7 +136,7 @@ namespace std { locale __old(this->getloc()); ios_base::imbue(__loc); - _M_cache_facets(__loc); + _M_cache_locale(__loc); if (this->rdbuf() != 0) this->rdbuf()->pubimbue(__loc); return __old; @@ -141,7 +148,7 @@ namespace std { // NB: This may be called more than once on the same object. ios_base::_M_init(); - _M_cache_facets(_M_ios_locale); + _M_cache_locale(_M_ios_locale); _M_tie = 0; // NB: The 27.4.4.1 Postconditions Table specifies requirements @@ -166,31 +173,47 @@ namespace std template<typename _CharT, typename _Traits> void - basic_ios<_CharT, _Traits>::_M_cache_facets(const locale& __loc) + basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) { - if (has_facet<__ctype_type>(__loc)) + if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) _M_fctype = &use_facet<__ctype_type>(__loc); else _M_fctype = 0; - // Should be filled in by ostream and istream, respectively. - if (has_facet<__numput_type>(__loc)) + if (__builtin_expect(has_facet<__numput_type>(__loc), true)) _M_fnumput = &use_facet<__numput_type>(__loc); else _M_fnumput = 0; - if (has_facet<__numget_type>(__loc)) - _M_fnumget = &use_facet<__numget_type>(__loc); + if (__builtin_expect(has_facet<__numget_type>(__loc), true)) + _M_fnumget = &use_facet<__numget_type>(__loc); else _M_fnumget = 0; } +#if 1 + // XXX GLIBCXX_ABI Deprecated, compatibility only. + template<typename _CharT, typename _Traits> + void + basic_ios<_CharT, _Traits>::_M_cache_facets(const locale& __loc) + { + if (__builtin_expect(has_facet<__ctype_type>(__loc), true)) + _M_fctype = &use_facet<__ctype_type>(__loc); + if (__builtin_expect(has_facet<__numput_type>(__loc), true)) + _M_fnumput = &use_facet<__numput_type>(__loc); + if (__builtin_expect(has_facet<__numget_type>(__loc), true)) + _M_fnumget = &use_facet<__numget_type>(__loc); + } +#endif + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class basic_ios<char>; #ifdef _GLIBCPP_USE_WCHAR_T extern template class basic_ios<wchar_t>; #endif +#endif } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/basic_string.h b/contrib/libstdc++/include/bits/basic_string.h index a9c02ce..e92009d 100644 --- a/contrib/libstdc++/include/bits/basic_string.h +++ b/contrib/libstdc++/include/bits/basic_string.h @@ -38,7 +38,7 @@ */ #ifndef _CPP_BITS_STRING_H -#define _CPP_BITS_STRING_H 1 +#define _CPP_BITS_STRING_H 1 #pragma GCC system_header @@ -46,44 +46,64 @@ namespace std { - // Documentation? What's that? - // Nathan Myers <ncm@cantrip.org>. - // - // A string looks like this: - // - // [_Rep] - // _M_length - // [basic_string<char_type>] _M_capacity - // _M_dataplus _M_state - // _M_p ----------------> unnamed array of char_type - - // Where the _M_p points to the first character in the string, and - // you cast it to a pointer-to-_Rep and subtract 1 to get a - // pointer to the header. - - // This approach has the enormous advantage that a string object - // requires only one allocation. All the ugliness is confined - // within a single pair of inline functions, which each compile to - // a single "add" instruction: _Rep::_M_data(), and - // string::_M_rep(); and the allocation function which gets a - // block of raw bytes and with room enough and constructs a _Rep - // object at the front. - - // The reason you want _M_data pointing to the character array and - // not the _Rep is so that the debugger can see the string - // contents. (Probably we should add a non-inline member to get - // the _Rep for the debugger to use, so users can check the actual - // string length.) - - // Note that the _Rep object is a POD so that you can have a - // static "empty string" _Rep object already "constructed" before - // static constructors have run. The reference-count encoding is - // chosen so that a 0 indicates one reference, so you never try to - // destroy the empty-string _Rep object. - - // All but the last paragraph is considered pretty conventional - // for a C++ string implementation. - + /** + * @class basic_string basic_string.h <string> + * @brief Managing sequences of characters and character-like objects. + * + * @ingroup Containers + * @ingroup Sequences + * + * Meets the requirements of a <a href="tables.html#65">container</a>, a + * <a href="tables.html#66">reversible container</a>, and a + * <a href="tables.html#67">sequence</a>. Of the + * <a href="tables.html#68">optional sequence requirements</a>, only + * @c push_back, @c at, and array access are supported. + * + * @doctodo + * + * + * @if maint + * Documentation? What's that? + * Nathan Myers <ncm@cantrip.org>. + * + * A string looks like this: + * + * @code + * [_Rep] + * _M_length + * [basic_string<char_type>] _M_capacity + * _M_dataplus _M_state + * _M_p ----------------> unnamed array of char_type + * @endcode + * + * Where the _M_p points to the first character in the string, and + * you cast it to a pointer-to-_Rep and subtract 1 to get a + * pointer to the header. + * + * This approach has the enormous advantage that a string object + * requires only one allocation. All the ugliness is confined + * within a single pair of inline functions, which each compile to + * a single "add" instruction: _Rep::_M_data(), and + * string::_M_rep(); and the allocation function which gets a + * block of raw bytes and with room enough and constructs a _Rep + * object at the front. + * + * The reason you want _M_data pointing to the character array and + * not the _Rep is so that the debugger can see the string + * contents. (Probably we should add a non-inline member to get + * the _Rep for the debugger to use, so users can check the actual + * string length.) + * + * Note that the _Rep object is a POD so that you can have a + * static "empty string" _Rep object already "constructed" before + * static constructors have run. The reference-count encoding is + * chosen so that a 0 indicates one reference, so you never try to + * destroy the empty-string _Rep object. + * + * All but the last paragraph is considered pretty conventional + * for a C++ string implementation. + * @endif + */ // 21.3 Template class basic_string template<typename _CharT, typename _Traits, typename _Alloc> class basic_string @@ -102,9 +122,9 @@ namespace std typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator; typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string> const_iterator; - typedef reverse_iterator<const_iterator> const_reverse_iterator; - typedef reverse_iterator<iterator> reverse_iterator; - + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + private: // _Rep: string representation // Invariants: @@ -125,7 +145,7 @@ namespace std // Types: typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc; - // (Public) Data members: + // (Public) Data members: // The maximum number of individual char_type elements of an // individual string is determined by _S_max_size. This is the @@ -133,10 +153,10 @@ namespace std // is the maximum number of bytes the allocator can allocate.) // If one was to divvy up the theoretical largest size string, // with a terminating character and m _CharT elements, it'd - // look like this: + // look like this: // npos = sizeof(_Rep) + (m * sizeof(_CharT)) + sizeof(_CharT) // Solving for m: - // m = ((npos - sizeof(_Rep))/sizeof(CharT)) - 1 + // m = ((npos - sizeof(_Rep))/sizeof(CharT)) - 1 // In addition, this implementation quarters this ammount. static const size_type _S_max_size; static const _CharT _S_terminal; @@ -144,7 +164,7 @@ namespace std size_type _M_length; size_type _M_capacity; _Atomic_word _M_references; - + bool _M_is_leaked() const { return _M_references < 0; } @@ -154,50 +174,50 @@ namespace std { return _M_references > 0; } void - _M_set_leaked() + _M_set_leaked() { _M_references = -1; } void - _M_set_sharable() + _M_set_sharable() { _M_references = 0; } - _CharT* + _CharT* _M_refdata() throw() { return reinterpret_cast<_CharT*>(this + 1); } - _CharT& + _CharT& operator[](size_t __s) throw() { return _M_refdata() [__s]; } - _CharT* + _CharT* _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2) - { - return (!_M_is_leaked() && __alloc1 == __alloc2) - ? _M_refcopy() : _M_clone(__alloc1); + { + return (!_M_is_leaked() && __alloc1 == __alloc2) + ? _M_refcopy() : _M_clone(__alloc1); } // Create & Destroy - static _Rep* + static _Rep* _S_create(size_t, const _Alloc&); - void + void _M_dispose(const _Alloc& __a) - { - if (__exchange_and_add(&_M_references, -1) <= 0) - _M_destroy(__a); + { + if (__exchange_and_add(&_M_references, -1) <= 0) + _M_destroy(__a); } // XXX MT - void + void _M_destroy(const _Alloc&) throw(); - _CharT* + _CharT* _M_refcopy() throw() - { - __atomic_add(&_M_references, 1); - return _M_refdata(); + { + __atomic_add(&_M_references, 1); + return _M_refdata(); } // XXX MT - _CharT* + _CharT* _M_clone(const _Alloc&, size_type __res = 0); }; @@ -224,45 +244,45 @@ namespace std // (carefully) in an empty string with one reference. static size_type _S_empty_rep_storage[(sizeof(_Rep) + sizeof(_CharT) + sizeof(size_type) - 1)/sizeof(size_type)]; - _CharT* - _M_data() const + _CharT* + _M_data() const { return _M_dataplus._M_p; } - _CharT* - _M_data(_CharT* __p) + _CharT* + _M_data(_CharT* __p) { return (_M_dataplus._M_p = __p); } - _Rep* + _Rep* _M_rep() const { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); } // For the internal use we have functions similar to `begin'/`end' // but they do not call _M_leak. - iterator + iterator _M_ibegin() const { return iterator(_M_data()); } - iterator + iterator _M_iend() const { return iterator(_M_data() + this->size()); } - void + void _M_leak() // for use in begin() & non-const op[] - { - if (!_M_rep()->_M_is_leaked()) - _M_leak_hard(); + { + if (!_M_rep()->_M_is_leaked()) + _M_leak_hard(); } - iterator + iterator _M_check(size_type __pos) const - { + { if (__pos > this->size()) - __throw_out_of_range("basic_string::_M_check"); - return _M_ibegin() + __pos; + __throw_out_of_range("basic_string::_M_check"); + return _M_ibegin() + __pos; } // NB: _M_fold doesn't check for a bad __pos1 value. - iterator + iterator _M_fold(size_type __pos, size_type __off) const - { + { bool __testoff = __off < this->size() - __pos; size_type __newoff = __testoff ? __off : this->size() - __pos; return (_M_ibegin() + __pos + __newoff); @@ -273,8 +293,8 @@ namespace std template<class _Iterator> static void _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) - { - for (; __k1 != __k2; ++__k1, ++__p) + { + for (; __k1 != __k2; ++__k1, ++__p) traits_type::assign(*__p, *__k1); // These types are off. } @@ -285,7 +305,7 @@ namespace std static void _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) { _S_copy_chars(__p, __k1.base(), __k2.base()); } - + static void _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) { traits_type::copy(__p, __k1, __k2 - __k1); } @@ -294,13 +314,13 @@ namespace std _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) { traits_type::copy(__p, __k1, __k2 - __k1); } - void + void _M_mutate(size_type __pos, size_type __len1, size_type __len2); - void + void _M_leak_hard(); - static _Rep& + static _Rep& _S_empty_rep() { return *reinterpret_cast<_Rep*>(&_S_empty_rep_storage); } @@ -309,10 +329,10 @@ namespace std // NB: We overload ctors in some cases instead of using default // arguments, per 17.4.4.4 para. 2 item 2. - inline + inline basic_string(); - explicit + explicit basic_string(const _Alloc& __a); // NB: per LWG issue 42, semantics different from IS: @@ -331,200 +351,173 @@ namespace std basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a = _Alloc()); - ~basic_string() + ~basic_string() { _M_rep()->_M_dispose(this->get_allocator()); } - basic_string& + basic_string& operator=(const basic_string& __str) { return this->assign(__str); } - basic_string& + basic_string& operator=(const _CharT* __s) { return this->assign(__s); } - basic_string& + basic_string& operator=(_CharT __c) { return this->assign(1, __c); } // Iterators: - iterator - begin() - { - _M_leak(); + iterator + begin() + { + _M_leak(); return iterator(_M_data()); } - const_iterator - begin() const + const_iterator + begin() const { return const_iterator(_M_data()); } - iterator + iterator end() { _M_leak(); return iterator(_M_data() + this->size()); } - const_iterator + const_iterator end() const { return const_iterator(_M_data() + this->size()); } - reverse_iterator - rbegin() + reverse_iterator + rbegin() { return reverse_iterator(this->end()); } - const_reverse_iterator - rbegin() const + const_reverse_iterator + rbegin() const { return const_reverse_iterator(this->end()); } - reverse_iterator - rend() + reverse_iterator + rend() { return reverse_iterator(this->begin()); } - const_reverse_iterator - rend() const + const_reverse_iterator + rend() const { return const_reverse_iterator(this->begin()); } public: // Capacity: - size_type + size_type size() const { return _M_rep()->_M_length; } - size_type + size_type length() const { return _M_rep()->_M_length; } - size_type + size_type max_size() const { return _Rep::_S_max_size; } - void + void resize(size_type __n, _CharT __c); - void + void resize(size_type __n) { this->resize(__n, _CharT()); } - size_type + size_type capacity() const { return _M_rep()->_M_capacity; } - void + void reserve(size_type __res_arg = 0); - void + void clear() { _M_mutate(0, this->size(), 0); } - bool + bool empty() const { return this->size() == 0; } // Element access: - const_reference - operator[] (size_type __pos) const + const_reference + operator[] (size_type __pos) const { return _M_data()[__pos]; } - reference - operator[](size_type __pos) - { - _M_leak(); - return _M_data()[__pos]; + reference + operator[](size_type __pos) + { + _M_leak(); + return _M_data()[__pos]; } - const_reference + const_reference at(size_type __n) const { if (__n >= this->size()) __throw_out_of_range("basic_string::at"); - return _M_data()[__n]; + return _M_data()[__n]; } - reference + reference at(size_type __n) { if (__n >= size()) __throw_out_of_range("basic_string::at"); - _M_leak(); - return _M_data()[__n]; + _M_leak(); + return _M_data()[__n]; } // Modifiers: - basic_string& + basic_string& operator+=(const basic_string& __str) { return this->append(__str); } - basic_string& + basic_string& operator+=(const _CharT* __s) { return this->append(__s); } - basic_string& + basic_string& operator+=(_CharT __c) { return this->append(size_type(1), __c); } - basic_string& + basic_string& append(const basic_string& __str); - basic_string& + basic_string& append(const basic_string& __str, size_type __pos, size_type __n); - basic_string& + basic_string& append(const _CharT* __s, size_type __n); - basic_string& + basic_string& append(const _CharT* __s) { return this->append(__s, traits_type::length(__s)); } - basic_string& + basic_string& append(size_type __n, _CharT __c); template<class _InputIterator> - basic_string& + basic_string& append(_InputIterator __first, _InputIterator __last) { return this->replace(_M_iend(), _M_iend(), __first, __last); } - void + void push_back(_CharT __c) { this->replace(_M_iend(), _M_iend(), 1, __c); } - basic_string& + basic_string& assign(const basic_string& __str); - basic_string& - assign(const basic_string& __str, size_type __pos, size_type __n) - { - const size_type __strsize = __str.size(); - if (__pos > __strsize) - __throw_out_of_range("basic_string::assign"); - const bool __testn = __n < __strsize - __pos; - const size_type __newsize = __testn ? __n : __strsize - __pos; - return this->assign(__str._M_data() + __pos, __newsize); - } + basic_string& + assign(const basic_string& __str, size_type __pos, size_type __n); - basic_string& - assign(const _CharT* __s, size_type __n) - { - if (__n > this->max_size()) - __throw_length_error("basic_string::assign"); - if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) - || less<const _CharT*>()(_M_data() + this->size(), __s)) - return _M_replace_safe(_M_ibegin(), _M_iend(), __s, __s + __n); - else - { - // Work in-place - const size_type __pos = __s - _M_data(); - if (__pos >= __n) - traits_type::copy(_M_data(), __s, __n); - else if (__pos) - traits_type::move(_M_data(), __s, __n); - _M_rep()->_M_length = __n; - _M_data()[__n] = _Rep::_S_terminal; - return *this; - } - } + basic_string& + assign(const _CharT* __s, size_type __n); - basic_string& + basic_string& assign(const _CharT* __s) { return this->assign(__s, traits_type::length(__s)); } - basic_string& + basic_string& assign(size_type __n, _CharT __c) { return this->replace(_M_ibegin(), _M_iend(), __n, __c); } template<class _InputIterator> - basic_string& + basic_string& assign(_InputIterator __first, _InputIterator __last) { return this->replace(_M_ibegin(), _M_iend(), __first, __last); } - void + void insert(iterator __p, size_type __n, _CharT __c) { this->replace(__p, __p, __n, __c); } @@ -532,93 +525,54 @@ namespace std void insert(iterator __p, _InputIterator __beg, _InputIterator __end) { this->replace(__p, __p, __beg, __end); } - basic_string& + basic_string& insert(size_type __pos1, const basic_string& __str) { return this->insert(__pos1, __str, 0, __str.size()); } - basic_string& + basic_string& insert(size_type __pos1, const basic_string& __str, - size_type __pos2, size_type __n) - { - const size_type __strsize = __str.size(); - if (__pos2 > __strsize) - __throw_out_of_range("basic_string::insert"); - const bool __testn = __n < __strsize - __pos2; - const size_type __newsize = __testn ? __n : __strsize - __pos2; - return this->insert(__pos1, __str._M_data() + __pos2, __newsize); - } + size_type __pos2, size_type __n); - basic_string& - insert(size_type __pos, const _CharT* __s, size_type __n) - { - const size_type __size = this->size(); - if (__pos > __size) - __throw_out_of_range("basic_string::insert"); - if (__size > this->max_size() - __n) - __throw_length_error("basic_string::insert"); - if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) - || less<const _CharT*>()(_M_data() + __size, __s)) - return _M_replace_safe(_M_ibegin() + __pos, _M_ibegin() + __pos, - __s, __s + __n); - else - { - // Work in-place. If _M_mutate reallocates the string, __s - // does not point anymore to valid data, therefore we save its - // offset, then we restore it. - const size_type __off = __s - _M_data(); - _M_mutate(__pos, 0, __n); - __s = _M_data() + __off; - _CharT* __p = _M_data() + __pos; - if (__s + __n <= __p) - traits_type::copy(__p, __s, __n); - else if (__s >= __p) - traits_type::copy(__p, __s + __n, __n); - else - { - traits_type::copy(__p, __s, __p - __s); - traits_type::copy(__p + (__p - __s), __p + __n, __n - (__p - __s)); - } - return *this; - } - } - - basic_string& + basic_string& + insert(size_type __pos, const _CharT* __s, size_type __n); + + basic_string& insert(size_type __pos, const _CharT* __s) { return this->insert(__pos, __s, traits_type::length(__s)); } - basic_string& + basic_string& insert(size_type __pos, size_type __n, _CharT __c) - { - this->insert(_M_check(__pos), __n, __c); - return *this; + { + this->insert(_M_check(__pos), __n, __c); + return *this; } - iterator + iterator insert(iterator __p, _CharT __c = _CharT()) { size_type __pos = __p - _M_ibegin(); this->insert(_M_check(__pos), size_type(1), __c); - _M_rep()->_M_set_leaked(); - return this->_M_ibegin() + __pos; + _M_rep()->_M_set_leaked(); + return this->_M_ibegin() + __pos; } - basic_string& + basic_string& erase(size_type __pos = 0, size_type __n = npos) - { + { return this->replace(_M_check(__pos), _M_fold(__pos, __n), - _M_data(), _M_data()); + _M_data(), _M_data()); } - iterator + iterator erase(iterator __position) { size_type __i = __position - _M_ibegin(); this->replace(__position, __position + 1, _M_data(), _M_data()); - _M_rep()->_M_set_leaked(); + _M_rep()->_M_set_leaked(); return _M_ibegin() + __i; } - iterator + iterator erase(iterator __first, iterator __last) { size_type __i = __first - _M_ibegin(); @@ -627,62 +581,44 @@ namespace std return _M_ibegin() + __i; } - basic_string& + basic_string& replace(size_type __pos, size_type __n, const basic_string& __str) { return this->replace(__pos, __n, __str._M_data(), __str.size()); } - basic_string& + basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2); - basic_string& + basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s, - size_type __n2) - { - const size_type __size = this->size(); - if (__pos > __size) - __throw_out_of_range("basic_string::replace"); - const bool __testn1 = __n1 < __size - __pos; - const size_type __foldn1 = __testn1 ? __n1 : __size - __pos; - if (__size - __foldn1 > this->max_size() - __n2) - __throw_length_error("basic_string::replace"); - if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) - || less<const _CharT*>()(_M_data() + __size, __s)) - return _M_replace_safe(_M_ibegin() + __pos, - _M_ibegin() + __pos + __foldn1, __s, __s + __n2); - // Todo: optimized in-place replace. - else return - _M_replace(_M_ibegin() + __pos, _M_ibegin() + __pos + __foldn1, - __s, __s + __n2, - typename iterator_traits<const _CharT*>::iterator_category()); - } + size_type __n2); - basic_string& + basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s) { return this->replace(__pos, __n1, __s, traits_type::length(__s)); } - basic_string& + basic_string& replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) { return this->replace(_M_check(__pos), _M_fold(__pos, __n1), __n2, __c); } - basic_string& + basic_string& replace(iterator __i1, iterator __i2, const basic_string& __str) { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } - basic_string& + basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n) { return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n); } - basic_string& + basic_string& replace(iterator __i1, iterator __i2, const _CharT* __s) { return this->replace(__i1, __i2, __s, traits_type::length(__s)); } - basic_string& + basic_string& replace(iterator __i1, iterator __i2, size_type __n, _CharT __c); template<class _InputIterator> - basic_string& + basic_string& replace(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2) { return _M_replace(__i1, __i2, __k1, __k2, @@ -690,23 +626,23 @@ namespace std // Specializations for the common case of pointer and iterator: // useful to avoid the overhead of temporary buffering in _M_replace. - basic_string& + basic_string& replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2) { return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } - basic_string& + basic_string& replace(iterator __i1, iterator __i2, const _CharT* __k1, const _CharT* __k2) { return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1, __k2 - __k1); } - basic_string& + basic_string& replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2) { return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); } - basic_string& + basic_string& replace(iterator __i1, iterator __i2, const_iterator __k1, const_iterator __k2) { return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __k1.base(), __k2 - __k1); @@ -714,13 +650,13 @@ namespace std private: template<class _InputIterator> - basic_string& - _M_replace(iterator __i1, iterator __i2, _InputIterator __k1, + basic_string& + _M_replace(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, input_iterator_tag); template<class _ForwardIterator> - basic_string& - _M_replace_safe(iterator __i1, iterator __i2, _ForwardIterator __k1, + basic_string& + _M_replace_safe(iterator __i1, iterator __i2, _ForwardIterator __k1, _ForwardIterator __k2); // _S_construct_aux is used to implement the 21.3.1 para 15 which @@ -733,7 +669,7 @@ namespace std typedef typename iterator_traits<_InIter>::iterator_category _Tag; return _S_construct(__beg, __end, __a, _Tag()); } - + template<class _InIter> static _CharT* _S_construct_aux(_InIter __beg, _InIter __end, const _Alloc& __a, @@ -742,7 +678,7 @@ namespace std return _S_construct(static_cast<size_type>(__beg), static_cast<value_type>(__end), __a); } - + template<class _InIter> static _CharT* _S_construct(_InIter __beg, _InIter __end, const _Alloc& __a) @@ -756,7 +692,7 @@ namespace std static _CharT* _S_construct(_InIter __beg, _InIter __end, const _Alloc& __a, input_iterator_tag); - + // For forward_iterators up to random_access_iterators, used for // string::iterator, _CharT*, etc. template<class _FwdIter> @@ -764,19 +700,19 @@ namespace std _S_construct(_FwdIter __beg, _FwdIter __end, const _Alloc& __a, forward_iterator_tag); - static _CharT* + static _CharT* _S_construct(size_type __req, _CharT __c, const _Alloc& __a); public: - size_type + size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const; - void + void swap(basic_string<_CharT, _Traits, _Alloc>& __s); // String operations: - const _CharT* + const _CharT* c_str() const { // MT: This assumes concurrent writes are OK. @@ -785,137 +721,137 @@ namespace std return _M_data(); } - const _CharT* + const _CharT* data() const { return _M_data(); } - allocator_type + allocator_type get_allocator() const { return _M_dataplus; } - size_type + size_type find(const _CharT* __s, size_type __pos, size_type __n) const; - size_type + size_type find(const basic_string& __str, size_type __pos = 0) const { return this->find(__str.data(), __pos, __str.size()); } - size_type + size_type find(const _CharT* __s, size_type __pos = 0) const { return this->find(__s, __pos, traits_type::length(__s)); } - size_type + size_type find(_CharT __c, size_type __pos = 0) const; - size_type + size_type rfind(const basic_string& __str, size_type __pos = npos) const { return this->rfind(__str.data(), __pos, __str.size()); } - size_type + size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const; - size_type + size_type rfind(const _CharT* __s, size_type __pos = npos) const { return this->rfind(__s, __pos, traits_type::length(__s)); } - size_type + size_type rfind(_CharT __c, size_type __pos = npos) const; - size_type + size_type find_first_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_of(__str.data(), __pos, __str.size()); } - size_type + size_type find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; - size_type + size_type find_first_of(const _CharT* __s, size_type __pos = 0) const { return this->find_first_of(__s, __pos, traits_type::length(__s)); } - size_type + size_type find_first_of(_CharT __c, size_type __pos = 0) const { return this->find(__c, __pos); } - size_type + size_type find_last_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_of(__str.data(), __pos, __str.size()); } - size_type + size_type find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; - size_type + size_type find_last_of(const _CharT* __s, size_type __pos = npos) const { return this->find_last_of(__s, __pos, traits_type::length(__s)); } - size_type + size_type find_last_of(_CharT __c, size_type __pos = npos) const { return this->rfind(__c, __pos); } - size_type + size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_not_of(__str.data(), __pos, __str.size()); } - size_type - find_first_not_of(const _CharT* __s, size_type __pos, + size_type + find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const; - size_type + size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const { return this->find_first_not_of(__s, __pos, traits_type::length(__s)); } - size_type + size_type find_first_not_of(_CharT __c, size_type __pos = 0) const; - size_type + size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_not_of(__str.data(), __pos, __str.size()); } - size_type - find_last_not_of(const _CharT* __s, size_type __pos, + size_type + find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const; - size_type + size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const { return this->find_last_not_of(__s, __pos, traits_type::length(__s)); } - size_type + size_type find_last_not_of(_CharT __c, size_type __pos = npos) const; - basic_string + basic_string substr(size_type __pos = 0, size_type __n = npos) const - { + { if (__pos > this->size()) __throw_out_of_range("basic_string::substr"); - return basic_string(*this, __pos, __n); + return basic_string(*this, __pos, __n); } - int + int compare(const basic_string& __str) const { size_type __size = this->size(); size_type __osize = __str.size(); - size_type __len = min(__size, __osize); - + size_type __len = std::min(__size, __osize); + int __r = traits_type::compare(_M_data(), __str.data(), __len); if (!__r) __r = __size - __osize; return __r; } - int + int compare(size_type __pos, size_type __n, const basic_string& __str) const; - int + int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const; - int + int compare(const _CharT* __s) const; // _GLIBCPP_RESOLVE_LIB_DEFECTS - // 5. String::compare specification questionable - int + // 5 String::compare specification questionable + int compare(size_type __pos, size_type __n1, const _CharT* __s) const; - int - compare(size_type __pos, size_type __n1, const _CharT* __s, + int + compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const; }; diff --git a/contrib/libstdc++/include/bits/basic_string.tcc b/contrib/libstdc++/include/bits/basic_string.tcc index 4a22d89..d3f1e8e 100644 --- a/contrib/libstdc++/include/bits/basic_string.tcc +++ b/contrib/libstdc++/include/bits/basic_string.tcc @@ -1,6 +1,6 @@ // Components for manipulating sequences of characters -*- 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 @@ -137,14 +137,14 @@ namespace std _S_construct(_InIter __beg, _InIter __end, const _Alloc& __a, forward_iterator_tag) { - size_type __dnew = static_cast<size_type>(distance(__beg, __end)); - if (__beg == __end && __a == _Alloc()) return _S_empty_rep()._M_refcopy(); // NB: Not required, but considered best practice. if (__builtin_expect(__beg == _InIter(), 0)) __throw_logic_error("attempt to create string with null pointer"); + + size_type __dnew = static_cast<size_type>(std::distance(__beg, __end)); // Check for out_of_range and length_error exceptions. _Rep* __r = _Rep::_S_create(__dnew, __a); @@ -254,6 +254,117 @@ namespace std } return *this; } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + assign(const basic_string& __str, size_type __pos, size_type __n) + { + const size_type __strsize = __str.size(); + if (__pos > __strsize) + __throw_out_of_range("basic_string::assign"); + const bool __testn = __n < __strsize - __pos; + const size_type __newsize = __testn ? __n : __strsize - __pos; + return this->assign(__str._M_data() + __pos, __newsize); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + assign(const _CharT* __s, size_type __n) + { + if (__n > this->max_size()) + __throw_length_error("basic_string::assign"); + if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) + || less<const _CharT*>()(_M_data() + this->size(), __s)) + return _M_replace_safe(_M_ibegin(), _M_iend(), __s, __s + __n); + else + { + // Work in-place + const size_type __pos = __s - _M_data(); + if (__pos >= __n) + traits_type::copy(_M_data(), __s, __n); + else if (__pos) + traits_type::move(_M_data(), __s, __n); + _M_rep()->_M_length = __n; + _M_data()[__n] = _Rep::_S_terminal; // grr. + return *this; + } + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + insert(size_type __pos1, const basic_string& __str, + size_type __pos2, size_type __n) + { + const size_type __strsize = __str.size(); + if (__pos2 > __strsize) + __throw_out_of_range("basic_string::insert"); + const bool __testn = __n < __strsize - __pos2; + const size_type __newsize = __testn ? __n : __strsize - __pos2; + return this->insert(__pos1, __str._M_data() + __pos2, __newsize); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + insert(size_type __pos, const _CharT* __s, size_type __n) + { + const size_type __size = this->size(); + if (__pos > __size) + __throw_out_of_range("basic_string::insert"); + if (__size > this->max_size() - __n) + __throw_length_error("basic_string::insert"); + if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) + || less<const _CharT*>()(_M_data() + __size, __s)) + return _M_replace_safe(_M_ibegin() + __pos, _M_ibegin() + __pos, + __s, __s + __n); + else + { + // Work in-place. If _M_mutate reallocates the string, __s + // does not point anymore to valid data, therefore we save its + // offset, then we restore it. + const size_type __off = __s - _M_data(); + _M_mutate(__pos, 0, __n); + __s = _M_data() + __off; + _CharT* __p = _M_data() + __pos; + if (__s + __n <= __p) + traits_type::copy(__p, __s, __n); + else if (__s >= __p) + traits_type::copy(__p, __s + __n, __n); + else + { + traits_type::copy(__p, __s, __p - __s); + traits_type::copy(__p + (__p-__s), __p + __n, __n - (__p-__s)); + } + return *this; + } + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + replace(size_type __pos, size_type __n1, const _CharT* __s, + size_type __n2) + { + const size_type __size = this->size(); + if (__pos > __size) + __throw_out_of_range("basic_string::replace"); + const bool __testn1 = __n1 < __size - __pos; + const size_type __foldn1 = __testn1 ? __n1 : __size - __pos; + if (__size - __foldn1 > this->max_size() - __n2) + __throw_length_error("basic_string::replace"); + if (_M_rep()->_M_is_shared() || less<const _CharT*>()(__s, _M_data()) + || less<const _CharT*>()(_M_data() + __size, __s)) + return _M_replace_safe(_M_ibegin() + __pos, + _M_ibegin() + __pos + __foldn1, __s, __s + __n2); + // Todo: optimized in-place replace. + else + return _M_replace(_M_ibegin() + __pos, _M_ibegin() + __pos + __foldn1, + __s, __s + __n2, + typename iterator_traits<const _CharT*>::iterator_category()); + } template<typename _CharT, typename _Traits, typename _Alloc> void @@ -523,7 +634,7 @@ namespace std _M_replace_safe(iterator __i1, iterator __i2, _ForwardIter __k1, _ForwardIter __k2) { - size_type __dnew = static_cast<size_type>(distance(__k1, __k2)); + size_type __dnew = static_cast<size_type>(std::distance(__k1, __k2)); size_type __dold = __i2 - __i1; size_type __dmax = this->max_size(); @@ -578,7 +689,8 @@ namespace std // Iff appending itself, string needs to pre-reserve the // correct size so that _M_mutate does not clobber the // iterators formed here. - size_type __len = min(__str.size() - __pos, __n) + this->size(); + size_type __len = std::min(size_type(__str.size() - __pos), + __n) + this->size(); if (__len > this->capacity()) this->reserve(__len); return _M_replace_safe(_M_iend(), _M_iend(), __str._M_check(__pos), @@ -709,7 +821,7 @@ namespace std size_type __size = this->size(); if (__n <= __size) { - __pos = std::min(__size - __n, __pos); + __pos = std::min(size_type(__size - __n), __pos); const _CharT* __data = _M_data(); do { @@ -848,8 +960,8 @@ namespace std if (__pos > __size) __throw_out_of_range("basic_string::compare"); - size_type __rsize= min(__size - __pos, __n); - size_type __len = min(__rsize, __osize); + size_type __rsize= std::min(size_type(__size - __pos), __n); + size_type __len = std::min(__rsize, __osize); int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); if (!__r) __r = __rsize - __osize; @@ -867,9 +979,9 @@ namespace std if (__pos1 > __size || __pos2 > __osize) __throw_out_of_range("basic_string::compare"); - size_type __rsize = min(__size - __pos1, __n1); - size_type __rosize = min(__osize - __pos2, __n2); - size_type __len = min(__rsize, __rosize); + size_type __rsize = std::min(size_type(__size - __pos1), __n1); + size_type __rosize = std::min(size_type(__osize - __pos2), __n2); + size_type __len = std::min(__rsize, __rosize); int __r = traits_type::compare(_M_data() + __pos1, __str.data() + __pos2, __len); if (!__r) @@ -885,7 +997,7 @@ namespace std { size_type __size = this->size(); size_type __osize = traits_type::length(__s); - size_type __len = min(__size, __osize); + size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __s, __len); if (!__r) __r = __size - __osize; @@ -903,8 +1015,8 @@ namespace std __throw_out_of_range("basic_string::compare"); size_type __osize = traits_type::length(__s); - size_type __rsize = min(__size - __pos, __n1); - size_type __len = min(__rsize, __osize); + size_type __rsize = std::min(size_type(__size - __pos), __n1); + size_type __len = std::min(__rsize, __osize); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = __rsize - __osize; @@ -921,9 +1033,9 @@ namespace std if (__pos > __size) __throw_out_of_range("basic_string::compare"); - size_type __osize = min(traits_type::length(__s), __n2); - size_type __rsize = min(__size - __pos, __n1); - size_type __len = min(__rsize, __osize); + size_type __osize = std::min(traits_type::length(__s), __n2); + size_type __rsize = std::min(size_type(__size - __pos), __n1); + size_type __len = std::min(__rsize, __osize); int __r = traits_type::compare(_M_data() + __pos, __s, __len); if (!__r) __r = __rsize - __osize; @@ -937,7 +1049,7 @@ namespace std { typedef typename _Alloc::size_type size_type; size_type __strsize = __str.size(); - size_type __bytes = min(__strsize, __bufsiz - 1); + size_type __bytes = std::min(__strsize, __bufsiz - 1); _Traits::copy(__buf, __str.data(), __bytes); __buf[__bytes] = _CharT(); } @@ -945,6 +1057,7 @@ namespace std // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class basic_string<char>; extern template basic_istream<char>& @@ -974,6 +1087,7 @@ namespace std basic_istream<wchar_t>& getline(basic_istream<wchar_t>&, wstring&); #endif +#endif } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/boost_concept_check.h b/contrib/libstdc++/include/bits/boost_concept_check.h index 29ca61b..d91c2e8 100644 --- a/contrib/libstdc++/include/bits/boost_concept_check.h +++ b/contrib/libstdc++/include/bits/boost_concept_check.h @@ -149,6 +149,8 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; }; __a = __b; // const required for argument to assignment } _Tp __a; + // possibly should be "Tp* a;" and then dereference "a" in constraint + // functions? present way would require a default ctor, i think... }; template <class _Tp> diff --git a/contrib/libstdc++/include/bits/c++config b/contrib/libstdc++/include/bits/c++config index cda776c..1716e25 100644 --- a/contrib/libstdc++/include/bits/c++config +++ b/contrib/libstdc++/include/bits/c++config @@ -1,6 +1,7 @@ // Predefined symbols and macros -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// 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 // software; you can redistribute it and/or modify it under the @@ -34,10 +35,9 @@ #include <bits/os_defines.h> // The current version of the C++ library in compressed ISO date format. -#define __GLIBCPP__ 20030205 +#define __GLIBCPP__ 20030711 -// This is necessary until GCC supports separate template -// compilation. +// This is necessary until GCC supports separate template compilation. #define _GLIBCPP_NO_TEMPLATE_EXPORT 1 // This is a hack around not having either pre-compiled headers or @@ -49,6 +49,16 @@ // by the compiler, but instead instantiated into the library binary. #define _GLIBCPP_FULLY_COMPLIANT_HEADERS 1 +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. +#ifndef _GLIBCPP_EXTERN_TEMPLATE +#define _GLIBCPP_EXTERN_TEMPLATE 1 +#endif + // To enable older, ARM-style iostreams and other anachronisms use this. //#define _GLIBCPP_DEPRECATED 1 @@ -77,6 +87,13 @@ #error __USE_MALLOC should never be defined. Read the release notes. #endif +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +#define _GLIBCPP_FAST_MATH 1 +#else +#define _GLIBCPP_FAST_MATH 0 +#endif + // The remainder of the prewritten config is mostly automatic; all the // user hooks are listed above. diff --git a/contrib/libstdc++/include/bits/char_traits.h b/contrib/libstdc++/include/bits/char_traits.h index 41f943d..2b733cd 100644 --- a/contrib/libstdc++/include/bits/char_traits.h +++ b/contrib/libstdc++/include/bits/char_traits.h @@ -42,14 +42,22 @@ #pragma GCC system_header -#include <cstring> // For memmove, memset, memchr -#include <bits/fpos.h> // For streampos +#include <cstring> // For memmove, memset, memchr +#include <bits/fpos.h> // For streampos namespace std { - /// 21.1.2 Basis for explicit _Traits specialization - /// NB: That for any given actual character type this definition is - /// probably wrong. + // 21.1 + /** + * @brief Basis for explicit traits specializations. + * + * @note For any given actual character type, this definition is + * probably wrong. + * + * See http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html#5 + * for advice on how to make use of this class for "unusual" character + * types. + */ template<class _CharT> struct char_traits { @@ -104,7 +112,7 @@ namespace std }; - /// 21.1.4 char_traits specializations + /// 21.1.3.1 char_traits specializations template<> struct char_traits<char> { @@ -174,6 +182,7 @@ namespace std #ifdef _GLIBCPP_USE_WCHAR_T + /// 21.1.3.2 char_traits specializations template<> struct char_traits<wchar_t> { diff --git a/contrib/libstdc++/include/bits/codecvt.h b/contrib/libstdc++/include/bits/codecvt.h index 3666e98..9ab9f94 100644 --- a/contrib/libstdc++/include/bits/codecvt.h +++ b/contrib/libstdc++/include/bits/codecvt.h @@ -1,6 +1,6 @@ // Locale support (codecvt) -*- C++ -*- -// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2000, 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 diff --git a/contrib/libstdc++/include/bits/concept_check.h b/contrib/libstdc++/include/bits/concept_check.h index 92ceefb..88877eb 100644 --- a/contrib/libstdc++/include/bits/concept_check.h +++ b/contrib/libstdc++/include/bits/concept_check.h @@ -61,8 +61,7 @@ // Note that the obvious and elegant approach of // -//#define glibcpp_function_requires(C) \ -// boost::function_requires< boost::C >() +//#define glibcpp_function_requires(C) boost::function_requires< boost::C >() // // won't work due to concept templates with more than one parameter, e.g., // BinaryPredicateConcept. The preprocessor tries to split things up on diff --git a/contrib/libstdc++/include/bits/deque.tcc b/contrib/libstdc++/include/bits/deque.tcc new file mode 100644 index 0000000..a8d43d0 --- /dev/null +++ b/contrib/libstdc++/include/bits/deque.tcc @@ -0,0 +1,779 @@ +// Deque implementation (out of line) -*- C++ -*- + +// Copyright (C) 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, 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. + +/* + * + * Copyright (c) 1994 + * Hewlett-Packard Company + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Hewlett-Packard Company makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + * + * + * Copyright (c) 1997 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/** @file deque.tcc + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef __GLIBCPP_INTERNAL_DEQUE_TCC +#define __GLIBCPP_INTERNAL_DEQUE_TCC + +namespace std +{ + template <typename _Tp, typename _Alloc> + deque<_Tp,_Alloc>& + deque<_Tp,_Alloc>:: + operator=(const deque& __x) + { + const size_type __len = size(); + if (&__x != this) + { + if (__len >= __x.size()) + erase(copy(__x.begin(), __x.end(), _M_start), _M_finish); + else + { + const_iterator __mid = __x.begin() + difference_type(__len); + copy(__x.begin(), __mid, _M_start); + insert(_M_finish, __mid, __x.end()); + } + } + return *this; + } + + template <typename _Tp, typename _Alloc> + typename deque<_Tp,_Alloc>::iterator + deque<_Tp,_Alloc>:: + insert(iterator position, const value_type& __x) + { + if (position._M_cur == _M_start._M_cur) + { + push_front(__x); + return _M_start; + } + else if (position._M_cur == _M_finish._M_cur) + { + push_back(__x); + iterator __tmp = _M_finish; + --__tmp; + return __tmp; + } + else + return _M_insert_aux(position, __x); + } + + template <typename _Tp, typename _Alloc> + typename deque<_Tp,_Alloc>::iterator + deque<_Tp,_Alloc>:: + erase(iterator __position) + { + iterator __next = __position; + ++__next; + size_type __index = __position - _M_start; + if (__index < (size() >> 1)) + { + copy_backward(_M_start, __position, __next); + pop_front(); + } + else + { + copy(__next, _M_finish, __position); + pop_back(); + } + return _M_start + __index; + } + + template <typename _Tp, typename _Alloc> + typename deque<_Tp,_Alloc>::iterator + deque<_Tp,_Alloc>:: + erase(iterator __first, iterator __last) + { + if (__first == _M_start && __last == _M_finish) + { + clear(); + return _M_finish; + } + else + { + difference_type __n = __last - __first; + difference_type __elems_before = __first - _M_start; + if (static_cast<size_type>(__elems_before) < (size() - __n) / 2) + { + copy_backward(_M_start, __first, __last); + iterator __new_start = _M_start + __n; + _Destroy(_M_start, __new_start); + _M_destroy_nodes(_M_start._M_node, __new_start._M_node); + _M_start = __new_start; + } + else + { + copy(__last, _M_finish, __first); + iterator __new_finish = _M_finish - __n; + _Destroy(__new_finish, _M_finish); + _M_destroy_nodes(__new_finish._M_node + 1, _M_finish._M_node + 1); + _M_finish = __new_finish; + } + return _M_start + __elems_before; + } + } + + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + clear() + { + for (_Map_pointer __node = _M_start._M_node + 1; + __node < _M_finish._M_node; + ++__node) + { + _Destroy(*__node, *__node + _S_buffer_size()); + _M_deallocate_node(*__node); + } + + if (_M_start._M_node != _M_finish._M_node) + { + _Destroy(_M_start._M_cur, _M_start._M_last); + _Destroy(_M_finish._M_first, _M_finish._M_cur); + _M_deallocate_node(_M_finish._M_first); + } + else + _Destroy(_M_start._M_cur, _M_finish._M_cur); + + _M_finish = _M_start; + } + + template <typename _Tp, class _Alloc> + template <typename _InputIter> + void + deque<_Tp,_Alloc> + ::_M_assign_aux(_InputIter __first, _InputIter __last, input_iterator_tag) + { + iterator __cur = begin(); + for ( ; __first != __last && __cur != end(); ++__cur, ++__first) + *__cur = *__first; + if (__first == __last) + erase(__cur, end()); + else + insert(end(), __first, __last); + } + + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_fill_insert(iterator __pos, size_type __n, const value_type& __x) + { + if (__pos._M_cur == _M_start._M_cur) + { + iterator __new_start = _M_reserve_elements_at_front(__n); + try + { + uninitialized_fill(__new_start, _M_start, __x); + _M_start = __new_start; + } + catch(...) + { + _M_destroy_nodes(__new_start._M_node, _M_start._M_node); + __throw_exception_again; + } + } + else if (__pos._M_cur == _M_finish._M_cur) + { + iterator __new_finish = _M_reserve_elements_at_back(__n); + try + { + uninitialized_fill(_M_finish, __new_finish, __x); + _M_finish = __new_finish; + } + catch(...) + { + _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); + __throw_exception_again; + } + } + else + _M_insert_aux(__pos, __n, __x); + } + + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_fill_initialize(const value_type& __value) + { + _Map_pointer __cur; + try + { + for (__cur = _M_start._M_node; __cur < _M_finish._M_node; ++__cur) + uninitialized_fill(*__cur, *__cur + _S_buffer_size(), __value); + uninitialized_fill(_M_finish._M_first, _M_finish._M_cur, __value); + } + catch(...) + { + _Destroy(_M_start, iterator(*__cur, __cur)); + __throw_exception_again; + } + } + + template <typename _Tp, typename _Alloc> + template <typename _InputIterator> + void + deque<_Tp,_Alloc>:: + _M_range_initialize(_InputIterator __first, _InputIterator __last, + input_iterator_tag) + { + _M_initialize_map(0); + try + { + for ( ; __first != __last; ++__first) + push_back(*__first); + } + catch(...) + { + clear(); + __throw_exception_again; + } + } + + template <typename _Tp, typename _Alloc> + template <typename _ForwardIterator> + void + deque<_Tp,_Alloc>:: + _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, + forward_iterator_tag) + { + size_type __n = distance(__first, __last); + _M_initialize_map(__n); + + _Map_pointer __cur_node; + try + { + for (__cur_node = _M_start._M_node; + __cur_node < _M_finish._M_node; + ++__cur_node) + { + _ForwardIterator __mid = __first; + advance(__mid, _S_buffer_size()); + uninitialized_copy(__first, __mid, *__cur_node); + __first = __mid; + } + uninitialized_copy(__first, __last, _M_finish._M_first); + } + catch(...) + { + _Destroy(_M_start, iterator(*__cur_node, __cur_node)); + __throw_exception_again; + } + } + + // Called only if _M_finish._M_cur == _M_finish._M_last - 1. + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_push_back_aux(const value_type& __t) + { + value_type __t_copy = __t; + _M_reserve_map_at_back(); + *(_M_finish._M_node + 1) = _M_allocate_node(); + try + { + _Construct(_M_finish._M_cur, __t_copy); + _M_finish._M_set_node(_M_finish._M_node + 1); + _M_finish._M_cur = _M_finish._M_first; + } + catch(...) + { + _M_deallocate_node(*(_M_finish._M_node + 1)); + __throw_exception_again; + } + } + + #ifdef _GLIBCPP_DEPRECATED + // Called only if _M_finish._M_cur == _M_finish._M_last - 1. + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_push_back_aux() + { + _M_reserve_map_at_back(); + *(_M_finish._M_node + 1) = _M_allocate_node(); + try + { + _Construct(_M_finish._M_cur); + _M_finish._M_set_node(_M_finish._M_node + 1); + _M_finish._M_cur = _M_finish._M_first; + } + catch(...) + { + _M_deallocate_node(*(_M_finish._M_node + 1)); + __throw_exception_again; + } + } + #endif + + // Called only if _M_start._M_cur == _M_start._M_first. + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_push_front_aux(const value_type& __t) + { + value_type __t_copy = __t; + _M_reserve_map_at_front(); + *(_M_start._M_node - 1) = _M_allocate_node(); + try + { + _M_start._M_set_node(_M_start._M_node - 1); + _M_start._M_cur = _M_start._M_last - 1; + _Construct(_M_start._M_cur, __t_copy); + } + catch(...) + { + ++_M_start; + _M_deallocate_node(*(_M_start._M_node - 1)); + __throw_exception_again; + } + } + + #ifdef _GLIBCPP_DEPRECATED + // Called only if _M_start._M_cur == _M_start._M_first. + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_push_front_aux() + { + _M_reserve_map_at_front(); + *(_M_start._M_node - 1) = _M_allocate_node(); + try + { + _M_start._M_set_node(_M_start._M_node - 1); + _M_start._M_cur = _M_start._M_last - 1; + _Construct(_M_start._M_cur); + } + catch(...) + { + ++_M_start; + _M_deallocate_node(*(_M_start._M_node - 1)); + __throw_exception_again; + } + } + #endif + + // Called only if _M_finish._M_cur == _M_finish._M_first. + template <typename _Tp, typename _Alloc> + void deque<_Tp,_Alloc>:: + _M_pop_back_aux() + { + _M_deallocate_node(_M_finish._M_first); + _M_finish._M_set_node(_M_finish._M_node - 1); + _M_finish._M_cur = _M_finish._M_last - 1; + _Destroy(_M_finish._M_cur); + } + + // Called only if _M_start._M_cur == _M_start._M_last - 1. Note that + // if the deque has at least one element (a precondition for this member + // function), and if _M_start._M_cur == _M_start._M_last, then the deque + // must have at least two nodes. + template <typename _Tp, typename _Alloc> + void deque<_Tp,_Alloc>:: + _M_pop_front_aux() + { + _Destroy(_M_start._M_cur); + _M_deallocate_node(_M_start._M_first); + _M_start._M_set_node(_M_start._M_node + 1); + _M_start._M_cur = _M_start._M_first; + } + + template <typename _Tp, typename _Alloc> + template <typename _InputIterator> + void + deque<_Tp,_Alloc>:: + _M_range_insert_aux(iterator __pos, + _InputIterator __first, _InputIterator __last, + input_iterator_tag) + { + copy(__first, __last, inserter(*this, __pos)); + } + + template <typename _Tp, typename _Alloc> + template <typename _ForwardIterator> + void + deque<_Tp,_Alloc>:: + _M_range_insert_aux(iterator __pos, + _ForwardIterator __first, _ForwardIterator __last, + forward_iterator_tag) + { + size_type __n = distance(__first, __last); + if (__pos._M_cur == _M_start._M_cur) + { + iterator __new_start = _M_reserve_elements_at_front(__n); + try + { + uninitialized_copy(__first, __last, __new_start); + _M_start = __new_start; + } + catch(...) + { + _M_destroy_nodes(__new_start._M_node, _M_start._M_node); + __throw_exception_again; + } + } + else if (__pos._M_cur == _M_finish._M_cur) + { + iterator __new_finish = _M_reserve_elements_at_back(__n); + try + { + uninitialized_copy(__first, __last, _M_finish); + _M_finish = __new_finish; + } + catch(...) + { + _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); + __throw_exception_again; + } + } + else + _M_insert_aux(__pos, __first, __last, __n); + } + + template <typename _Tp, typename _Alloc> + typename deque<_Tp, _Alloc>::iterator + deque<_Tp,_Alloc>:: + _M_insert_aux(iterator __pos, const value_type& __x) + { + difference_type __index = __pos - _M_start; + value_type __x_copy = __x; // XXX copy + if (static_cast<size_type>(__index) < size() / 2) + { + push_front(front()); + iterator __front1 = _M_start; + ++__front1; + iterator __front2 = __front1; + ++__front2; + __pos = _M_start + __index; + iterator __pos1 = __pos; + ++__pos1; + copy(__front2, __pos1, __front1); + } + else + { + push_back(back()); + iterator __back1 = _M_finish; + --__back1; + iterator __back2 = __back1; + --__back2; + __pos = _M_start + __index; + copy_backward(__pos, __back2, __back1); + } + *__pos = __x_copy; + return __pos; + } + + #ifdef _GLIBCPP_DEPRECATED + // Nothing seems to actually use this. According to the pattern followed by + // the rest of the SGI code, it would be called by the deprecated insert(pos) + // function, but that has been replaced. We'll take our time removing this + // anyhow; mark for 3.4. -pme + template <typename _Tp, typename _Alloc> + typename deque<_Tp,_Alloc>::iterator + deque<_Tp,_Alloc>:: + _M_insert_aux(iterator __pos) + { + difference_type __index = __pos - _M_start; + if (static_cast<size_type>(__index) < size() / 2) + { + push_front(front()); + iterator __front1 = _M_start; + ++__front1; + iterator __front2 = __front1; + ++__front2; + __pos = _M_start + __index; + iterator __pos1 = __pos; + ++__pos1; + copy(__front2, __pos1, __front1); + } + else + { + push_back(back()); + iterator __back1 = _M_finish; + --__back1; + iterator __back2 = __back1; + --__back2; + __pos = _M_start + __index; + copy_backward(__pos, __back2, __back1); + } + *__pos = value_type(); + return __pos; + } + #endif + + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_insert_aux(iterator __pos, size_type __n, const value_type& __x) + { + const difference_type __elems_before = __pos - _M_start; + size_type __length = this->size(); + value_type __x_copy = __x; + if (__elems_before < difference_type(__length / 2)) + { + iterator __new_start = _M_reserve_elements_at_front(__n); + iterator __old_start = _M_start; + __pos = _M_start + __elems_before; + try + { + if (__elems_before >= difference_type(__n)) + { + iterator __start_n = _M_start + difference_type(__n); + uninitialized_copy(_M_start, __start_n, __new_start); + _M_start = __new_start; + copy(__start_n, __pos, __old_start); + fill(__pos - difference_type(__n), __pos, __x_copy); + } + else + { + __uninitialized_copy_fill(_M_start, __pos, __new_start, + _M_start, __x_copy); + _M_start = __new_start; + fill(__old_start, __pos, __x_copy); + } + } + catch(...) + { + _M_destroy_nodes(__new_start._M_node, _M_start._M_node); + __throw_exception_again; + } + } + else + { + iterator __new_finish = _M_reserve_elements_at_back(__n); + iterator __old_finish = _M_finish; + const difference_type __elems_after = + difference_type(__length) - __elems_before; + __pos = _M_finish - __elems_after; + try + { + if (__elems_after > difference_type(__n)) + { + iterator __finish_n = _M_finish - difference_type(__n); + uninitialized_copy(__finish_n, _M_finish, _M_finish); + _M_finish = __new_finish; + copy_backward(__pos, __finish_n, __old_finish); + fill(__pos, __pos + difference_type(__n), __x_copy); + } + else + { + __uninitialized_fill_copy(_M_finish, __pos + difference_type(__n), + __x_copy, __pos, _M_finish); + _M_finish = __new_finish; + fill(__pos, __old_finish, __x_copy); + } + } + catch(...) + { + _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); + __throw_exception_again; + } + } + } + + template <typename _Tp, typename _Alloc> + template <typename _ForwardIterator> + void + deque<_Tp,_Alloc>:: + _M_insert_aux(iterator __pos, + _ForwardIterator __first, _ForwardIterator __last, + size_type __n) + { + const difference_type __elemsbefore = __pos - _M_start; + size_type __length = size(); + if (static_cast<size_type>(__elemsbefore) < __length / 2) + { + iterator __new_start = _M_reserve_elements_at_front(__n); + iterator __old_start = _M_start; + __pos = _M_start + __elemsbefore; + try + { + if (__elemsbefore >= difference_type(__n)) + { + iterator __start_n = _M_start + difference_type(__n); + uninitialized_copy(_M_start, __start_n, __new_start); + _M_start = __new_start; + copy(__start_n, __pos, __old_start); + copy(__first, __last, __pos - difference_type(__n)); + } + else + { + _ForwardIterator __mid = __first; + advance(__mid, difference_type(__n) - __elemsbefore); + __uninitialized_copy_copy(_M_start, __pos, __first, __mid, + __new_start); + _M_start = __new_start; + copy(__mid, __last, __old_start); + } + } + catch(...) + { + _M_destroy_nodes(__new_start._M_node, _M_start._M_node); + __throw_exception_again; + } + } + else + { + iterator __new_finish = _M_reserve_elements_at_back(__n); + iterator __old_finish = _M_finish; + const difference_type __elemsafter = + difference_type(__length) - __elemsbefore; + __pos = _M_finish - __elemsafter; + try + { + if (__elemsafter > difference_type(__n)) + { + iterator __finish_n = _M_finish - difference_type(__n); + uninitialized_copy(__finish_n, _M_finish, _M_finish); + _M_finish = __new_finish; + copy_backward(__pos, __finish_n, __old_finish); + copy(__first, __last, __pos); + } + else + { + _ForwardIterator __mid = __first; + advance(__mid, __elemsafter); + __uninitialized_copy_copy(__mid, __last, __pos, + _M_finish, _M_finish); + _M_finish = __new_finish; + copy(__first, __mid, __pos); + } + } + catch(...) + { + _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); + __throw_exception_again; + } + } + } + + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_new_elements_at_front(size_type __new_elems) + { + size_type __new_nodes + = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size(); + _M_reserve_map_at_front(__new_nodes); + size_type __i; + try + { + for (__i = 1; __i <= __new_nodes; ++__i) + *(_M_start._M_node - __i) = _M_allocate_node(); + } + catch(...) + { + for (size_type __j = 1; __j < __i; ++__j) + _M_deallocate_node(*(_M_start._M_node - __j)); + __throw_exception_again; + } + } + + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_new_elements_at_back(size_type __new_elems) + { + size_type __new_nodes + = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size(); + _M_reserve_map_at_back(__new_nodes); + size_type __i; + try + { + for (__i = 1; __i <= __new_nodes; ++__i) + *(_M_finish._M_node + __i) = _M_allocate_node(); + } + catch(...) + { + for (size_type __j = 1; __j < __i; ++__j) + _M_deallocate_node(*(_M_finish._M_node + __j)); + __throw_exception_again; + } + } + + template <typename _Tp, typename _Alloc> + void + deque<_Tp,_Alloc>:: + _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front) + { + size_type __old_num_nodes = _M_finish._M_node - _M_start._M_node + 1; + size_type __new_num_nodes = __old_num_nodes + __nodes_to_add; + + _Map_pointer __new_nstart; + if (_M_map_size > 2 * __new_num_nodes) + { + __new_nstart = _M_map + (_M_map_size - __new_num_nodes) / 2 + + (__add_at_front ? __nodes_to_add : 0); + if (__new_nstart < _M_start._M_node) + copy(_M_start._M_node, _M_finish._M_node + 1, __new_nstart); + else + copy_backward(_M_start._M_node, _M_finish._M_node + 1, + __new_nstart + __old_num_nodes); + } + else + { + size_type __new_map_size = + _M_map_size + max(_M_map_size, __nodes_to_add) + 2; + + _Map_pointer __new_map = _M_allocate_map(__new_map_size); + __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 + + (__add_at_front ? __nodes_to_add : 0); + copy(_M_start._M_node, _M_finish._M_node + 1, __new_nstart); + _M_deallocate_map(_M_map, _M_map_size); + + _M_map = __new_map; + _M_map_size = __new_map_size; + } + + _M_start._M_set_node(__new_nstart); + _M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); + } +} // namespace std + +#endif /* __GLIBCPP_INTERNAL_DEQUE_TCC */ + diff --git a/contrib/libstdc++/include/bits/fpos.h b/contrib/libstdc++/include/bits/fpos.h index 279e0ab..5432527 100644 --- a/contrib/libstdc++/include/bits/fpos.h +++ b/contrib/libstdc++/include/bits/fpos.h @@ -48,7 +48,10 @@ namespace std { // 27.4.1 Types - // 27.4.3 Template class fpos + // [27.4.3] template class fpos + /** + * @doctodo + */ template<typename _StateT> class fpos { @@ -113,9 +116,10 @@ namespace std _M_position(streamoff __off) { _M_off = __off; } }; - // 27.2, paragraph 10 about fpos/char_traits circularity + /// 27.2, paragraph 10 about fpos/char_traits circularity typedef fpos<mbstate_t> streampos; # ifdef _GLIBCPP_USE_WCHAR_T + /// 27.2, paragraph 10 about fpos/char_traits circularity typedef fpos<mbstate_t> wstreampos; # endif } // namespace std diff --git a/contrib/libstdc++/include/bits/fstream.tcc b/contrib/libstdc++/include/bits/fstream.tcc index 0b3bec1..c69ac9c 100644 --- a/contrib/libstdc++/include/bits/fstream.tcc +++ b/contrib/libstdc++/include/bits/fstream.tcc @@ -58,7 +58,7 @@ namespace std template<typename _CharT, typename _Traits> void basic_filebuf<_CharT, _Traits>:: - _M_destroy_internal_buffer() + _M_destroy_internal_buffer() throw() { if (_M_buf_allocated) { @@ -90,11 +90,18 @@ namespace std { _M_allocate_internal_buffer(); _M_mode = __mode; + + // Setup initial position of buffer. _M_set_indeterminate(); if ((__mode & ios_base::ate) && this->seekoff(0, ios_base::end, __mode) < 0) - this->close(); + { + // 27.8.1.3,4 + this->close(); + return __ret; + } + __ret = this; } } @@ -104,35 +111,46 @@ namespace std template<typename _CharT, typename _Traits> typename basic_filebuf<_CharT, _Traits>::__filebuf_type* basic_filebuf<_CharT, _Traits>:: - close() + close() throw() { - __filebuf_type *__ret = NULL; + __filebuf_type* __ret = NULL; if (this->is_open()) { - const int_type __eof = traits_type::eof(); - bool __testput = _M_out_cur && _M_out_beg < _M_out_end; - if (__testput - && traits_type::eq_int_type(_M_really_overflow(__eof), __eof)) - return __ret; + bool __testfail = false; + try + { + const int_type __eof = traits_type::eof(); + bool __testput = _M_out_cur && _M_out_beg < _M_out_end; + if (__testput + && traits_type::eq_int_type(_M_really_overflow(__eof), + __eof)) + __testfail = true; + +#if 0 + // XXX not done + if (_M_last_overflowed) + { + _M_output_unshift(); + _M_really_overflow(__eof); + } +#endif + } + catch(...) + { + __testfail = true; + } // NB: Do this here so that re-opened filebufs will be cool... - _M_mode = ios_base::openmode(0); + this->_M_mode = ios_base::openmode(0); _M_destroy_internal_buffer(); _M_pback_destroy(); - -#if 0 - // XXX not done - if (_M_last_overflowed) - { - _M_output_unshift(); - _M_really_overflow(__eof); - } -#endif - if (_M_file.close()) + if (!_M_file.close()) + __testfail = true; + + if (!__testfail) __ret = this; } - _M_last_overflowed = false; return __ret; } @@ -144,9 +162,16 @@ namespace std { streamsize __ret = -1; bool __testin = _M_mode & ios_base::in; + const locale __loc = this->getloc(); + const __codecvt_type& __cvt = use_facet<__codecvt_type>(__loc); if (__testin && this->is_open()) - __ret = _M_in_end - _M_in_cur; + { + __ret = _M_in_end - _M_in_cur; + if (__cvt.always_noconv()) + __ret += _M_file.showmanyc_helper(); + } + _M_last_overflowed = false; return __ret; } @@ -198,21 +223,26 @@ namespace std } else { - // At the beginning of the buffer, need to make a - // putback position available. - this->seekoff(-1, ios_base::cur); - this->underflow(); - if (!__testeof) + // At the beginning of the buffer, need to make a + // putback position available. + // But the seek may fail (f.i., at the beginning of + // a file, see libstdc++/9439) and in that case + // we return traits_type::eof() + if (this->seekoff(-1, ios_base::cur) >= 0) { - if (!traits_type::eq(__c, *_M_in_cur)) - { - _M_pback_create(); - *_M_in_cur = __c; - } - __ret = __i; + this->underflow(); + if (!__testeof) + { + if (!traits_type::eq(__c, *_M_in_cur)) + { + _M_pback_create(); + *_M_in_cur = __c; + } + __ret = __i; + } + else + __ret = traits_type::not_eof(__i); } - else - __ret = traits_type::not_eof(__i); } } _M_last_overflowed = false; @@ -230,7 +260,9 @@ namespace std if (__testout) { - if (__testput) + if (traits_type::eq_int_type(__c, traits_type::eof())) + __ret = traits_type::not_eof(__c); + else if (__testput) { *_M_out_cur = traits_type::to_char_type(__c); _M_out_cur_move(1); @@ -268,14 +300,23 @@ namespace std char* __buf = static_cast<char*>(__builtin_alloca(__blen)); char* __bend; const char_type* __iend; - __res_type __r = __cvt.out(_M_state_cur, __ibuf, __ibuf + __ilen, - __iend, __buf, __buf + __blen, __bend); - // Result == ok, partial, noconv - if (__r != codecvt_base::error) + codecvt_base::result __r; + __r = __cvt.out(_M_state_cur, __ibuf, __ibuf + __ilen, + __iend, __buf, __buf + __blen, __bend); + + if (__r == codecvt_base::ok || __r == codecvt_base::partial) __blen = __bend - __buf; - // Result == error - else - __blen = 0; + else if (__r == codecvt_base::noconv) + { + // Same as the always_noconv case above. + __buf = reinterpret_cast<char*>(__ibuf); + __blen = __ilen; + } + else + { + // Result == error + __blen = 0; + } if (__blen) { @@ -291,11 +332,8 @@ namespace std __r = __cvt.out(_M_state_cur, __iresume, __iresume + __rlen, __iend, __buf, __buf + __blen, __bend); if (__r != codecvt_base::error) - __rlen = __bend - __buf; - else - __rlen = 0; - if (__rlen) { + __rlen = __bend - __buf; __elen += _M_file.xsputn(__buf, __rlen); __plen += __rlen; } @@ -310,7 +348,7 @@ namespace std { int_type __ret = traits_type::eof(); bool __testput = _M_out_cur && _M_out_beg < _M_out_end; - bool __testunbuffered = _M_file.is_open() && !_M_buf_size_opt; + bool __testunbuffered = _M_file.is_open() && !_M_buf_size; if (__testput || __testunbuffered) { @@ -333,26 +371,32 @@ namespace std _M_convert_to_external(_M_out_beg, _M_out_end - _M_out_beg, __elen, __plen); - // Convert pending sequence to external representation, output. - // If eof, then just attempt sync. - if (!traits_type::eq_int_type(__c, traits_type::eof())) - { - char_type __pending = traits_type::to_char_type(__c); - _M_convert_to_external(&__pending, 1, __elen, __plen); - - // User code must flush when switching modes (thus don't sync). - if (__elen == __plen) + // Checks for codecvt.out failures and _M_file.xsputn failures, + // respectively, inside _M_convert_to_external. + if (__testunbuffered || (__elen && __elen == __plen)) + { + // Convert pending sequence to external representation, output. + // If eof, then just attempt sync. + if (!traits_type::eq_int_type(__c, traits_type::eof())) { - _M_set_indeterminate(); - __ret = traits_type::not_eof(__c); + char_type __pending = traits_type::to_char_type(__c); + _M_convert_to_external(&__pending, 1, __elen, __plen); + + // User code must flush when switching modes (thus + // don't sync). + if (__elen == __plen && __elen) + { + _M_set_indeterminate(); + __ret = traits_type::not_eof(__c); + } } - } - else if (!_M_file.sync()) - { - _M_set_indeterminate(); - __ret = traits_type::not_eof(__c); - } - } + else if (!_M_file.sync()) + { + _M_set_indeterminate(); + __ret = traits_type::not_eof(__c); + } + } + } _M_last_overflowed = true; return __ret; } @@ -391,12 +435,13 @@ namespace std bool __testin = (ios_base::in & _M_mode & __mode) != 0; bool __testout = (ios_base::out & _M_mode & __mode) != 0; - // Should probably do has_facet checks here. - int __width = use_facet<__codecvt_type>(_M_buf_locale).encoding(); + int __width = 0; + if (has_facet<__codecvt_type>(this->_M_buf_locale)) + __width = use_facet<__codecvt_type>(this->_M_buf_locale).encoding(); if (__width < 0) __width = 0; - bool __testfail = __off != 0 && __width <= 0; - + + bool __testfail = __off != 0 && __width <= 0; if (this->is_open() && !__testfail && (__testin || __testout)) { // Ditch any pback buffers to avoid confusion. @@ -420,7 +465,8 @@ namespace std //in else if (__testget && __way == ios_base::cur) __computed_off += _M_in_cur - _M_filepos; - + + // Return pos_type(off_type(-1)) in case of failure. __ret = _M_file.seekoff(__computed_off, __way, __mode); _M_set_indeterminate(); } @@ -428,8 +474,14 @@ namespace std // state, ie _M_file._offset == -1 else { - __ret = _M_file.seekoff(__off, ios_base::cur, __mode); - __ret += max(_M_out_cur, _M_in_cur) - _M_filepos; + pos_type __tmp = + _M_file.seekoff(__off, ios_base::cur, __mode); + if (__tmp >= 0) + { + // Seek successful. + __ret = __tmp; + __ret += max(_M_out_cur, _M_in_cur) - _M_filepos; + } } } _M_last_overflowed = false; @@ -473,6 +525,7 @@ namespace std // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class basic_filebuf<char>; extern template class basic_ifstream<char>; extern template class basic_ofstream<char>; @@ -484,6 +537,7 @@ namespace std extern template class basic_ofstream<wchar_t>; extern template class basic_fstream<wchar_t>; #endif +#endif } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/gslice_array.h b/contrib/libstdc++/include/bits/gslice_array.h index 8989ac5..1116e9c 100644 --- a/contrib/libstdc++/include/bits/gslice_array.h +++ b/contrib/libstdc++/include/bits/gslice_array.h @@ -41,129 +41,131 @@ namespace std { - template<typename _Tp> class gslice_array + template<typename _Tp> + class gslice_array { public: - typedef _Tp value_type; - - void operator= (const valarray<_Tp>&) const; - void operator*= (const valarray<_Tp>&) const; - void operator/= (const valarray<_Tp>&) const; - void operator%= (const valarray<_Tp>&) const; - void operator+= (const valarray<_Tp>&) const; - void operator-= (const valarray<_Tp>&) const; - void operator^= (const valarray<_Tp>&) const; - void operator&= (const valarray<_Tp>&) const; - void operator|= (const valarray<_Tp>&) const; - void operator<<=(const valarray<_Tp>&) const; - void operator>>=(const valarray<_Tp>&) const; - void operator=(const _Tp&); - - template<class _Dom> - void operator= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator*= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator/= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator%= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator+= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator-= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator^= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator&= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator|= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator<<= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator>>= (const _Expr<_Dom,_Tp>&) const; + typedef _Tp value_type; + + void operator=(const valarray<_Tp>&) const; + void operator*=(const valarray<_Tp>&) const; + void operator/=(const valarray<_Tp>&) const; + void operator%=(const valarray<_Tp>&) const; + void operator+=(const valarray<_Tp>&) const; + void operator-=(const valarray<_Tp>&) const; + void operator^=(const valarray<_Tp>&) const; + void operator&=(const valarray<_Tp>&) const; + void operator|=(const valarray<_Tp>&) const; + void operator<<=(const valarray<_Tp>&) const; + void operator>>=(const valarray<_Tp>&) const; + void operator=(const _Tp&) const; + + template<class _Dom> + void operator=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator*=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator/=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator%=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator+=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator-=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator^=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator&=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator|=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator<<=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator>>=(const _Expr<_Dom,_Tp>&) const; private: - _Array<_Tp> _M_array; - const valarray<size_t>& _M_index; + _Array<_Tp> _M_array; + const valarray<size_t>& _M_index; - friend class valarray<_Tp>; - - gslice_array (_Array<_Tp>, const valarray<size_t>&); + friend class valarray<_Tp>; + + gslice_array(_Array<_Tp>, const valarray<size_t>&); - // this constructor needs to be implemented. - gslice_array (const gslice_array&); + // this constructor needs to be implemented. + gslice_array(const gslice_array&); - // not implemented - gslice_array(); - gslice_array& operator= (const gslice_array&); + // not implemented + gslice_array(); + gslice_array& operator= (const gslice_array&); }; - template<typename _Tp> + template<typename _Tp> inline - gslice_array<_Tp>::gslice_array (_Array<_Tp> __a, - const valarray<size_t>& __i) - : _M_array (__a), _M_index (__i) {} + gslice_array<_Tp>::gslice_array(_Array<_Tp> __a, + const valarray<size_t>& __i) + : _M_array(__a), _M_index(__i) {} - template<typename _Tp> + template<typename _Tp> inline - gslice_array<_Tp>::gslice_array (const gslice_array<_Tp>& __a) - : _M_array (__a._M_array), _M_index (__a._M_index) {} + gslice_array<_Tp>::gslice_array(const gslice_array<_Tp>& __a) + : _M_array(__a._M_array), _M_index(__a._M_index) {} - template<typename _Tp> + template<typename _Tp> inline void - gslice_array<_Tp>::operator= (const _Tp& __t) + gslice_array<_Tp>::operator=(const _Tp& __t) const { - __valarray_fill (_M_array, _Array<size_t>(_M_index), - _M_index.size(), __t); + __valarray_fill(_M_array, _Array<size_t>(_M_index), + _M_index.size(), __t); } - template<typename _Tp> + template<typename _Tp> inline void - gslice_array<_Tp>::operator= (const valarray<_Tp>& __v) const + gslice_array<_Tp>::operator=(const valarray<_Tp>& __v) const { - __valarray_copy (_Array<_Tp> (__v), __v.size (), - _M_array, _Array<size_t>(_M_index)); + __valarray_copy(_Array<_Tp>(__v), __v.size(), + _M_array, _Array<size_t>(_M_index)); } - template<typename _Tp> - template<class E> - inline void - gslice_array<_Tp>::operator= (const _Expr<E, _Tp>& __e) const - { - __valarray_copy (__e, _M_index.size(), _M_array, - _Array<size_t>(_M_index)); - } + template<typename _Tp> + template<class _Dom> + inline void + gslice_array<_Tp>::operator=(const _Expr<_Dom, _Tp>& __e) const + { + __valarray_copy (__e, _M_index.size(), _M_array, + _Array<size_t>(_M_index)); + } #undef _DEFINE_VALARRAY_OPERATOR -#define _DEFINE_VALARRAY_OPERATOR(op, name) \ -template<typename _Tp> \ -inline void \ -gslice_array<_Tp>::operator op##= (const valarray<_Tp>& __v) const \ -{ \ - _Array_augmented_##name (_M_array, _Array<size_t>(_M_index), \ - _Array<_Tp> (__v), __v.size ()); \ -} \ +#define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \ + template<typename _Tp> \ + inline void \ + gslice_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const \ + { \ + _Array_augmented_##_Name(_M_array, _Array<size_t>(_M_index), \ + _Array<_Tp>(__v), __v.size()); \ + } \ \ -template<typename _Tp> template<class E> \ -inline void \ -gslice_array<_Tp>::operator op##= (const _Expr<E, _Tp>& __e) const \ -{ \ - _Array_augmented_##name (_M_array, _Array<size_t>(_M_index), __e, \ - _M_index.size()); \ -} - -_DEFINE_VALARRAY_OPERATOR(*, multiplies) -_DEFINE_VALARRAY_OPERATOR(/, divides) -_DEFINE_VALARRAY_OPERATOR(%, modulus) -_DEFINE_VALARRAY_OPERATOR(+, plus) -_DEFINE_VALARRAY_OPERATOR(-, minus) -_DEFINE_VALARRAY_OPERATOR(^, xor) -_DEFINE_VALARRAY_OPERATOR(&, and) -_DEFINE_VALARRAY_OPERATOR(|, or) -_DEFINE_VALARRAY_OPERATOR(<<, shift_left) -_DEFINE_VALARRAY_OPERATOR(>>, shift_right) + template<typename _Tp> \ + template<class _Dom> \ + inline void \ + gslice_array<_Tp>::operator _Op##= (const _Expr<_Dom, _Tp>& __e) const\ + { \ + _Array_augmented_##_Name(_M_array, _Array<size_t>(_M_index), __e,\ + _M_index.size()); \ + } + +_DEFINE_VALARRAY_OPERATOR(*, __multiplies) +_DEFINE_VALARRAY_OPERATOR(/, __divides) +_DEFINE_VALARRAY_OPERATOR(%, __modulus) +_DEFINE_VALARRAY_OPERATOR(+, __plus) +_DEFINE_VALARRAY_OPERATOR(-, __minus) +_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor) +_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and) +_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or) +_DEFINE_VALARRAY_OPERATOR(<<, __shift_left) +_DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR diff --git a/contrib/libstdc++/include/bits/indirect_array.h b/contrib/libstdc++/include/bits/indirect_array.h index a5737e9..9fc973e 100644 --- a/contrib/libstdc++/include/bits/indirect_array.h +++ b/contrib/libstdc++/include/bits/indirect_array.h @@ -1,6 +1,7 @@ // The template and inlines for the -*- C++ -*- indirect_array class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -48,70 +49,70 @@ namespace std typedef _Tp value_type; // XXX: This is a proposed resolution for DR-253. - indirect_array& operator= (const indirect_array&); - - void operator= (const valarray<_Tp>&) const; - void operator*= (const valarray<_Tp>&) const; - void operator/= (const valarray<_Tp>&) const; - void operator%= (const valarray<_Tp>&) const; - void operator+= (const valarray<_Tp>&) const; - void operator-= (const valarray<_Tp>&) const; - void operator^= (const valarray<_Tp>&) const; - void operator&= (const valarray<_Tp>&) const; - void operator|= (const valarray<_Tp>&) const; - void operator<<= (const valarray<_Tp>&) const; - void operator>>= (const valarray<_Tp>&) const; - void operator= (const _Tp&); + indirect_array& operator=(const indirect_array&); + + void operator=(const valarray<_Tp>&) const; + void operator*=(const valarray<_Tp>&) const; + void operator/=(const valarray<_Tp>&) const; + void operator%=(const valarray<_Tp>&) const; + void operator+=(const valarray<_Tp>&) const; + void operator-=(const valarray<_Tp>&) const; + void operator^=(const valarray<_Tp>&) const; + void operator&=(const valarray<_Tp>&) const; + void operator|=(const valarray<_Tp>&) const; + void operator<<=(const valarray<_Tp>&) const; + void operator>>=(const valarray<_Tp>&) const; + void operator= (const _Tp&) const; // ~indirect_array(); - + template<class _Dom> - void operator= (const _Expr<_Dom, _Tp>&) const; + void operator=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator*= (const _Expr<_Dom, _Tp>&) const; + void operator*=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator/= (const _Expr<_Dom, _Tp>&) const; + void operator/=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator%= (const _Expr<_Dom, _Tp>&) const; + void operator%=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator+= (const _Expr<_Dom, _Tp>&) const; + void operator+=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator-= (const _Expr<_Dom, _Tp>&) const; + void operator-=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator^= (const _Expr<_Dom, _Tp>&) const; + void operator^=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator&= (const _Expr<_Dom, _Tp>&) const; + void operator&=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator|= (const _Expr<_Dom, _Tp>&) const; + void operator|=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator<<= (const _Expr<_Dom, _Tp>&) const; + void operator<<=(const _Expr<_Dom, _Tp>&) const; template<class _Dom> - void operator>>= (const _Expr<_Dom, _Tp>&) const; + void operator>>=(const _Expr<_Dom, _Tp>&) const; private: - indirect_array (const indirect_array&); - indirect_array (_Array<_Tp>, size_t, _Array<size_t>); + indirect_array(const indirect_array&); + indirect_array(_Array<_Tp>, size_t, _Array<size_t>); friend class valarray<_Tp>; friend class gslice_array<_Tp>; - + const size_t _M_sz; const _Array<size_t> _M_index; const _Array<_Tp> _M_array; - + // not implemented - indirect_array (); + indirect_array(); }; template<typename _Tp> - inline indirect_array<_Tp>::indirect_array(const indirect_array<_Tp>& __a) - : _M_sz (__a._M_sz), _M_index (__a._M_index), - _M_array (__a._M_array) {} + inline + indirect_array<_Tp>::indirect_array(const indirect_array<_Tp>& __a) + : _M_sz(__a._M_sz), _M_index(__a._M_index), _M_array(__a._M_array) {} template<typename _Tp> inline - indirect_array<_Tp>::indirect_array (_Array<_Tp> __a, size_t __s, - _Array<size_t> __i) - : _M_sz (__s), _M_index (__i), _M_array (__a) {} + indirect_array<_Tp>::indirect_array(_Array<_Tp> __a, size_t __s, + _Array<size_t> __i) + : _M_sz(__s), _M_index(__i), _M_array(__a) {} template<typename _Tp> inline indirect_array<_Tp>& @@ -124,46 +125,47 @@ namespace std template<typename _Tp> inline void - indirect_array<_Tp>::operator= (const _Tp& __t) + indirect_array<_Tp>::operator=(const _Tp& __t) const { __valarray_fill(_M_array, _M_index, _M_sz, __t); } template<typename _Tp> inline void - indirect_array<_Tp>::operator= (const valarray<_Tp>& __v) const - { __valarray_copy (_Array<_Tp> (__v), _M_sz, _M_array, _M_index); } + indirect_array<_Tp>::operator=(const valarray<_Tp>& __v) const + { __valarray_copy(_Array<_Tp>(__v), _M_sz, _M_array, _M_index); } template<typename _Tp> template<class _Dom> - inline void - indirect_array<_Tp>::operator= (const _Expr<_Dom,_Tp>& __e) const - { __valarray_copy (__e, _M_sz, _M_array, _M_index); } + inline void + indirect_array<_Tp>::operator=(const _Expr<_Dom,_Tp>& __e) const + { __valarray_copy(__e, _M_sz, _M_array, _M_index); } #undef _DEFINE_VALARRAY_OPERATOR -#define _DEFINE_VALARRAY_OPERATOR(op, name) \ -template<typename _Tp> \ -inline void \ -indirect_array<_Tp>::operator op##= (const valarray<_Tp>& __v) const \ -{ \ - _Array_augmented_##name (_M_array, _M_index, _Array<_Tp> (__v), _M_sz); \ -} \ +#define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \ + template<typename _Tp> \ + inline void \ + indirect_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const\ + { \ + _Array_augmented_##_Name(_M_array, _M_index, _Array<_Tp>(__v), _M_sz); \ + } \ \ -template<typename _Tp> template<class _Dom> \ -inline void \ -indirect_array<_Tp>::operator op##= (const _Expr<_Dom,_Tp>& __e) const \ -{ \ - _Array_augmented_##name (_M_array, _M_index, __e, _M_sz); \ -} - -_DEFINE_VALARRAY_OPERATOR(*, multiplies) -_DEFINE_VALARRAY_OPERATOR(/, divides) -_DEFINE_VALARRAY_OPERATOR(%, modulus) -_DEFINE_VALARRAY_OPERATOR(+, plus) -_DEFINE_VALARRAY_OPERATOR(-, minus) -_DEFINE_VALARRAY_OPERATOR(^, xor) -_DEFINE_VALARRAY_OPERATOR(&, and) -_DEFINE_VALARRAY_OPERATOR(|, or) -_DEFINE_VALARRAY_OPERATOR(<<, shift_left) -_DEFINE_VALARRAY_OPERATOR(>>, shift_right) + template<typename _Tp> \ + template<class _Dom> \ + inline void \ + indirect_array<_Tp>::operator _Op##=(const _Expr<_Dom,_Tp>& __e) const\ + { \ + _Array_augmented_##_Name(_M_array, _M_index, __e, _M_sz); \ + } + +_DEFINE_VALARRAY_OPERATOR(*, __multiplies) +_DEFINE_VALARRAY_OPERATOR(/, __divides) +_DEFINE_VALARRAY_OPERATOR(%, __modulus) +_DEFINE_VALARRAY_OPERATOR(+, __plus) +_DEFINE_VALARRAY_OPERATOR(-, __minus) +_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor) +_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and) +_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or) +_DEFINE_VALARRAY_OPERATOR(<<, __shift_left) +_DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR diff --git a/contrib/libstdc++/include/bits/ios_base.h b/contrib/libstdc++/include/bits/ios_base.h index a56475c..3437f84 100644 --- a/contrib/libstdc++/include/bits/ios_base.h +++ b/contrib/libstdc++/include/bits/ios_base.h @@ -1,6 +1,6 @@ // Iostreams base 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 @@ -43,6 +43,8 @@ #pragma GCC system_header #include <bits/atomicity.h> +#include <bits/localefwd.h> +#include <bits/locale_classes.h> namespace std { @@ -145,11 +147,20 @@ namespace std enum _Ios_Seekdir { _M_ios_seekdir_end = 1L << 16 }; // 27.4.2 Class ios_base + /** + * @brief The very top of the I/O class hierarchy. + * + * This class defines everything that can be defined about I/O that does + * not depend on the type of characters being input or output. Most + * people will only see @c ios_base when they need to specify the full + * name of the various I/O flags (e.g., the openmodes). + */ class ios_base { public: // 27.4.2.1.1 Class ios_base::failure + /// These are thrown to indicate problems. Doc me. class failure : public exception { public: @@ -173,50 +184,152 @@ namespace std }; // 27.4.2.1.2 Type ios_base::fmtflags + /** + * @brief This is a bitmask type. + * + * @c "_Ios_Fmtflags" is implementation-defined, but it is valid to + * perform bitwise operations on these values and expect the Right + * Thing to happen. Defined objects of type fmtflags are: + * - boolalpha + * - dec + * - fixed + * - hex + * - internal + * - left + * - oct + * - right + * - scientific + * - showbase + * - showpoint + * - showpos + * - skipws + * - unitbuf + * - uppercase + * - adjustfield + * - basefield + * - floatfield + */ typedef _Ios_Fmtflags fmtflags; - // 27.4.2.1.2 Type fmtflags + /// Insert/extract @c bool in alphabetic rather than numeric format. static const fmtflags boolalpha = fmtflags(__ios_flags::_S_boolalpha); + /// Converts integer input or generates integer output in decimal base. static const fmtflags dec = fmtflags(__ios_flags::_S_dec); + /// Generate floating-point output in fixed-point notation. static const fmtflags fixed = fmtflags(__ios_flags::_S_fixed); + /// Converts integer input or generates integer output in hexadecimal base. static const fmtflags hex = fmtflags(__ios_flags::_S_hex); + /// Adds fill characters at a designated internal point in certain + /// generated output, or identical to @c right if no such point is + /// designated. static const fmtflags internal = fmtflags(__ios_flags::_S_internal); + /// Adds fill characters on the right (final positions) of certain + /// generated output. (I.e., the thing you print is flush left.) static const fmtflags left = fmtflags(__ios_flags::_S_left); + /// Converts integer input or generates integer output in octal base. static const fmtflags oct = fmtflags(__ios_flags::_S_oct); + /// Adds fill characters on the left (initial positions) of certain + /// generated output. (I.e., the thing you print is flush right.) static const fmtflags right = fmtflags(__ios_flags::_S_right); + /// Generates floating-point output in scientific notation. static const fmtflags scientific = fmtflags(__ios_flags::_S_scientific); + /// Generates a prefix indicating the numeric base of generated integer + /// output. static const fmtflags showbase = fmtflags(__ios_flags::_S_showbase); + /// Generates a decimal-point character unconditionally in generated + /// floating-point output. static const fmtflags showpoint = fmtflags(__ios_flags::_S_showpoint); + /// Generates a + sign in non-negative generated numeric output. static const fmtflags showpos = fmtflags(__ios_flags::_S_showpos); + /// Skips leading white space before certain input operations. static const fmtflags skipws = fmtflags(__ios_flags::_S_skipws); + /// Flushes output after each output operation. static const fmtflags unitbuf = fmtflags(__ios_flags::_S_unitbuf); + /// Replaces certain lowercase letters with their uppercase equivalents + /// in generated output. static const fmtflags uppercase = fmtflags(__ios_flags::_S_uppercase); + /// A mask of left|right|internal. Useful for the 2-arg form of @c setf. static const fmtflags adjustfield = fmtflags(__ios_flags::_S_adjustfield); + /// A mask of dec|oct|hex. Useful for the 2-arg form of @c setf. static const fmtflags basefield = fmtflags(__ios_flags::_S_basefield); + /// A mask of scientific|fixed. Useful for the 2-arg form of @c setf. static const fmtflags floatfield = fmtflags(__ios_flags::_S_floatfield); // 27.4.2.1.3 Type ios_base::iostate + /** + * @brief This is a bitmask type. + * + * @c "_Ios_Iostate" is implementation-defined, but it is valid to + * perform bitwise operations on these values and expect the Right + * Thing to happen. Defined objects of type iostate are: + * - badbit + * - eofbit + * - failbit + * - goodbit + */ typedef _Ios_Iostate iostate; + /// Indicates a loss of integrity in an input or output sequence (such + /// as an irrecoverable read error from a file). static const iostate badbit = iostate(__ios_flags::_S_badbit); + /// Indicates that an input operation reached the end of an input sequence. static const iostate eofbit = iostate(__ios_flags::_S_eofbit); + /// Indicates that an input operation failed to read the expected + /// characters, or that an output operation failed to generate the + /// desired characters. static const iostate failbit = iostate(__ios_flags::_S_failbit); + /// Indicates all is well. static const iostate goodbit = iostate(0); - // 27.4.2.1.4 Type openmode + // 27.4.2.1.4 Type ios_base::openmode + /** + * @brief This is a bitmask type. + * + * @c "_Ios_Openmode" is implementation-defined, but it is valid to + * perform bitwise operations on these values and expect the Right + * Thing to happen. Defined objects of type openmode are: + * - app + * - ate + * - binary + * - in + * - out + * - trunc + */ typedef _Ios_Openmode openmode; + /// Seek to end before each write. static const openmode app = openmode(__ios_flags::_S_app); + /// Open and seek to end immediately after opening. static const openmode ate = openmode(__ios_flags::_S_ate); + /// Perform input and output in binary mode (as opposed to text mode). + /// This is probably not what you think it is; see + /// http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#3 and + /// http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#7 for more. static const openmode binary = openmode(__ios_flags::_S_bin); + /// Open for input. Default for @c ifstream and fstream. static const openmode in = openmode(__ios_flags::_S_in); + /// Open for output. Default for @c ofstream and fstream. static const openmode out = openmode(__ios_flags::_S_out); + /// Open for input. Default for @c ofstream. static const openmode trunc = openmode(__ios_flags::_S_trunc); - // 27.4.2.1.5 Type seekdir + // 27.4.2.1.5 Type ios_base::seekdir + /** + * @brief This is an enumerated type. + * + * @c "_Ios_Seekdir" is implementation-defined. Defined values + * of type seekdir are: + * - beg + * - cur, equivalent to @c SEEK_CUR in the C standard library. + * - end, equivalent to @c SEEK_END in the C standard library. + */ typedef _Ios_Seekdir seekdir; + /// Request a seek relative to the beginning of the stream. static const seekdir beg = seekdir(0); + /// Request a seek relative to the current position within the sequence. static const seekdir cur = seekdir(SEEK_CUR); + /// Request a seek relative to the current end of the sequence. static const seekdir end = seekdir(SEEK_END); #ifdef _GLIBCPP_DEPRECATED + // Annex D.6 typedef int io_state; typedef int open_mode; typedef int seek_dir; @@ -226,6 +339,9 @@ namespace std #endif // Callbacks; + /** + * @doctodo + */ enum event { erase_event, @@ -233,18 +349,30 @@ namespace std copyfmt_event }; + /** + * @doctodo + */ typedef void (*event_callback) (event, ios_base&, int); + /** + * @doctodo + */ void register_callback(event_callback __fn, int __index); protected: - // Data Members + //@{ + /** + * @if maint + * ios_base data members (doc me) + * @endif + */ streamsize _M_precision; streamsize _M_width; fmtflags _M_flags; iostate _M_exception; iostate _M_streambuf_state; + //@} // 27.4.2.6 Members for callbacks // 27.4.2.6 ios_base callbacks @@ -288,6 +416,7 @@ namespace std _Words _M_word_zero; // Guaranteed storage. + // The first 5 iword and pword slots are reserved for internal use. static const int _S_local_word_size = 8; _Words _M_local_word[_S_local_word_size]; @@ -323,15 +452,32 @@ namespace std static void _S_ios_destroy(); + // NB: Allows debugger applications use of the standard streams + // from operator new. _S_ios_base_init must be incremented in + // _S_ios_create _after_ initialization is completed. + static bool + _S_initialized() { return _S_ios_base_init; } + private: static int _S_ios_base_init; static bool _S_synced_with_stdio; }; - // Fmtflags state: + // [27.4.2.2] fmtflags state functions + /** + * @brief Access to format flags. + * @return The format control flags for both input and output. + */ inline fmtflags flags() const { return _M_flags; } + /** + * @brief Setting new format flags all at once. + * @param fmtfl The new flags to set. + * @return The previous format control flags. + * + * This function overwrites all the format flags with @a fmtfl. + */ inline fmtflags flags(fmtflags __fmtfl) { @@ -340,6 +486,14 @@ namespace std return __old; } + /** + * @brief Setting new format flags. + * @param fmtfl Additional flags to set. + * @return The previous format control flags. + * + * This function sets additional flags in format control. Flags that + * were previously set remain set. + */ inline fmtflags setf(fmtflags __fmtfl) { @@ -348,6 +502,15 @@ namespace std return __old; } + /** + * @brief Setting new format flags. + * @param fmtfl Additional flags to set. + * @param mask The flags mask for @a fmtfl. + * @return The previous format control flags. + * + * This function clears @a mask in the format flags, then sets + * @a fmtfl @c & @a mask. An example mask is @c ios_base::adjustfield. + */ inline fmtflags setf(fmtflags __fmtfl, fmtflags __mask) { @@ -357,12 +520,32 @@ namespace std return __old; } + /** + * @brief Clearing format flags. + * @param mask The flags to unset. + * + * This function clears @a mask in the format flags. + */ inline void unsetf(fmtflags __mask) { _M_flags &= ~__mask; } + /** + * @brief Flags access. + * @return The precision to generate on certain output operations. + * + * @if maint + * Be careful if you try to give a definition of "precision" here; see + * DR 189. + * @endif + */ inline streamsize precision() const { return _M_precision; } + /** + * @brief Changing flags. + * @param prec The new precision value. + * @return The previous value of precision(). + */ inline streamsize precision(streamsize __prec) { @@ -371,9 +554,20 @@ namespace std return __old; } + /** + * @brief Flags access. + * @return The minimum field width to generate on output operations. + * + * "Minimum field width" refers to the number of characters. + */ inline streamsize width() const { return _M_width; } + /** + * @brief Changing flags. + * @param wide The new width value. + * @return The previous value of width(). + */ inline streamsize width(streamsize __wide) { @@ -382,20 +576,63 @@ namespace std return __old; } + // [27.4.2.4] ios_base static members + /** + * @brief Interaction with the standard C I/O objects. + * @param sync Whether to synchronize or not. + * @return True if the standard streams were previously synchronized. + * + * The synchronization referred to is @e only that between the standard + * C facilities (e.g., stdout) and the standard C++ objects (e.g., + * cout). User-declared streams are unaffected. See + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#8 for more. + */ static bool sync_with_stdio(bool __sync = true); - // Locales: + // [27.4.2.3] ios_base locale functions + /** + * @brief Setting a new locale. + * @param loc The new locale. + * @return The previous locale. + * + * Sets the new locale for this stream, and + * [XXX does something with callbacks]. + */ locale imbue(const locale& __loc); + /** + * @brief Locale access + * @return A copy of the current locale. + * + * If @c imbue(loc) has previously been called, then this function + * returns @c loc. Otherwise, it returns a copy of @c std::locale(), + * the global C++ locale. + */ inline locale getloc() const { return _M_ios_locale; } - // Storage: + /** + * @brief Locale access + * @return A reference to the current locale. + * + * Like getloc above, but returns a reference instead of + * generating a copy. + */ + inline const locale& + _M_getloc() const { return _M_ios_locale; } + + // [27.4.2.5] ios_base storage functions + /** + * @doctodo + */ static int xalloc() throw(); + /** + * @doctodo + */ inline long& iword(int __ix) { @@ -404,6 +641,9 @@ namespace std return __word._M_iword; } + /** + * @doctodo + */ inline void*& pword(int __ix) { @@ -413,6 +653,10 @@ namespace std } // Destructor + /** + * Destroys local storage and + * [XXX does something with callbacks]. + */ ~ios_base(); protected: @@ -428,7 +672,8 @@ namespace std #endif }; - // 27.4.5.1 fmtflags manipulators: + // [27.4.5.1] fmtflags manipulators + /// Calls base.setf(ios_base::boolalpha). inline ios_base& boolalpha(ios_base& __base) { @@ -436,6 +681,7 @@ namespace std return __base; } + /// Calls base.unsetf(ios_base::boolalpha). inline ios_base& noboolalpha(ios_base& __base) { @@ -443,6 +689,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::showbase). inline ios_base& showbase(ios_base& __base) { @@ -450,6 +697,7 @@ namespace std return __base; } + /// Calls base.unsetf(ios_base::showbase). inline ios_base& noshowbase(ios_base& __base) { @@ -457,6 +705,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::showpoint). inline ios_base& showpoint(ios_base& __base) { @@ -464,6 +713,7 @@ namespace std return __base; } + /// Calls base.unsetf(ios_base::showpoint). inline ios_base& noshowpoint(ios_base& __base) { @@ -471,6 +721,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::showpos). inline ios_base& showpos(ios_base& __base) { @@ -478,6 +729,7 @@ namespace std return __base; } + /// Calls base.unsetf(ios_base::showpos). inline ios_base& noshowpos(ios_base& __base) { @@ -485,6 +737,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::skipws). inline ios_base& skipws(ios_base& __base) { @@ -492,6 +745,7 @@ namespace std return __base; } + /// Calls base.unsetf(ios_base::skipws). inline ios_base& noskipws(ios_base& __base) { @@ -499,6 +753,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::uppercase). inline ios_base& uppercase(ios_base& __base) { @@ -506,6 +761,7 @@ namespace std return __base; } + /// Calls base.unsetf(ios_base::uppercase). inline ios_base& nouppercase(ios_base& __base) { @@ -513,6 +769,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::unitbuf). inline ios_base& unitbuf(ios_base& __base) { @@ -520,6 +777,7 @@ namespace std return __base; } + /// Calls base.unsetf(ios_base::unitbuf). inline ios_base& nounitbuf(ios_base& __base) { @@ -527,7 +785,8 @@ namespace std return __base; } - // 27.4.5.2 adjustfield anipulators: + // [27.4.5.2] adjustfield anipulators + /// Calls base.setf(ios_base::internal, ios_base::adjustfield). inline ios_base& internal(ios_base& __base) { @@ -535,6 +794,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::left, ios_base::adjustfield). inline ios_base& left(ios_base& __base) { @@ -542,6 +802,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::right, ios_base::adjustfield). inline ios_base& right(ios_base& __base) { @@ -549,7 +810,8 @@ namespace std return __base; } - // 27.4.5.3 basefield anipulators: + // [27.4.5.3] basefield anipulators + /// Calls base.setf(ios_base::dec, ios_base::basefield). inline ios_base& dec(ios_base& __base) { @@ -557,6 +819,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::hex, ios_base::basefield). inline ios_base& hex(ios_base& __base) { @@ -564,6 +827,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::oct, ios_base::basefield). inline ios_base& oct(ios_base& __base) { @@ -571,7 +835,8 @@ namespace std return __base; } - // 27.4.5.4 floatfield anipulators: + // [27.4.5.4] floatfield anipulators + /// Calls base.setf(ios_base::fixed, ios_base::floatfield). inline ios_base& fixed(ios_base& __base) { @@ -579,6 +844,7 @@ namespace std return __base; } + /// Calls base.setf(ios_base::scientific, ios_base::floatfield). inline ios_base& scientific(ios_base& __base) { diff --git a/contrib/libstdc++/include/bits/istream.tcc b/contrib/libstdc++/include/bits/istream.tcc index a6e49a9..7ba6735 100644 --- a/contrib/libstdc++/include/bits/istream.tcc +++ b/contrib/libstdc++/include/bits/istream.tcc @@ -1,6 +1,6 @@ // istream 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 @@ -118,11 +118,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -155,11 +155,11 @@ namespace std #endif this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -182,11 +182,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -219,11 +219,11 @@ namespace std #endif this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -246,11 +246,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -273,11 +273,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -300,11 +300,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -328,11 +328,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -355,11 +355,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -383,11 +383,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -410,11 +410,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -437,11 +437,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -464,11 +464,11 @@ namespace std _M_fnumget->get(*this, 0, *this, __err, __n); this->setstate(__err); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -495,11 +495,11 @@ namespace std if (!__sbout || !__xtrct) this->setstate(ios_base::failbit); } - catch(exception& __fail) + catch(...) { // 27.6.2.5.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -527,11 +527,11 @@ namespace std else this->setstate(ios_base::eofbit | ios_base::failbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -561,11 +561,11 @@ namespace std else this->setstate(ios_base::eofbit | ios_base::failbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -600,11 +600,11 @@ namespace std if (traits_type::eq_int_type(__c, __eof)) this->setstate(ios_base::eofbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -643,11 +643,11 @@ namespace std if (traits_type::eq_int_type(__c, __eof)) this->setstate(ios_base::eofbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -694,11 +694,11 @@ namespace std this->setstate(ios_base::failbit); } } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -735,11 +735,11 @@ namespace std if (traits_type::eq_int_type(__c, __eof)) this->setstate(ios_base::eofbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -759,11 +759,11 @@ namespace std { try { __c = this->rdbuf()->sgetc(); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -786,11 +786,11 @@ namespace std if (_M_gcount != __n) this->setstate(ios_base::eofbit | ios_base::failbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -822,11 +822,11 @@ namespace std else this->setstate(ios_base::eofbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -841,6 +841,10 @@ namespace std basic_istream<_CharT, _Traits>:: putback(char_type __c) { +#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS +// 60. What is a formatted input function? + _M_gcount = 0; +#endif sentry __cerb(*this, true); if (__cerb) { @@ -852,11 +856,11 @@ namespace std || traits_type::eq_int_type(__sb->sputbackc(__c), __eof)) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -871,7 +875,10 @@ namespace std basic_istream<_CharT, _Traits>:: unget(void) { +#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS +// 60. What is a formatted input function? _M_gcount = 0; +#endif sentry __cerb(*this, true); if (__cerb) { @@ -883,11 +890,11 @@ namespace std || traits_type::eq_int_type(__sb->sungetc(), __eof)) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -902,8 +909,8 @@ namespace std basic_istream<_CharT, _Traits>:: sync(void) { + // DR60. Do not change _M_gcount. int __ret = -1; - _M_gcount = 0; sentry __cerb(*this, true); if (__cerb) { @@ -918,11 +925,11 @@ namespace std __ret = 0; } } - catch(exception& __fail) + catch(...) { // 27.6.1.3 paragraph 1 // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -935,6 +942,7 @@ namespace std basic_istream<_CharT, _Traits>:: tellg(void) { + // DR60. Do not change _M_gcount. pos_type __ret = pos_type(-1); if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in); @@ -947,7 +955,7 @@ namespace std basic_istream<_CharT, _Traits>:: seekg(pos_type __pos) { - _M_gcount = 0; + // DR60. Do not change _M_gcount. if (!this->fail()) { #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS @@ -967,7 +975,7 @@ namespace std basic_istream<_CharT, _Traits>:: seekg(off_type __off, ios_base::seekdir __dir) { - _M_gcount = 0; + // DR60. Do not change _M_gcount. if (!this->fail()) { #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS @@ -994,11 +1002,11 @@ namespace std { try { __in.get(__c); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - __in.setstate(ios_base::badbit); + __in._M_setstate(ios_base::badbit); if ((__in.exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -1026,7 +1034,7 @@ namespace std { // Figure out how many characters to extract. streamsize __num = __in.width(); - if (__num == 0) + if (__num <= 0) __num = numeric_limits<streamsize>::max(); const __ctype_type& __ctype = use_facet<__ctype_type>(__in.getloc()); @@ -1036,9 +1044,9 @@ namespace std while (__extracted < __num - 1 && !_Traits::eq_int_type(__c, __eof) - && !__ctype.is(ctype_base::space, __c)) + && !__ctype.is(ctype_base::space, _Traits::to_char_type(__c))) { - *__s++ = __c; + *__s++ = _Traits::to_char_type(__c); ++__extracted; __c = __sb->snextc(); } @@ -1051,11 +1059,11 @@ namespace std #endif __in.width(0); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - __in.setstate(ios_base::badbit); + __in._M_setstate(ios_base::badbit); if ((__in.exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -1081,7 +1089,7 @@ namespace std __int_type __c = __sb->sgetc(); while (!_Traits::eq_int_type(__c, __eof) - && __ctype.is(ctype_base::space, __c)) + && __ctype.is(ctype_base::space, _Traits::to_char_type(__c))) __c = __sb->snextc(); if (_Traits::eq_int_type(__c, __eof)) @@ -1119,7 +1127,7 @@ namespace std while (__extracted < __n && !_Traits::eq_int_type(__c, __eof) - && !__ctype.is(ctype_base::space, __c)) + && !__ctype.is(ctype_base::space, _Traits::to_char_type(__c))) { __str += _Traits::to_char_type(__c); ++__extracted; @@ -1189,6 +1197,7 @@ namespace std // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class basic_istream<char>; extern template istream& ws(istream&); extern template istream& operator>>(istream&, char&); @@ -1204,4 +1213,5 @@ namespace std extern template wistream& operator>>(wistream&, wchar_t&); extern template wistream& operator>>(wistream&, wchar_t*); #endif +#endif } // namespace std diff --git a/contrib/libstdc++/include/bits/list.tcc b/contrib/libstdc++/include/bits/list.tcc new file mode 100644 index 0000000..898a502 --- /dev/null +++ b/contrib/libstdc++/include/bits/list.tcc @@ -0,0 +1,368 @@ +// List implementation (out of line) -*- C++ -*- + +// Copyright (C) 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, 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. + +/* + * + * Copyright (c) 1994 + * Hewlett-Packard Company + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Hewlett-Packard Company makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + * + * + * Copyright (c) 1996,1997 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/** @file list.tcc + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef __GLIBCPP_INTERNAL_LIST_TCC +#define __GLIBCPP_INTERNAL_LIST_TCC + +namespace std +{ + template<typename _Tp, typename _Alloc> + void + _List_base<_Tp,_Alloc>:: + __clear() + { + typedef _List_node<_Tp> _Node; + _Node* __cur = static_cast<_Node*>(_M_node->_M_next); + while (__cur != _M_node) + { + _Node* __tmp = __cur; + __cur = static_cast<_Node*>(__cur->_M_next); + _Destroy(&__tmp->_M_data); + _M_put_node(__tmp); + } + _M_node->_M_next = _M_node; + _M_node->_M_prev = _M_node; + } + + template<typename _Tp, typename _Alloc> + typename list<_Tp,_Alloc>::iterator + list<_Tp,_Alloc>:: + insert(iterator __position, const value_type& __x) + { + _Node* __tmp = _M_create_node(__x); + __tmp->_M_next = __position._M_node; + __tmp->_M_prev = __position._M_node->_M_prev; + __position._M_node->_M_prev->_M_next = __tmp; + __position._M_node->_M_prev = __tmp; + return __tmp; + } + + template<typename _Tp, typename _Alloc> + typename list<_Tp,_Alloc>::iterator + list<_Tp,_Alloc>:: + erase(iterator __position) + { + _List_node_base* __next_node = __position._M_node->_M_next; + _List_node_base* __prev_node = __position._M_node->_M_prev; + _Node* __n = static_cast<_Node*>(__position._M_node); + __prev_node->_M_next = __next_node; + __next_node->_M_prev = __prev_node; + _Destroy(&__n->_M_data); + _M_put_node(__n); + return iterator(static_cast<_Node*>(__next_node)); + } + + template<typename _Tp, typename _Alloc> + void + list<_Tp,_Alloc>:: + resize(size_type __new_size, const value_type& __x) + { + iterator __i = begin(); + size_type __len = 0; + for ( ; __i != end() && __len < __new_size; ++__i, ++__len) + ; + if (__len == __new_size) + erase(__i, end()); + else // __i == end() + insert(end(), __new_size - __len, __x); + } + + template<typename _Tp, typename _Alloc> + list<_Tp,_Alloc>& + list<_Tp,_Alloc>:: + operator=(const list& __x) + { + if (this != &__x) + { + iterator __first1 = begin(); + iterator __last1 = end(); + const_iterator __first2 = __x.begin(); + const_iterator __last2 = __x.end(); + while (__first1 != __last1 && __first2 != __last2) + *__first1++ = *__first2++; + if (__first2 == __last2) + erase(__first1, __last1); + else + insert(__last1, __first2, __last2); + } + return *this; + } + + template<typename _Tp, typename _Alloc> + void + list<_Tp,_Alloc>:: + _M_fill_assign(size_type __n, const value_type& __val) + { + iterator __i = begin(); + for ( ; __i != end() && __n > 0; ++__i, --__n) + *__i = __val; + if (__n > 0) + insert(end(), __n, __val); + else + erase(__i, end()); + } + + template<typename _Tp, typename _Alloc> + template <typename _InputIter> + void + list<_Tp,_Alloc>:: + _M_assign_dispatch(_InputIter __first2, _InputIter __last2, __false_type) + { + iterator __first1 = begin(); + iterator __last1 = end(); + for (; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) + *__first1 = *__first2; + if (__first2 == __last2) + erase(__first1, __last1); + else + insert(__last1, __first2, __last2); + } + + template<typename _Tp, typename _Alloc> + void + list<_Tp,_Alloc>:: + remove(const value_type& __value) + { + iterator __first = begin(); + iterator __last = end(); + while (__first != __last) + { + iterator __next = __first; + ++__next; + if (*__first == __value) + erase(__first); + __first = __next; + } + } + + template<typename _Tp, typename _Alloc> + void + list<_Tp,_Alloc>:: + unique() + { + iterator __first = begin(); + iterator __last = end(); + if (__first == __last) return; + iterator __next = __first; + while (++__next != __last) + { + if (*__first == *__next) + erase(__next); + else + __first = __next; + __next = __first; + } + } + + template<typename _Tp, typename _Alloc> + void + list<_Tp,_Alloc>:: + merge(list& __x) + { + iterator __first1 = begin(); + iterator __last1 = end(); + iterator __first2 = __x.begin(); + iterator __last2 = __x.end(); + while (__first1 != __last1 && __first2 != __last2) + if (*__first2 < *__first1) + { + iterator __next = __first2; + _M_transfer(__first1, __first2, ++__next); + __first2 = __next; + } + else + ++__first1; + if (__first2 != __last2) + _M_transfer(__last1, __first2, __last2); + } + + // FIXME put this somewhere else + inline void + __List_base_reverse(_List_node_base* __p) + { + _List_node_base* __tmp = __p; + do { + std::swap(__tmp->_M_next, __tmp->_M_prev); + __tmp = __tmp->_M_prev; // Old next node is now prev. + } while (__tmp != __p); + } + + template<typename _Tp, typename _Alloc> + void + list<_Tp,_Alloc>:: + sort() + { + // Do nothing if the list has length 0 or 1. + if (_M_node->_M_next != _M_node && _M_node->_M_next->_M_next != _M_node) + { + list __carry; + list __counter[64]; + int __fill = 0; + while (!empty()) + { + __carry.splice(__carry.begin(), *this, begin()); + int __i = 0; + while(__i < __fill && !__counter[__i].empty()) + { + __counter[__i].merge(__carry); + __carry.swap(__counter[__i++]); + } + __carry.swap(__counter[__i]); + if (__i == __fill) ++__fill; + } + + for (int __i = 1; __i < __fill; ++__i) + __counter[__i].merge(__counter[__i-1]); + swap(__counter[__fill-1]); + } + } + + template<typename _Tp, typename _Alloc> + template <typename _Predicate> + void + list<_Tp,_Alloc>:: + remove_if(_Predicate __pred) + { + iterator __first = begin(); + iterator __last = end(); + while (__first != __last) + { + iterator __next = __first; + ++__next; + if (__pred(*__first)) erase(__first); + __first = __next; + } + } + + template<typename _Tp, typename _Alloc> + template <typename _BinaryPredicate> + void + list<_Tp,_Alloc>:: + unique(_BinaryPredicate __binary_pred) + { + iterator __first = begin(); + iterator __last = end(); + if (__first == __last) return; + iterator __next = __first; + while (++__next != __last) + { + if (__binary_pred(*__first, *__next)) + erase(__next); + else + __first = __next; + __next = __first; + } + } + + template<typename _Tp, typename _Alloc> + template <typename _StrictWeakOrdering> + void + list<_Tp,_Alloc>:: + merge(list& __x, _StrictWeakOrdering __comp) + { + iterator __first1 = begin(); + iterator __last1 = end(); + iterator __first2 = __x.begin(); + iterator __last2 = __x.end(); + while (__first1 != __last1 && __first2 != __last2) + if (__comp(*__first2, *__first1)) + { + iterator __next = __first2; + _M_transfer(__first1, __first2, ++__next); + __first2 = __next; + } + else + ++__first1; + if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); + } + + template<typename _Tp, typename _Alloc> + template <typename _StrictWeakOrdering> + void + list<_Tp,_Alloc>:: + sort(_StrictWeakOrdering __comp) + { + // Do nothing if the list has length 0 or 1. + if (_M_node->_M_next != _M_node && _M_node->_M_next->_M_next != _M_node) + { + list __carry; + list __counter[64]; + int __fill = 0; + while (!empty()) + { + __carry.splice(__carry.begin(), *this, begin()); + int __i = 0; + while(__i < __fill && !__counter[__i].empty()) + { + __counter[__i].merge(__carry, __comp); + __carry.swap(__counter[__i++]); + } + __carry.swap(__counter[__i]); + if (__i == __fill) ++__fill; + } + + for (int __i = 1; __i < __fill; ++__i) + __counter[__i].merge(__counter[__i-1], __comp); + swap(__counter[__fill-1]); + } + } +} // namespace std + +#endif /* __GLIBCPP_INTERNAL_LIST_TCC */ diff --git a/contrib/libstdc++/include/bits/locale_classes.h b/contrib/libstdc++/include/bits/locale_classes.h new file mode 100644 index 0000000..ddd23fb --- /dev/null +++ b/contrib/libstdc++/include/bits/locale_classes.h @@ -0,0 +1,404 @@ +// Locale support -*- C++ -*- + +// 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 +// 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.1 Locales +// + +/** @file localefwd.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _CPP_BITS_LOCALE_CLASSES_H +#define _CPP_BITS_LOCALE_CLASSES_H 1 + +#pragma GCC system_header + +#include <bits/localefwd.h> +#include <cstring> // For strcmp. +#include <string> +#include <bits/atomicity.h> + +namespace std +{ + class __locale_cache_base; + template<typename _Facet> class __locale_cache; + + // 22.1.1 Class locale + class locale + { + public: + // Types: + typedef unsigned int category; + + // Forward decls and friends: + class facet; + class id; + class _Impl; + + friend class facet; + friend class _Impl; + + template<typename _Facet> + friend const _Facet& + use_facet(const locale&); + + template<typename _Facet> + friend bool + has_facet(const locale&) throw(); + + template<typename _Facet> + friend const __locale_cache<_Facet>& + __use_cache(const locale&); + + // Category values: + // NB: Order must match _S_facet_categories definition in locale.cc + static const category none = 0; + static const category ctype = 1L << 0; + static const category numeric = 1L << 1; + static const category collate = 1L << 2; + static const category time = 1L << 3; + static const category monetary = 1L << 4; + static const category messages = 1L << 5; + static const category all = (ctype | numeric | collate | + time | monetary | messages); + + // Construct/copy/destroy: + locale() throw(); + + locale(const locale& __other) throw(); + + explicit + locale(const char* __s); + + locale(const locale& __base, const char* __s, category __cat); + + locale(const locale& __base, const locale& __add, category __cat); + + template<typename _Facet> + locale(const locale& __other, _Facet* __f); + + ~locale() throw(); + + const locale& + operator=(const locale& __other) throw(); + + template<typename _Facet> + locale + combine(const locale& __other) const; + + // Locale operations: + string + name() const; + + bool + operator==(const locale& __other) const throw (); + + inline bool + operator!=(const locale& __other) const throw () + { return !(this->operator==(__other)); } + + template<typename _Char, typename _Traits, typename _Alloc> + bool + operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, + const basic_string<_Char, _Traits, _Alloc>& __s2) const; + + // Global locale objects: + static locale + global(const locale&); + + static const locale& + classic(); + + private: + // The (shared) implementation + _Impl* _M_impl; + + // The "C" reference locale + static _Impl* _S_classic; + + // Current global locale + static _Impl* _S_global; + + // Number of standard categories. For C++, these categories are + // collate, ctype, monetary, numeric, time, and messages. These + // directly correspond to ISO C99 macros LC_COLLATE, LC_CTYPE, + // LC_MONETARY, LC_NUMERIC, and LC_TIME. In addition, POSIX (IEEE + // 1003.1-2001) specifies LC_MESSAGES. + static const size_t _S_categories_size = 6; + + // In addition to the standard categories, the underlying + // operating system is allowed to define extra LC_* + // macros. For GNU systems, the following are also valid: + // LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT, + // and LC_IDENTIFICATION. + static const size_t _S_extra_categories_size = _GLIBCPP_NUM_CATEGORIES; + + // Names of underlying locale categories. + // NB: locale::global() has to know how to modify all the + // underlying categories, not just the ones required by the C++ + // standard. + static const char* _S_categories[_S_categories_size + + _S_extra_categories_size]; + + explicit + locale(_Impl*) throw(); + + static inline void + _S_initialize() + { + if (!_S_classic) + classic(); + } + + static category + _S_normalize_category(category); + + void + _M_coalesce(const locale& __base, const locale& __add, category __cat); + }; + + + // Implementation object for locale + class locale::_Impl + { + public: + // Friends. + friend class locale; + friend class locale::facet; + + template<typename _Facet> + friend const _Facet& + use_facet(const locale&); + + template<typename _Facet> + friend bool + has_facet(const locale&) throw(); + + template<typename _Facet> + friend const __locale_cache<_Facet>& + __use_cache(const locale&); + + private: + // Data Members. + _Atomic_word _M_references; + facet** _M_facets; + size_t _M_facets_size; + + char* _M_names[_S_categories_size + + _S_extra_categories_size]; + static const locale::id* const _S_id_ctype[]; + static const locale::id* const _S_id_numeric[]; + static const locale::id* const _S_id_collate[]; + static const locale::id* const _S_id_time[]; + static const locale::id* const _S_id_monetary[]; + static const locale::id* const _S_id_messages[]; + static const locale::id* const* const _S_facet_categories[]; + + inline void + _M_add_reference() throw() + { __atomic_add(&_M_references, 1); } + + inline void + _M_remove_reference() throw() + { + if (__exchange_and_add(&_M_references, -1) == 1) + { + try + { delete this; } + catch(...) + { } + } + } + + _Impl(const _Impl&, size_t); + _Impl(const char*, size_t); + _Impl(facet**, size_t, bool); + + ~_Impl() throw(); + + _Impl(const _Impl&); // Not defined. + + void + operator=(const _Impl&); // Not defined. + + inline bool + _M_check_same_name() + { + bool __ret = true; + for (size_t __i = 0; + __ret && __i < _S_categories_size + _S_extra_categories_size - 1; + ++__i) + __ret &= (strcmp(_M_names[__i], _M_names[__i + 1]) == 0); + return __ret; + } + + void + _M_replace_categories(const _Impl*, category); + + void + _M_replace_category(const _Impl*, const locale::id* const*); + + void + _M_replace_facet(const _Impl*, const locale::id*); + + void + _M_install_facet(const locale::id*, facet*); + + template<typename _Facet> + inline void + _M_init_facet(_Facet* __facet) + { _M_install_facet(&_Facet::id, __facet); } + + // Retrieve the cache at __index. 0 is returned if the cache is + // missing. Cache is actually located at __index + + // _M_facets_size. __index must be < _M_facets_size. + inline __locale_cache_base* + _M_get_cache(size_t __index) + { + return (__locale_cache_base*)_M_facets[__index + _M_facets_size]; + } + + // Save the supplied cache at __id. Assumes _M_get_cache has been + // called. + void + _M_install_cache(__locale_cache_base* __cache, int __id) + { + _M_facets[__id + _M_facets_size] = + reinterpret_cast<locale::facet*>(__cache); + } + + }; + + template<typename _Facet> + locale::locale(const locale& __other, _Facet* __f) + { + _M_impl = new _Impl(*__other._M_impl, 1); + _M_impl->_M_install_facet(&_Facet::id, __f); + for (size_t __i = 0; + __i < _S_categories_size + _S_extra_categories_size; ++__i) + { + delete [] _M_impl->_M_names[__i]; + char* __new = new char[2]; + strcpy(__new, "*"); + _M_impl->_M_names[__i] = __new; + } + } + + + // 22.1.1.1.2 Class locale::facet + class locale::facet + { + private: + friend class locale; + friend class locale::_Impl; + + _Atomic_word _M_references; + + protected: + // Contains data from the underlying "C" library 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(); + + virtual + ~facet(); + + static void + _S_create_c_locale(__c_locale& __cloc, const char* __s, + __c_locale __old = 0); + + static __c_locale + _S_clone_c_locale(__c_locale& __cloc); + + static void + _S_destroy_c_locale(__c_locale& __cloc); + + private: + void + _M_add_reference() throw(); + + void + _M_remove_reference() throw(); + + facet(const facet&); // Not defined. + + void + operator=(const facet&); // Not defined. + }; + + + // 22.1.1.1.3 Class locale::id + class locale::id + { + private: + friend class locale; + friend class locale::_Impl; + template<typename _Facet> + friend const _Facet& + use_facet(const locale&); + template<typename _Facet> + friend bool + has_facet(const locale&) throw (); + + // NB: There is no accessor for _M_index because it may be used + // before the constructor is run; the effect of calling a member + // function (even an inline) would be undefined. + mutable size_t _M_index; + + // Last id number assigned. + static _Atomic_word _S_highwater; + + void + operator=(const id&); // Not defined. + + id(const id&); // Not defined. + + public: + // NB: This class is always a static data member, and thus can be + // counted on to be zero-initialized. + id(); + + inline size_t + _M_id() const + { + if (!_M_index) + _M_index = 1 + __exchange_and_add(&_S_highwater, 1); + return _M_index - 1; + } + }; +} // namespace std + +#endif diff --git a/contrib/libstdc++/include/bits/locale_facets.h b/contrib/libstdc++/include/bits/locale_facets.h index 6e42b3b..37f6875 100644 --- a/contrib/libstdc++/include/bits/locale_facets.h +++ b/contrib/libstdc++/include/bits/locale_facets.h @@ -1,6 +1,6 @@ // Locale support -*- 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 @@ -44,7 +44,9 @@ #include <ctime> // For struct tm #include <cwctype> // For wctype_t -#include <ios> // For ios_base +#include <iosfwd> +#include <bits/ios_base.h> // For ios_base, ios_base::iostate +#include <streambuf> namespace std { @@ -55,8 +57,109 @@ namespace std # define _GLIBCPP_NUM_FACETS 14 #endif + // Convert string to numeric value of type _Tv and store results. + // NB: This is specialized for all required types, there is no + // generic definition. + template<typename _Tv> + void + __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err, + const __c_locale& __cloc, int __base = 10); + + // Explicit specializations for required types. + template<> + void + __convert_to_v(const char*, long&, ios_base::iostate&, + const __c_locale&, int); + + template<> + void + __convert_to_v(const char*, unsigned long&, ios_base::iostate&, + const __c_locale&, int); + +#ifdef _GLIBCPP_USE_LONG_LONG + template<> + void + __convert_to_v(const char*, long long&, ios_base::iostate&, + const __c_locale&, int); + + template<> + void + __convert_to_v(const char*, unsigned long long&, ios_base::iostate&, + const __c_locale&, int); +#endif + + template<> + void + __convert_to_v(const char*, float&, ios_base::iostate&, + const __c_locale&, int); + + template<> + void + __convert_to_v(const char*, double&, ios_base::iostate&, + const __c_locale&, int); + + template<> + void + __convert_to_v(const char*, long double&, ios_base::iostate&, + const __c_locale&, int); + + // NB: __pad is a struct, rather than a function, so it can be + // partially-specialized. template<typename _CharT, typename _Traits> - struct __pad; + struct __pad + { + static void + _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, + const _CharT* __olds, const streamsize __newlen, + const streamsize __oldlen, const bool __num); + }; + + // Used by both numeric and monetary facets. + // Check to make sure that the __grouping_tmp string constructed in + // money_get or num_get matches the canonical grouping for a given + // locale. + // __grouping_tmp is parsed L to R + // 1,222,444 == __grouping_tmp of "\1\3\3" + // __grouping is parsed R to L + // 1,222,444 == __grouping of "\3" == "\3\3\3" + template<typename _CharT> + bool + __verify_grouping(const basic_string<_CharT>& __grouping, + basic_string<_CharT>& __grouping_tmp); + + // Used by both numeric and monetary facets. + // Inserts "group separator" characters into an array of characters. + // It's recursive, one iteration per group. It moves the characters + // in the buffer this way: "xxxx12345" -> "12,345xxx". Call this + // only with __gbeg != __gend. + template<typename _CharT> + _CharT* + __add_grouping(_CharT* __s, _CharT __sep, + const char* __gbeg, const char* __gend, + const _CharT* __first, const _CharT* __last); + + // This template permits specializing facet output code for + // ostreambuf_iterator. For ostreambuf_iterator, sputn is + // significantly more efficient than incrementing iterators. + template<typename _CharT> + inline + ostreambuf_iterator<_CharT> + __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len) + { + __s._M_put(__ws, __len); + return __s; + } + + // This is the unspecialized form of the template. + template<typename _CharT, typename _OutIter> + inline + _OutIter + __write(_OutIter __s, const _CharT* __ws, int __len) + { + for (int __j = 0; __j < __len; __j++, ++__s) + *__s = __ws[__j]; + return __s; + } // 22.2.1.1 Template class ctype // Include host and configuration specific ctype enums for ctype_base. @@ -424,14 +527,38 @@ namespace std // 22.2.1.5 Template class codecvt #include <bits/codecvt.h> - // 22.2.2 The numeric category. class __num_base { + public: + // NB: Code depends on the order of _S_atoms_out elements. + // Below are the indices into _S_atoms_out. + enum + { + _S_minus, + _S_plus, + _S_x, + _S_X, + _S_digits, + _S_digits_end = _S_digits + 16, + _S_udigits = _S_digits_end, + _S_udigits_end = _S_udigits + 16, + _S_e = _S_digits + 14, // For scientific notation, 'e' + _S_E = _S_udigits + 14, // For scientific notation, 'E' + _S_end = _S_udigits_end + }; + + // A list of valid numeric literals for output. This array + // contains chars that will be passed through the current locale's + // ctype<_CharT>.widen() and then used to render numbers. + // For the standard "C" locale, this is + // "-+xX0123456789abcdef0123456789ABCDEF". + static const char* _S_atoms_out; + protected: // String literal of acceptable (narrow) input, for num_get. // "0123456789eEabcdfABCDF" - static const char _S_atoms[]; + static const char* _S_atoms_in; enum { @@ -443,7 +570,7 @@ namespace std // num_put // Construct and return valid scanf format for floating point types. - static bool + static void _S_format_float(const ios_base& __io, char* __fptr, char __mod, streamsize __prec); @@ -454,6 +581,9 @@ namespace std template<typename _CharT> + class __locale_cache; + + template<typename _CharT> class numpunct : public locale::facet { public: @@ -461,6 +591,8 @@ namespace std typedef _CharT char_type; typedef basic_string<_CharT> string_type; + friend class __locale_cache<numpunct<_CharT> >; + static locale::id id; private: @@ -725,7 +857,6 @@ namespace std // Types: typedef _CharT char_type; typedef _OutIter iter_type; - static locale::id id; explicit @@ -775,6 +906,27 @@ namespace std _M_convert_float(iter_type, ios_base& __io, char_type __fill, char __mod, _ValueT __v) const; + void + _M_group_float(const string& __grouping, char_type __sep, + const char_type* __p, char_type* __new, char_type* __cs, + int& __len) const; + + template<typename _ValueT> + iter_type + _M_convert_int(iter_type, ios_base& __io, char_type __fill, + _ValueT __v) const; + + void + _M_group_int(const string& __grouping, char_type __sep, + ios_base& __io, char_type* __new, char_type* __cs, + int& __len) const; + + void + _M_pad(char_type __fill, streamsize __w, ios_base& __io, + char_type* __new, const char_type* __cs, int& __len) const; + +#if 1 + // XXX GLIBCXX_ABI Deprecated, compatibility only. template<typename _ValueT> iter_type _M_convert_int(iter_type, ios_base& __io, char_type __fill, @@ -791,8 +943,9 @@ namespace std iter_type _M_insert(iter_type, ios_base& __io, char_type __fill, const char_type* __ws, int __len) const; +#endif - virtual + virtual ~num_put() { }; virtual iter_type @@ -1805,6 +1958,93 @@ namespace std inline _CharT tolower(_CharT __c, const locale& __loc) { return use_facet<ctype<_CharT> >(__loc).tolower(__c); } + + /** + * @if maint + * __locale_cache objects hold information extracted from facets in + * a form optimized for parsing and formatting. They are stored in + * a locale's facet array and accessed via __use_cache<_Facet>. + * + * The intent twofold: to avoid the costs of creating a locale + * object and to avoid calling the virtual functions in a locale's + * facet to look up data. + * @endif + */ + class __locale_cache_base + { + friend class std::locale::_Impl; + friend class locale; + + public: + virtual + ~__locale_cache_base() { } + + }; + + // This template doesn't really get used for anything except a + // placeholder for specializations + template<typename _Facet> + class __locale_cache : public __locale_cache_base + { + // ctor + __locale_cache(const locale&) {} + }; + + template<typename _CharT> + class __locale_cache<numpunct<_CharT> > : public __locale_cache_base + { + // Types: + typedef _CharT char_type; + typedef char_traits<_CharT> traits_type; + typedef basic_string<_CharT> string_type; + + public: + // Data Members: + + // The sign used to separate decimal values: for standard US + // locales, this would usually be: "." Abstracted from + // numpunct::decimal_point(). + _CharT _M_decimal_point; + + // The sign used to separate groups of digits into smaller + // strings that the eye can parse with less difficulty: for + // standard US locales, this would usually be: "," Abstracted + // from numpunct::thousands_sep(). + _CharT _M_thousands_sep; + + // However the US's "false" and "true" are translated. From + // numpunct::truename() and numpunct::falsename(), respectively. + const _CharT* _M_truename; + const _CharT* _M_falsename; + + // If we are checking groupings. This should be equivalent to + // numpunct::groupings().size() != 0 + bool _M_use_grouping; + + // If we are using numpunct's groupings, this is the current + // grouping string in effect (from numpunct::grouping()). + const char* _M_grouping; + + // A list of valid numeric literals: for the standard "C" + // locale, this is "-+xX0123456789abcdef0123456789ABCDEF". This + // array contains the chars after having been passed through the + // current locale's ctype<_CharT>.widen(). + + // Copied here from __locale_cache<ctype> to save multiple cache + // access in num_put functions. + _CharT _M_atoms_out[__num_base::_S_end]; + + // ctor + __locale_cache(const locale& __loc); + __locale_cache(const locale& __loc, bool); + + ~__locale_cache() + { + delete [] _M_truename; + delete [] _M_falsename; + delete [] _M_grouping; + } + }; } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/locale_facets.tcc b/contrib/libstdc++/include/bits/locale_facets.tcc index 1bf3d7c..b8b9918 100644 --- a/contrib/libstdc++/include/bits/locale_facets.tcc +++ b/contrib/libstdc++/include/bits/locale_facets.tcc @@ -1,6 +1,6 @@ // Locale support -*- 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 @@ -36,13 +36,13 @@ #pragma GCC system_header #include <cerrno> -#include <clocale> // For localeconv -#include <cstdlib> // For strof, strtold -#include <cmath> // For ceil -#include <cctype> // For isspace -#include <limits> // For numeric_limits +#include <clocale> // For localeconv +#include <cstdlib> // For strof, strtold +#include <cmath> // For ceil +#include <cctype> // For isspace +#include <limits> // For numeric_limits +#include <typeinfo> // For bad_cast. #include <bits/streambuf_iterator.h> -#include <typeinfo> // For bad_cast. namespace std { @@ -86,6 +86,23 @@ namespace std return (__i < __loc._M_impl->_M_facets_size && __facets[__i]); } + // Routine to access a cache for the locale. If the cache didn't + // exist before, it gets constructed on the fly. + template<typename _Facet> + inline const __locale_cache<_Facet>& + __use_cache(const locale& __loc) + { + size_t __i = _Facet::id._M_id(); + if (__builtin_expect(__i >= __loc._M_impl->_M_facets_size,false)) + __throw_bad_cast(); + __locale_cache_base* __cache = __loc._M_impl->_M_get_cache(__i); + if (__builtin_expect(!__cache, false)) + { + __cache = new __locale_cache<_Facet>(__loc); + __loc._M_impl->_M_install_cache(__cache, __i); + } + return static_cast<const __locale_cache<_Facet>&>(*__cache); + } // Stage 1: Determine a conversion specifier. template<typename _CharT, typename _InIter> @@ -113,7 +130,7 @@ namespace std } // Next, strip leading zeros. - const char_type __zero = __ctype.widen(_S_atoms[_M_zero]); + const char_type __zero = __ctype.widen(_S_atoms_in[_M_zero]); bool __found_zero = false; while (__traits_type::eq(__c, __zero) && __beg != __end) { @@ -122,14 +139,14 @@ namespace std } if (__found_zero) { - __xtrc += _S_atoms[_M_zero]; + __xtrc += _S_atoms_in[_M_zero]; ++__pos; } // Only need acceptable digits for floating point numbers. const size_t __len = _M_E - _M_zero + 1; char_type __watoms[__len]; - __ctype.widen(_S_atoms, _S_atoms + __len, __watoms); + __ctype.widen(_S_atoms_in, _S_atoms_in + __len, __watoms); bool __found_dec = false; bool __found_sci = false; const char_type __dec = __np.decimal_point(); @@ -150,7 +167,7 @@ namespace std { // Try first for acceptable digit; record it if found. ++__pos; - __xtrc += _S_atoms[__p - __watoms]; + __xtrc += _S_atoms_in[__p - __watoms]; ++__sep_pos; __c = *(++__beg); } @@ -261,7 +278,7 @@ namespace std } // Next, strip leading zeros and check required digits for base formats. - const char_type __zero = __ctype.widen(_S_atoms[_M_zero]); + const char_type __zero = __ctype.widen(_S_atoms_in[_M_zero]); const char_type __x = __ctype.widen('x'); const char_type __X = __ctype.widen('X'); if (__base == 10) @@ -274,7 +291,7 @@ namespace std } if (__found_zero) { - __xtrc += _S_atoms[_M_zero]; + __xtrc += _S_atoms_in[_M_zero]; ++__pos; if (__basefield == 0) { @@ -296,7 +313,7 @@ namespace std { if (__traits_type::eq(__c, __zero) && __beg != __end) { - __xtrc += _S_atoms[_M_zero]; + __xtrc += _S_atoms_in[_M_zero]; ++__pos; __c = *(++__beg); if ((__traits_type::eq(__c, __x) || __traits_type::eq(__c, __X)) @@ -319,7 +336,7 @@ namespace std // Extract. char_type __watoms[_M_size]; - __ctype.widen(_S_atoms, _S_atoms + __len, __watoms); + __ctype.widen(_S_atoms_in, _S_atoms_in + __len, __watoms); string __found_grouping; const string __grouping = __np.grouping(); bool __check_grouping = __grouping.size(); @@ -333,7 +350,7 @@ namespace std if (__p && !__traits_type::eq(__c, char_type())) { // Try first for acceptable digit; record it if found. - __xtrc += _S_atoms[__p - __watoms]; + __xtrc += _S_atoms_in[__p - __watoms]; ++__pos; ++__sep_pos; __c = *(++__beg); @@ -606,14 +623,251 @@ namespace std return __beg; } - // The following code uses snprintf (or sprintf(), when _GLIBCPP_USE_C99 - // is not defined) to convert floating point values for insertion into a - // stream. An optimization would be to replace them with code that works - // directly on a wide buffer and then use __pad to do the padding. - // It would be good to replace them anyway to gain back the efficiency - // that C++ provides by knowing up front the type of the values to insert. - // Also, sprintf is dangerous since may lead to accidental buffer overruns. - // This implementation follows the C++ standard fairly directly as + // For use by integer and floating-point types after they have been + // converted into a char_type string. + template<typename _CharT, typename _OutIter> + void + num_put<_CharT, _OutIter>:: + _M_pad(_CharT __fill, streamsize __w, ios_base& __io, + _CharT* __new, const _CharT* __cs, int& __len) const + { + // [22.2.2.2.2] Stage 3. + // If necessary, pad. + __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs, + __w, __len, true); + __len = static_cast<int>(__w); + } + + // Forwarding functions to peel signed from unsigned integer types. + template<typename _CharT> + inline int + __int_to_char(_CharT* __out, const int __size, long __v, + const _CharT* __lit, ios_base::fmtflags __flags) + { + unsigned long __ul = static_cast<unsigned long>(__v); + bool __neg = false; + if (__v < 0) + { + __ul = -__ul; + __neg = true; + } + return __int_to_char(__out, __size, __ul, __lit, __flags, __neg); + } + + template<typename _CharT> + inline int + __int_to_char(_CharT* __out, const int __size, unsigned long __v, + const _CharT* __lit, ios_base::fmtflags __flags) + { return __int_to_char(__out, __size, __v, __lit, __flags, false); } + +#ifdef _GLIBCPP_USE_LONG_LONG + template<typename _CharT> + inline int + __int_to_char(_CharT* __out, const int __size, long long __v, + const _CharT* __lit, ios_base::fmtflags __flags) + { + unsigned long long __ull = static_cast<unsigned long long>(__v); + bool __neg = false; + if (__v < 0) + { + __ull = -__ull; + __neg = true; + } + return __int_to_char(__out, __size, __ull, __lit, __flags, __neg); + } + + template<typename _CharT> + inline int + __int_to_char(_CharT* __out, const int __size, unsigned long long __v, + const _CharT* __lit, ios_base::fmtflags __flags) + { return __int_to_char(__out, __size, __v, __lit, __flags, false); } +#endif + + template<typename _CharT, typename _ValueT> + int + __int_to_char(_CharT* __out, const int __size, _ValueT __v, + const _CharT* __lit, ios_base::fmtflags __flags, bool __neg) + { + // Don't write base if already 0. + const bool __showbase = (__flags & ios_base::showbase) && __v; + const ios_base::fmtflags __basefield = __flags & ios_base::basefield; + _CharT* __buf = __out + __size - 1; + _CharT* __bufend = __out + __size; + + if (__builtin_expect(__basefield != ios_base::oct && + __basefield != ios_base::hex, true)) + { + // Decimal. + do + { + *__buf-- = __lit[(__v % 10) + __num_base::_S_digits]; + __v /= 10; + } + while (__v != 0); + if (__neg) + *__buf-- = __lit[__num_base::_S_minus]; + else if (__flags & ios_base::showpos) + *__buf-- = __lit[__num_base::_S_plus]; + } + else if (__basefield == ios_base::oct) + { + // Octal. + do + { + *__buf-- = __lit[(__v & 0x7) + __num_base::_S_digits]; + __v >>= 3; + } + while (__v != 0); + if (__showbase) + *__buf-- = __lit[__num_base::_S_digits]; + } + else + { + // Hex. + const bool __uppercase = __flags & ios_base::uppercase; + int __case_offset = __uppercase + ? __num_base::_S_udigits : __num_base::_S_digits; + do + { + *__buf-- = __lit[(__v & 0xf) + __case_offset]; + __v >>= 4; + } + while (__v != 0); + if (__showbase) + { + // 'x' or 'X' + *__buf-- = __lit[__num_base::_S_x + __uppercase]; + // '0' + *__buf-- = __lit[__num_base::_S_digits]; + } + } + int __ret = __bufend - __buf - 1; + return __ret; + } + + template<typename _CharT, typename _OutIter> + void + num_put<_CharT, _OutIter>:: + _M_group_int(const string& __grouping, _CharT __sep, ios_base& __io, + _CharT* __new, _CharT* __cs, int& __len) const + { + // By itself __add_grouping cannot deal correctly with __ws when + // ios::showbase is set and ios_base::oct || ios_base::hex. + // Therefore we take care "by hand" of the initial 0, 0x or 0X. + // However, remember that the latter do not occur if the number + // printed is '0' (__len == 1). + streamsize __off = 0; + const ios_base::fmtflags __basefield = __io.flags() + & ios_base::basefield; + if ((__io.flags() & ios_base::showbase) && __len > 1) + if (__basefield == ios_base::oct) + { + __off = 1; + *__new = *__cs; + } + else if (__basefield == ios_base::hex) + { + __off = 2; + *__new = *__cs; + *(__new + 1) = *(__cs + 1); + } + _CharT* __p; + __p = __add_grouping(__new + __off, __sep, + __grouping.c_str(), + __grouping.c_str() + __grouping.size(), + __cs + __off, __cs + __len); + __len = __p - __new; + } + + template<typename _CharT, typename _OutIter> + template<typename _ValueT> + _OutIter + num_put<_CharT, _OutIter>:: + _M_convert_int(_OutIter __s, ios_base& __io, _CharT __fill, + _ValueT __v) const + { + typedef numpunct<_CharT> __facet_type; + typedef __locale_cache<numpunct<_CharT> > __cache_type; + const locale& __loc = __io._M_getloc(); + const __cache_type& __lc = __use_cache<__facet_type>(__loc); + const _CharT* __lit = __lc._M_atoms_out; + + // Long enough to hold hex, dec, and octal representations. + int __ilen = 4 * sizeof(_ValueT); + _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __ilen)); + // [22.2.2.2.2] Stage 1, numeric conversion to character. + // Result is returned right-justified in the buffer. + int __len; + __len = __int_to_char(&__cs[0], __ilen, __v, __lit, __io.flags()); + __cs = __cs + __ilen - __len; + + // Add grouping, if necessary. + _CharT* __cs2; + if (__lc._M_use_grouping) + { + // Grouping can add (almost) as many separators as the + // number of digits, but no more. + __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len * 2)); + _M_group_int(__lc._M_grouping, __lc._M_thousands_sep, __io, + __cs2, __cs, __len); + __cs = __cs2; + } + + // Pad. + _CharT* __cs3; + streamsize __w = __io.width(); + if (__w > static_cast<streamsize>(__len)) + { + __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __w)); + _M_pad(__fill, __w, __io, __cs3, __cs, __len); + __cs = __cs3; + } + __io.width(0); + + // [22.2.2.2.2] Stage 4. + // Write resulting, fully-formatted string to output iterator. + return __write(__s, __cs, __len); + } + + template<typename _CharT, typename _OutIter> + void + num_put<_CharT, _OutIter>:: + _M_group_float(const string& __grouping, _CharT __sep, const _CharT* __p, + _CharT* __new, _CharT* __cs, int& __len) const + { +#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS + //282. What types does numpunct grouping refer to? + // Add grouping, if necessary. + _CharT* __p2; + int __declen = __p ? __p - __cs : __len; + __p2 = __add_grouping(__new, __sep, + __grouping.c_str(), + __grouping.c_str() + __grouping.size(), + __cs, __cs + __declen); + + // Tack on decimal part. + int __newlen = __p2 - __new; + if (__p) + { + char_traits<_CharT>::copy(__p2, __p, __len - __declen); + __newlen += __len - __declen; + } + __len = __newlen; +#endif + } + + // The following code uses snprintf (or sprintf(), when + // _GLIBCPP_USE_C99 is not defined) to convert floating point values + // for insertion into a stream. An optimization would be to replace + // them with code that works directly on a wide buffer and then use + // __pad to do the padding. It would be good to replace them anyway + // to gain back the efficiency that C++ provides by knowing up front + // the type of the values to insert. Also, sprintf is dangerous + // since may lead to accidental buffer overruns. This + // implementation follows the C++ standard fairly directly as // outlined in 22.2.2.2 [lib.locale.num.put] template<typename _CharT, typename _OutIter> template<typename _ValueT> @@ -622,53 +876,55 @@ 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 - // we get the full available precision. - // 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). + // Note: digits10 is rounded down: add 1 to ensure the maximum + // available precision. 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(); + // Use default precision if out of range. + streamsize __prec = __io.precision(); if (__prec > static_cast<streamsize>(__max_digits)) __prec = static_cast<streamsize>(__max_digits); + else if (__prec < static_cast<streamsize>(0)) + __prec = static_cast<streamsize>(6); - // Long enough for the max format spec. - char __fbuf[16]; + typedef numpunct<_CharT> __facet_type; + typedef __locale_cache<numpunct<_CharT> > __cache_type; + const locale __loc = __io._M_getloc(); + const __cache_type& __lc = __use_cache<__facet_type>(__loc); // [22.2.2.2.2] Stage 1, numeric conversion to character. int __len; + // Long enough for the max format spec. + char __fbuf[16]; + #ifdef _GLIBCPP_USE_C99 - // First try a buffer perhaps big enough (for sure sufficient for - // non-ios_base::fixed outputs) + // First try a buffer perhaps big enough (for sure sufficient + // for non-ios_base::fixed outputs) int __cs_size = __max_digits * 3; char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); - const bool __fp = _S_format_float(__io, __fbuf, __mod, __prec); - if (__fp) - __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, - _S_c_locale, __prec); - else - __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, _S_c_locale); + _S_format_float(__io, __fbuf, __mod, __prec); + __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, + _S_c_locale, __prec); // If the buffer was not large enough, try again with the correct size. if (__len >= __cs_size) { __cs_size = __len + 1; __cs = static_cast<char*>(__builtin_alloca(__cs_size)); - if (__fp) - __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, - _S_c_locale, __prec); - else - __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, - _S_c_locale); + __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, + _S_c_locale, __prec); } #else // Consider the possibility of long ios_base::fixed outputs const bool __fixed = __io.flags() & ios_base::fixed; const int __max_exp = numeric_limits<_ValueT>::max_exponent10; + // ios_base::fixed outputs may need up to __max_exp+1 chars // for the integer part + up to __max_digits chars for the // fractional part + 3 chars for sign, decimal point, '\0'. On @@ -678,187 +934,53 @@ namespace std : __max_digits * 3; char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); - if (_S_format_float(__io, __fbuf, __mod, __prec)) - __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale, __prec); - else - __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale); + _S_format_float(__io, __fbuf, __mod, __prec); + __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale, __prec); #endif - return _M_widen_float(__s, __io, __fill, __cs, __len); - } - template<typename _CharT, typename _OutIter> - template<typename _ValueT> - _OutIter - num_put<_CharT, _OutIter>:: - _M_convert_int(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, - char __modl, _ValueT __v) const - { - // [22.2.2.2.2] Stage 1, numeric conversion to character. - - // Long enough for the max format spec. - char __fbuf[16]; - _S_format_int(__io, __fbuf, __mod, __modl); -#ifdef _GLIBCPP_USE_C99 - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); - int __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, - _S_c_locale); - // If the buffer was not large enough, try again with the correct size. - if (__len >= __cs_size) - { - __cs_size = __len + 1; - __cs = static_cast<char*>(__builtin_alloca(__cs_size)); - __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, - _S_c_locale); - } -#else - // Leave room for "+/-," "0x," and commas. This size is - // arbitrary, but should be largely sufficient. - char __cs[128]; - int __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale); -#endif - return _M_widen_int(__s, __io, __fill, __cs, __len); - } - - template<typename _CharT, typename _OutIter> - _OutIter - num_put<_CharT, _OutIter>:: - _M_widen_float(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs, - int __len) const - { - typedef char_traits<_CharT> __traits_type; // [22.2.2.2.2] Stage 2, convert to char_type, using correct // numpunct.decimal_point() values for '.' and adding grouping. - const locale __loc = __io.getloc(); const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); + _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len)); - // Grouping can add (almost) as many separators as the number of - // digits, but no more. - _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len * 2)); __ctype.widen(__cs, __cs + __len, __ws); // Replace decimal point. + const _CharT __cdec = __ctype.widen('.'); + const _CharT __dec = __lc._M_decimal_point; const _CharT* __p; - const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); - if (__p = __traits_type::find(__ws, __len, __ctype.widen('.'))) - __ws[__p - __ws] = __np.decimal_point(); + if (__p = char_traits<_CharT>::find(__ws, __len, __cdec)) + __ws[__p - __ws] = __dec; -#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS -//282. What types does numpunct grouping refer to? // Add grouping, if necessary. - const string __grouping = __np.grouping(); - ios_base::fmtflags __basefield = __io.flags() & ios_base::basefield; - if (__grouping.size()) + _CharT* __ws2; + if (__lc._M_use_grouping) { - _CharT* __p2; - int __declen = __p ? __p - __ws : __len; - __p2 = __add_grouping(__ws2, __np.thousands_sep(), - __grouping.c_str(), - __grouping.c_str() + __grouping.size(), - __ws, __ws + __declen); - int __newlen = __p2 - __ws2; - - // Tack on decimal part. - if (__p) - { - __traits_type::copy(__p2, __p, __len - __declen); - __newlen += __len - __declen; - } - - // Switch strings, establish correct new length. - __ws = __ws2; - __len = __newlen; + // Grouping can add (almost) as many separators as the + // number of digits, but no more. + __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len * 2)); + _M_group_float(__lc._M_grouping, __lc._M_thousands_sep, __p, + __ws2, __ws, __len); + __ws = __ws2; } -#endif - return _M_insert(__s, __io, __fill, __ws, __len); - } - template<typename _CharT, typename _OutIter> - _OutIter - num_put<_CharT, _OutIter>:: - _M_widen_int(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs, - int __len) const - { - // [22.2.2.2.2] Stage 2, convert to char_type, using correct - // numpunct.decimal_point() values for '.' and adding grouping. - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); - _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len)); - // Grouping can add (almost) as many separators as the number of - // digits, but no more. - _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __len * 2)); - __ctype.widen(__cs, __cs + __len, __ws); - - // Add grouping, if necessary. - const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); - const string __grouping = __np.grouping(); - const ios_base::fmtflags __basefield = __io.flags() & ios_base::basefield; - if (__grouping.size()) - { - // By itself __add_grouping cannot deal correctly with __ws when - // ios::showbase is set and ios_base::oct || ios_base::hex. - // Therefore we take care "by hand" of the initial 0, 0x or 0X. - // However, remember that the latter do not occur if the number - // printed is '0' (__len == 1). - streamsize __off = 0; - if ((__io.flags() & ios_base::showbase) && __len > 1) - if (__basefield == ios_base::oct) - { - __off = 1; - *__ws2 = *__ws; - } - else if (__basefield == ios_base::hex) - { - __off = 2; - *__ws2 = *__ws; - *(__ws2 + 1) = *(__ws + 1); - } - _CharT* __p; - __p = __add_grouping(__ws2 + __off, __np.thousands_sep(), - __grouping.c_str(), - __grouping.c_str() + __grouping.size(), - __ws + __off, __ws + __len); - __len = __p - __ws2; - // Switch strings. - __ws = __ws2; - } - return _M_insert(__s, __io, __fill, __ws, __len); - } - - // For use by integer and floating-point types after they have been - // converted into a char_type string. - template<typename _CharT, typename _OutIter> - _OutIter - num_put<_CharT, _OutIter>:: - _M_insert(_OutIter __s, ios_base& __io, _CharT __fill, const _CharT* __ws, - int __len) const - { - typedef char_traits<_CharT> __traits_type; - // [22.2.2.2.2] Stage 3. + // Pad. + _CharT* __ws3; streamsize __w = __io.width(); - _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) - * __w)); if (__w > static_cast<streamsize>(__len)) { - __pad<_CharT, __traits_type>::_S_pad(__io, __fill, __ws2, __ws, - __w, __len, true); - __len = static_cast<int>(__w); - // Switch strings. - __ws = __ws2; + __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); + _M_pad(__fill, __w, __io, __ws3, __ws, __len); + __ws = __ws3; } __io.width(0); - + // [22.2.2.2.2] Stage 4. // Write resulting, fully-formatted string to output iterator. - for (int __j = 0; __j < __len; ++__j, ++__s) - *__s = __ws[__j]; - return __s; - } + return __write(__s, __ws, __len); + } template<typename _CharT, typename _OutIter> _OutIter @@ -869,19 +991,35 @@ namespace std if ((__flags & ios_base::boolalpha) == 0) { unsigned long __uv = __v; - __s = _M_convert_int(__s, __io, __fill, 'u', char(), __uv); + __s = _M_convert_int(__s, __io, __fill, __uv); } else { - typedef basic_string<_CharT> __string_type; - locale __loc = __io.getloc(); - const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); + typedef numpunct<_CharT> __facet_type; + typedef __locale_cache<numpunct<_CharT> > __cache_type; + const locale __loc = __io._M_getloc(); + const __cache_type& __lc = __use_cache<__facet_type>(__loc); + + typedef basic_string<_CharT> __string_type; __string_type __name; if (__v) - __name = __np.truename(); + __name = __lc._M_truename; else - __name = __np.falsename(); - __s = _M_insert(__s, __io, __fill, __name.c_str(), __name.size()); + __name = __lc._M_falsename; + + const _CharT* __cs = __name.c_str(); + int __len = __name.size(); + _CharT* __cs3; + streamsize __w = __io.width(); + if (__w > static_cast<streamsize>(__len)) + { + __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __w)); + _M_pad(__fill, __w, __io, __cs3, __cs, __len); + __cs = __cs3; + } + __io.width(0); + __s = __write(__s, __cs, __len); } return __s; } @@ -890,28 +1028,28 @@ namespace std _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const - { return _M_convert_int(__s, __io, __fill, 'd', char(), __v); } + { return _M_convert_int(__s, __io, __fill, __v); } template<typename _CharT, typename _OutIter> _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long __v) const - { return _M_convert_int(__s, __io, __fill, 'u', char(), __v); } + { return _M_convert_int(__s, __io, __fill, __v); } #ifdef _GLIBCPP_USE_LONG_LONG template<typename _CharT, typename _OutIter> _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __b, char_type __fill, long long __v) const - { return _M_convert_int(__s, __b, __fill, 'd', 'l', __v); } + { return _M_convert_int(__s, __b, __fill, __v); } template<typename _CharT, typename _OutIter> _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long long __v) const - { return _M_convert_int(__s, __io, __fill, 'u', 'l', __v); } + { return _M_convert_int(__s, __io, __fill, __v); } #endif template<typename _CharT, typename _OutIter> @@ -939,7 +1077,7 @@ namespace std __io.flags(__flags & __fmt | (ios_base::hex | ios_base::showbase)); try { - __s = _M_convert_int(__s, __io, __fill, 'u', char(), + __s = _M_convert_int(__s, __io, __fill, reinterpret_cast<unsigned long>(__v)); __io.flags(__flags); } @@ -1196,7 +1334,8 @@ namespace std char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); int __len = __convert_from_v(__cs, 0, "%.01Lf", __units, _S_c_locale); #endif - _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __cs_size)); + _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __cs_size)); __ctype.widen(__cs, __cs + __len, __ws); string_type __digits(__ws); return this->do_put(__s, __intl, __io, __fill, __digits); @@ -1290,7 +1429,7 @@ namespace std const char* __gend = __gbeg + __grouping.size(); const int __n = (__end - __beg) * 2; _CharT* __ws2 = - static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __n)); + static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __n)); _CharT* __ws_end = __add_grouping(__ws2, __sep, __gbeg, __gend, __beg, __end); __value.insert(0, __ws2, __ws_end - __ws2); @@ -1359,8 +1498,7 @@ namespace std } // Write resulting, fully-formatted string to output iterator. - for (size_type __j = 0; __j < __len; ++__j, ++__s) - *__s = __res[__j]; + __s = __write(__s, __res.c_str(), __len); } __io.width(0); return __s; @@ -1616,7 +1754,8 @@ namespace std ios_base::iostate& __err) const { typedef char_traits<_CharT> __traits_type; - int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int) * __indexlen)); + int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int) + * __indexlen)); size_t __nmatches = 0; size_t __pos = 0; bool __testvalid = true; @@ -1628,7 +1767,7 @@ namespace std if (__c == __names[__i1][0]) __matches[__nmatches++] = __i1; - while(__nmatches > 1) + while (__nmatches > 1) { // Find smallest matching string. size_t __minlen = 10; @@ -1853,8 +1992,7 @@ namespace std } else __format = __c; - __s = this->do_put(__s, __io, char_type(), __tm, __format, - __mod); + __s = this->do_put(__s, __io, _CharT(), __tm, __format, __mod); } else { @@ -1878,8 +2016,7 @@ namespace std // NB: This size is arbitrary. Should this be a data member, // initialized at construction? const size_t __maxlen = 64; - char_type* __res = - static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen)); + char_type* __res = static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen)); // NB: In IEE 1003.1-200x, and perhaps other locale models, it // is possible that the format character will be longer than one @@ -1903,10 +2040,7 @@ namespace std __tp._M_put(__res, __maxlen, __fmt, __tm); // Write resulting, fully-formatted string to output iterator. - size_t __len = char_traits<char_type>::length(__res); - for (size_t __i = 0; __i < __len; ++__i, ++__s) - *__s = __res[__i]; - return __s; + return __write(__s, __res, char_traits<char_type>::length(__res)); } @@ -1928,9 +2062,37 @@ namespace std do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { + // strcoll assumes zero-terminated strings so we make a copy + // and then put a zero at the end. const string_type __one(__lo1, __hi1); const string_type __two(__lo2, __hi2); - return _M_compare(__one.c_str(), __two.c_str()); + + const _CharT* __p = __one.c_str(); + const _CharT* __pend = __one.c_str() + __one.length(); + const _CharT* __q = __two.c_str(); + const _CharT* __qend = __two.c_str() + __two.length(); + + // strcoll stops when it sees a nul character so we break + // the strings into zero-terminated substrings and pass those + // to strcoll. + for (;;) + { + int __res = _M_compare(__p, __q); + if (__res) + return __res; + + __p += char_traits<_CharT>::length(__p); + __q += char_traits<_CharT>::length(__q); + if (__p == __pend && __q == __qend) + return 0; + else if (__p == __pend) + return -1; + else if (__q == __qend) + return 1; + + __p++; + __q++; + } } template<typename _CharT> @@ -1938,19 +2100,43 @@ namespace std collate<_CharT>:: do_transform(const _CharT* __lo, const _CharT* __hi) const { + // strxfrm assumes zero-terminated strings so we make a copy + string_type __str(__lo, __hi); + + const _CharT* __p = __str.c_str(); + const _CharT* __pend = __str.c_str() + __str.length(); + size_t __len = (__hi - __lo) * 2; - // First try a buffer perhaps big enough. - _CharT* __c = - static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len)); - size_t __res = _M_transform(__c, __lo, __len); - // If the buffer was not large enough, try again with the correct size. - if (__res >= __len) + + string_type __ret; + + // strxfrm stops when it sees a nul character so we break + // the string into zero-terminated substrings and pass those + // to strxfrm. + for (;;) { - __c = - static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__res + 1))); - _M_transform(__c, __lo, __res + 1); + // First try a buffer perhaps big enough. + _CharT* __c = + static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len)); + size_t __res = _M_transform(__c, __p, __len); + // If the buffer was not large enough, try again with the + // correct size. + if (__res >= __len) + { + __len = __res + 1; + __c = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len)); + __res = _M_transform(__c, __p, __res + 1); + } + + __ret.append(__c, __res); + __p += char_traits<_CharT>::length(__p); + if (__p == __pend) + return __ret; + + __p++; + __ret.push_back(_CharT()); } - return string_type(__c); } template<typename _CharT> @@ -1965,22 +2151,6 @@ namespace std return static_cast<long>(__val); } - // Convert string to numeric value of type _Tv and store results. - // NB: This is specialized for all required types, there is no - // generic definition. - template<typename _Tv> - void - __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err, - const __c_locale& __cloc, int __base = 10); - - // Convert numeric value of type _Tv to string and return length of string. - // If snprintf is available use it, otherwise fall back to the unsafe sprintf - // which, in general, can be dangerous and should be avoided. - template<typename _Tv> - int - __convert_from_v(char* __out, const int __size, const char* __fmt, - _Tv __v, const __c_locale&, int __prec = -1); - // Construct correctly padded string, as per 22.2.2.2.2 // Assumes // __newlen > __oldlen @@ -1993,15 +2163,6 @@ namespace std // NB: Of the two parameters, _CharT can be deduced from the // function arguments. The other (_Traits) has to be explicitly specified. template<typename _CharT, typename _Traits> - struct __pad - { - static void - _S_pad(ios_base& __io, _CharT __fill, _CharT* __news, - const _CharT* __olds, const streamsize __newlen, - const streamsize __oldlen, const bool __num); - }; - - template<typename _CharT, typename _Traits> void __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, @@ -2009,7 +2170,8 @@ namespace std const streamsize __oldlen, const bool __num) { size_t __plen = static_cast<size_t>(__newlen - __oldlen); - _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __plen)); + _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __plen)); _Traits::assign(__pads, __plen, __fill); _CharT* __beg; @@ -2079,14 +2241,6 @@ namespace std __newlen - __beglen - __mod); } - // Used by both numeric and monetary facets. - // Check to make sure that the __grouping_tmp string constructed in - // money_get or num_get matches the canonical grouping for a given - // locale. - // __grouping_tmp is parsed L to R - // 1,222,444 == __grouping_tmp of "/1/3/3" - // __grouping is parsed R to L - // 1,222,444 == __grouping of "/3" == "/3/3/3" template<typename _CharT> bool __verify_grouping(const basic_string<_CharT>& __grouping, @@ -2111,11 +2265,6 @@ namespace std return __test; } - // Used by both numeric and monetary facets. - // Inserts "group separator" characters into an array of characters. - // It's recursive, one iteration per group. It moves the characters - // in the buffer this way: "xxxx12345" -> "12,345xxx". Call this - // only with __gbeg != __gend. template<typename _CharT> _CharT* __add_grouping(_CharT* __s, _CharT __sep, @@ -2136,9 +2285,249 @@ namespace std return __s; } +#if 1 + // XXX GLIBCXX_ABI Deprecated, compatibility only. + template<typename _CharT, typename _OutIter> + template<typename _ValueT> + _OutIter + num_put<_CharT, _OutIter>:: + _M_convert_int(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, + char __modl, _ValueT __v) const + { + // [22.2.2.2.2] Stage 1, numeric conversion to character. + + // Long enough for the max format spec. + char __fbuf[16]; + _S_format_int(__io, __fbuf, __mod, __modl); +#ifdef _GLIBCPP_USE_C99 + // First try a buffer perhaps big enough. + int __cs_size = 64; + char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); + int __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, + _S_c_locale); + // If the buffer was not large enough, try again with the correct size. + if (__len >= __cs_size) + { + __cs_size = __len + 1; + __cs = static_cast<char*>(__builtin_alloca(__cs_size)); + __len = __convert_from_v(__cs, __cs_size, __fbuf, __v, + _S_c_locale); + } +#else + // Leave room for "+/-," "0x," and commas. This size is + // arbitrary, but should be largely sufficient. + char __cs[128]; + int __len = __convert_from_v(__cs, 0, __fbuf, __v, _S_c_locale); +#endif + return _M_widen_int(__s, __io, __fill, __cs, __len); + } + + template<typename _CharT, typename _OutIter> + _OutIter + num_put<_CharT, _OutIter>:: + _M_widen_float(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs, + int __len) const + { + typedef char_traits<_CharT> __traits_type; + // [22.2.2.2.2] Stage 2, convert to char_type, using correct + // numpunct.decimal_point() values for '.' and adding grouping. + const locale __loc = __io.getloc(); + const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); + _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len)); + // Grouping can add (almost) as many separators as the number of + // digits, but no more. + _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len * 2)); + __ctype.widen(__cs, __cs + __len, __ws); + + // Replace decimal point. + const _CharT* __p; + const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); + if (__p = __traits_type::find(__ws, __len, __ctype.widen('.'))) + __ws[__p - __ws] = __np.decimal_point(); + +#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS +//282. What types does numpunct grouping refer to? + // Add grouping, if necessary. + const string __grouping = __np.grouping(); + if (__grouping.size()) + { + _CharT* __p2; + int __declen = __p ? __p - __ws : __len; + __p2 = __add_grouping(__ws2, __np.thousands_sep(), + __grouping.c_str(), + __grouping.c_str() + __grouping.size(), + __ws, __ws + __declen); + int __newlen = __p2 - __ws2; + + // Tack on decimal part. + if (__p) + { + __traits_type::copy(__p2, __p, __len - __declen); + __newlen += __len - __declen; + } + + // Switch strings, establish correct new length. + __ws = __ws2; + __len = __newlen; + } +#endif + return _M_insert(__s, __io, __fill, __ws, __len); + } + + template<typename _CharT, typename _OutIter> + _OutIter + num_put<_CharT, _OutIter>:: + _M_widen_int(_OutIter __s, ios_base& __io, _CharT __fill, char* __cs, + int __len) const + { + // [22.2.2.2.2] Stage 2, convert to char_type, using correct + // numpunct.decimal_point() values for '.' and adding grouping. + const locale __loc = __io.getloc(); + const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); + _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len)); + // Grouping can add (almost) as many separators as the number of + // digits, but no more. + _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __len * 2)); + __ctype.widen(__cs, __cs + __len, __ws); + + // Add grouping, if necessary. + const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); + const string __grouping = __np.grouping(); + if (__grouping.size()) + { + // By itself __add_grouping cannot deal correctly with __ws when + // ios::showbase is set and ios_base::oct || ios_base::hex. + // Therefore we take care "by hand" of the initial 0, 0x or 0X. + // However, remember that the latter do not occur if the number + // printed is '0' (__len == 1). + streamsize __off = 0; + const ios_base::fmtflags __basefield = __io.flags() + & ios_base::basefield; + if ((__io.flags() & ios_base::showbase) && __len > 1) + if (__basefield == ios_base::oct) + { + __off = 1; + *__ws2 = *__ws; + } + else if (__basefield == ios_base::hex) + { + __off = 2; + *__ws2 = *__ws; + *(__ws2 + 1) = *(__ws + 1); + } + _CharT* __p; + __p = __add_grouping(__ws2 + __off, __np.thousands_sep(), + __grouping.c_str(), + __grouping.c_str() + __grouping.size(), + __ws + __off, __ws + __len); + __len = __p - __ws2; + // Switch strings. + __ws = __ws2; + } + return _M_insert(__s, __io, __fill, __ws, __len); + } + + // For use by integer and floating-point types after they have been + // converted into a char_type string. + template<typename _CharT, typename _OutIter> + _OutIter + num_put<_CharT, _OutIter>:: + _M_insert(_OutIter __s, ios_base& __io, _CharT __fill, const _CharT* __ws, + int __len) const + { + typedef char_traits<_CharT> __traits_type; + // [22.2.2.2.2] Stage 3. + // If necessary, pad. + streamsize __w = __io.width(); + _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __w)); + if (__w > static_cast<streamsize>(__len)) + { + __pad<_CharT, __traits_type>::_S_pad(__io, __fill, __ws2, __ws, + __w, __len, true); + __len = static_cast<int>(__w); + // Switch strings. + __ws = __ws2; + } + __io.width(0); + + // [22.2.2.2.2] Stage 4. + // Write resulting, fully-formatted string to output iterator. + return __write(__s, __ws, __len); + } +#endif + + template<typename _CharT> + __locale_cache<numpunct<_CharT> >::__locale_cache(const locale& __loc) + : _M_truename(0), _M_falsename(0), _M_use_grouping(false), + _M_grouping(0) + { + if (has_facet<numpunct<_CharT> >(__loc)) + { + const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); + _M_decimal_point = __np.decimal_point(); + _M_thousands_sep = __np.thousands_sep(); + + string_type __false = __np.falsename(); + _CharT* __falsename = new _CharT[__false.length() + 1]; + __false.copy(__falsename, __false.length()); + __falsename[__false.length()] = _CharT(); + _M_falsename = __falsename; + + string_type __true = __np.truename(); + _CharT* __truename = new _CharT[__true.length() + 1]; + __true.copy(__truename, __true.length()); + __truename[__true.length()] = _CharT(); + _M_truename = __truename; + + string __grouping = __np.grouping(); + char* __group = new char[__grouping.length() + 1]; + __grouping.copy(__group, __grouping.length()); + __group[__grouping.length()] = 0; + _M_grouping = __group; + + _M_use_grouping = __grouping.length() != 0 + && __grouping.data()[0] != 0; + } + + if (has_facet<ctype<_CharT> >(__loc)) + { + const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc); + __ct.widen(__num_base::_S_atoms_out, + __num_base::_S_atoms_out + __num_base::_S_end, + _M_atoms_out); + } + } + + // Static locale cache initialization. Only instantiated with char + // and wchar_t, so no need to check has_facet. + template<typename _CharT> + __locale_cache<numpunct<_CharT> >:: + __locale_cache(const locale& __loc, bool) + { + // Grab pointers to numpunct static strings + const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc); + _M_thousands_sep = __np._M_thousands_sep; + _M_decimal_point = __np._M_decimal_point; + _M_falsename = __np._M_falsename; + _M_truename = __np._M_truename; + _M_grouping = __np._M_grouping; + _M_use_grouping = false; + + const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc); + __ct.widen(__num_base::_S_atoms_out, + __num_base::_S_atoms_out + __num_base::_S_end, + _M_atoms_out); + } + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class moneypunct<char, false>; extern template class moneypunct<char, true>; extern template class moneypunct_byname<char, false>; @@ -2392,6 +2781,7 @@ namespace std bool has_facet<messages<wchar_t> >(const locale&); #endif +#endif } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/localefwd.h b/contrib/libstdc++/include/bits/localefwd.h index dedc764..ac9e1a9 100644 --- a/contrib/libstdc++/include/bits/localefwd.h +++ b/contrib/libstdc++/include/bits/localefwd.h @@ -1,6 +1,6 @@ // Locale support -*- 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 @@ -37,18 +37,15 @@ * You should not attempt to use it directly. */ -#ifndef _CPP_BITS_LOCCORE_H -#define _CPP_BITS_LOCCORE_H 1 +#ifndef _CPP_BITS_LOCALE_FWD_H +#define _CPP_BITS_LOCALE_FWD_H 1 #pragma GCC system_header #include <bits/c++config.h> #include <bits/c++locale.h> // Defines __c_locale, config-specific includes -#include <climits> // For CHAR_BIT -#include <cctype> // For isspace, etc. -#include <string> // For string. +#include <iosfwd> // For ostreambuf_iterator, istreambuf_iterator #include <bits/functexcept.h> -#include <bits/atomicity.h> namespace std { @@ -108,7 +105,6 @@ namespace std inline _CharT tolower(_CharT, const locale&); - // 22.2.1 and 22.2.1.3 ctype class ctype_base; template<typename _CharT> @@ -175,327 +171,6 @@ namespace std template<typename _CharT> class messages_byname; - // 22.1.1 Class locale - class locale - { - public: - // Types: - typedef unsigned int category; - - // Forward decls and friends: - class facet; - class id; - class _Impl; - - friend class facet; - friend class _Impl; - - template<typename _Facet> - friend const _Facet& - use_facet(const locale&); - - template<typename _Facet> - friend bool - has_facet(const locale&) throw(); - - // Category values: - // NB: Order must match _S_facet_categories definition in locale.cc - static const category none = 0; - static const category ctype = 1L << 0; - static const category numeric = 1L << 1; - static const category collate = 1L << 2; - static const category time = 1L << 3; - static const category monetary = 1L << 4; - static const category messages = 1L << 5; - static const category all = (ctype | numeric | collate | - time | monetary | messages); - - // Construct/copy/destroy: - locale() throw(); - - locale(const locale& __other) throw(); - - explicit - locale(const char* __s); - - locale(const locale& __base, const char* __s, category __cat); - - locale(const locale& __base, const locale& __add, category __cat); - - template<typename _Facet> - locale(const locale& __other, _Facet* __f); - - ~locale() throw(); - - const locale& - operator=(const locale& __other) throw(); - - template<typename _Facet> - locale - combine(const locale& __other) const; - - // Locale operations: - string - name() const; - - bool - operator==(const locale& __other) const throw (); - - inline bool - operator!=(const locale& __other) const throw () - { return !(this->operator==(__other)); } - - template<typename _Char, typename _Traits, typename _Alloc> - bool - operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, - const basic_string<_Char, _Traits, _Alloc>& __s2) const; - - // Global locale objects: - static locale - global(const locale&); - - static const locale& - classic(); - - private: - // The (shared) implementation - _Impl* _M_impl; - - // The "C" reference locale - static _Impl* _S_classic; - - // Current global locale - static _Impl* _S_global; - - // Number of standard categories. For C++, these categories are - // collate, ctype, monetary, numeric, time, and messages. These - // directly correspond to ISO C99 macros LC_COLLATE, LC_CTYPE, - // LC_MONETARY, LC_NUMERIC, and LC_TIME. In addition, POSIX (IEEE - // 1003.1-2001) specifies LC_MESSAGES. - static const size_t _S_categories_size = 6; - - // In addition to the standard categories, the underlying - // operating system is allowed to define extra LC_* - // macros. For GNU systems, the following are also valid: - // LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT, - // and LC_IDENTIFICATION. - static const size_t _S_extra_categories_size = _GLIBCPP_NUM_CATEGORIES; - - // Names of underlying locale categories. - // NB: locale::global() has to know how to modify all the - // underlying categories, not just the ones required by the C++ - // standard. - static const char* _S_categories[_S_categories_size - + _S_extra_categories_size]; - - explicit - locale(_Impl*) throw(); - - static inline void - _S_initialize() - { - if (!_S_classic) - classic(); - } - - static category - _S_normalize_category(category); - - void - _M_coalesce(const locale& __base, const locale& __add, category __cat); - }; - - - // Implementation object for locale - class locale::_Impl - { - public: - // Friends. - friend class locale; - friend class locale::facet; - - template<typename _Facet> - friend const _Facet& - use_facet(const locale&); - - template<typename _Facet> - friend bool - has_facet(const locale&) throw(); - - private: - // Data Members. - _Atomic_word _M_references; - facet** _M_facets; - size_t _M_facets_size; - - char* _M_names[_S_categories_size - + _S_extra_categories_size]; - static const locale::id* const _S_id_ctype[]; - static const locale::id* const _S_id_numeric[]; - static const locale::id* const _S_id_collate[]; - static const locale::id* const _S_id_time[]; - static const locale::id* const _S_id_monetary[]; - static const locale::id* const _S_id_messages[]; - static const locale::id* const* const _S_facet_categories[]; - - inline void - _M_add_reference() throw() - { __atomic_add(&_M_references, 1); } - - inline void - _M_remove_reference() throw() - { - if (__exchange_and_add(&_M_references, -1) == 1) - { - try - { delete this; } - catch(...) - { } - } - } - - _Impl(const _Impl&, size_t); - _Impl(const char*, size_t); - _Impl(facet**, size_t, bool); - - ~_Impl() throw(); - - _Impl(const _Impl&); // Not defined. - - void - operator=(const _Impl&); // Not defined. - - inline bool - _M_check_same_name() - { - bool __ret = true; - for (size_t __i = 0; - __ret && __i < _S_categories_size + _S_extra_categories_size - 1; - ++__i) - __ret &= (strcmp(_M_names[__i], _M_names[__i + 1]) == 0); - return __ret; - } - - void - _M_replace_categories(const _Impl*, category); - - void - _M_replace_category(const _Impl*, const locale::id* const*); - - void - _M_replace_facet(const _Impl*, const locale::id*); - - void - _M_install_facet(const locale::id*, facet*); - - template<typename _Facet> - inline void - _M_init_facet(_Facet* __facet) - { _M_install_facet(&_Facet::id, __facet); } - }; - - template<typename _Facet> - locale::locale(const locale& __other, _Facet* __f) - { - _M_impl = new _Impl(*__other._M_impl, 1); - _M_impl->_M_install_facet(&_Facet::id, __f); - for (size_t __i = 0; - __i < _S_categories_size + _S_extra_categories_size; ++__i) - { - delete [] _M_impl->_M_names[__i]; - char* __new = new char[2]; - strcpy(__new, "*"); - _M_impl->_M_names[__i] = __new; - } - } - - // 22.1.1.1.2 Class locale::facet - class locale::facet - { - private: - friend class locale; - friend class locale::_Impl; - - _Atomic_word _M_references; - - protected: - // 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(); - - virtual - ~facet(); - - static void - _S_create_c_locale(__c_locale& __cloc, const char* __s, - __c_locale __old = 0); - - static __c_locale - _S_clone_c_locale(__c_locale& __cloc); - - static void - _S_destroy_c_locale(__c_locale& __cloc); - - private: - void - _M_add_reference() throw(); - - void - _M_remove_reference() throw(); - - facet(const facet&); // Not defined. - - void - operator=(const facet&); // Not defined. - }; - - - // 22.1.1.1.3 Class locale::id - class locale::id - { - private: - friend class locale; - friend class locale::_Impl; - template<typename _Facet> - friend const _Facet& - use_facet(const locale&); - template<typename _Facet> - friend bool - has_facet(const locale&) throw (); - - // NB: There is no accessor for _M_index because it may be used - // before the constructor is run; the effect of calling a member - // function (even an inline) would be undefined. - mutable size_t _M_index; - - // Last id number assigned. - static _Atomic_word _S_highwater; - - void - operator=(const id&); // Not defined. - - id(const id&); // Not defined. - - public: - // NB: This class is always a static data member, and thus can be - // counted on to be zero-initialized. - id(); - - inline size_t - _M_id() const - { - if (!_M_index) - _M_index = 1 + __exchange_and_add(&_S_highwater, 1); - return _M_index - 1; - } - }; - template<typename _Facet> const _Facet& use_facet(const locale& __loc); diff --git a/contrib/libstdc++/include/bits/mask_array.h b/contrib/libstdc++/include/bits/mask_array.h index 13c01d3..df23a46 100644 --- a/contrib/libstdc++/include/bits/mask_array.h +++ b/contrib/libstdc++/include/bits/mask_array.h @@ -1,6 +1,7 @@ // The template and inlines for the -*- C++ -*- mask_array class. -// Copyright (C) 1997-2001 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -41,120 +42,119 @@ namespace std { - template <class _Tp> class mask_array + template <class _Tp> + class mask_array { public: - typedef _Tp value_type; + typedef _Tp value_type; - void operator= (const valarray<_Tp>&) const; - void operator*= (const valarray<_Tp>&) const; - void operator/= (const valarray<_Tp>&) const; - void operator%= (const valarray<_Tp>&) const; - void operator+= (const valarray<_Tp>&) const; - void operator-= (const valarray<_Tp>&) const; - void operator^= (const valarray<_Tp>&) const; - void operator&= (const valarray<_Tp>&) const; - void operator|= (const valarray<_Tp>&) const; - void operator<<=(const valarray<_Tp>&) const; - void operator>>=(const valarray<_Tp>&) const; - void operator= (const _Tp&); + void operator=(const valarray<_Tp>&) const; + void operator*=(const valarray<_Tp>&) const; + void operator/=(const valarray<_Tp>&) const; + void operator%=(const valarray<_Tp>&) const; + void operator+=(const valarray<_Tp>&) const; + void operator-=(const valarray<_Tp>&) const; + void operator^=(const valarray<_Tp>&) const; + void operator&=(const valarray<_Tp>&) const; + void operator|=(const valarray<_Tp>&) const; + void operator<<=(const valarray<_Tp>&) const; + void operator>>=(const valarray<_Tp>&) const; + void operator=(const _Tp&) const; // ~mask_array (); - template<class _Dom> - void operator= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator*= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator/= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator%= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator+= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator-= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator^= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator&= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator|= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> + template<class _Dom> + void operator=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator*=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator/=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator%=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator+=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator-=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator^=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator&=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator|=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> void operator<<=(const _Expr<_Dom,_Tp>&) const; - template<class _Dom> + template<class _Dom> void operator>>=(const _Expr<_Dom,_Tp>&) const; private: - mask_array (_Array<_Tp>, size_t, _Array<bool>); - friend class valarray<_Tp>; + mask_array(_Array<_Tp>, size_t, _Array<bool>); + friend class valarray<_Tp>; - const size_t _M_sz; - const _Array<bool> _M_mask; - const _Array<_Tp> _M_array; - - mask_array (const mask_array&); - - // not implemented - mask_array (); - mask_array& operator= (const mask_array&); + const size_t _M_sz; + const _Array<bool> _M_mask; + const _Array<_Tp> _M_array; + + mask_array (const mask_array&); + + // not implemented + mask_array(); + mask_array& operator=(const mask_array&); }; - template<typename _Tp> - inline mask_array<_Tp>::mask_array (const mask_array<_Tp>& a) - : _M_sz (a._M_sz), _M_mask (a._M_mask), _M_array (a._M_array) {} + template<typename _Tp> + inline mask_array<_Tp>::mask_array(const mask_array<_Tp>& a) + : _M_sz(a._M_sz), _M_mask(a._M_mask), _M_array(a._M_array) {} - template<typename _Tp> + template<typename _Tp> inline - mask_array<_Tp>::mask_array (_Array<_Tp> __a, size_t __s, _Array<bool> __m) - : _M_sz (__s), _M_mask (__m), _M_array (__a) {} + mask_array<_Tp>::mask_array(_Array<_Tp> __a, size_t __s, _Array<bool> __m) + : _M_sz(__s), _M_mask(__m), _M_array(__a) {} - // template<typename _Tp> - // inline mask_array<_Tp>::~mask_array () {} - - template<typename _Tp> + template<typename _Tp> inline void - mask_array<_Tp>::operator= (const _Tp& __t) - { __valarray_fill (_M_array, _M_sz, _M_mask, __t); } + mask_array<_Tp>::operator=(const _Tp& __t) const + { __valarray_fill(_M_array, _M_sz, _M_mask, __t); } - template<typename _Tp> + template<typename _Tp> inline void - mask_array<_Tp>::operator= (const valarray<_Tp>& __v) const - { __valarray_copy (_Array<_Tp> (__v), __v.size (), _M_array, _M_mask); } + mask_array<_Tp>::operator=(const valarray<_Tp>& __v) const + { __valarray_copy(_Array<_Tp>(__v), __v.size(), _M_array, _M_mask); } - template<typename _Tp> - template<class E> - inline void - mask_array<_Tp>::operator= (const _Expr<E, _Tp>& __e) const - { __valarray_copy (__e, __e.size (), _M_array, _M_mask); } + template<typename _Tp> + template<class _Ex> + inline void + mask_array<_Tp>::operator=(const _Expr<_Ex, _Tp>& __e) const + { __valarray_copy(__e, __e.size(), _M_array, _M_mask); } #undef _DEFINE_VALARRAY_OPERATOR -#define _DEFINE_VALARRAY_OPERATOR(op, name) \ -template<typename _Tp> \ -inline void \ -mask_array<_Tp>::operator op##= (const valarray<_Tp>& __v) const \ -{ \ - _Array_augmented_##name (_M_array, _M_mask, \ - _Array<_Tp> (__v), __v.size ()); \ -} \ +#define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \ + template<typename _Tp> \ + inline void \ + mask_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const \ + { \ + _Array_augmented_##_Name(_M_array, _M_mask, \ + _Array<_Tp>(__v), __v.size()); \ + } \ \ -template<typename _Tp> template<class E> \ -inline void \ -mask_array<_Tp>::operator op##= (const _Expr<E, _Tp>& __e) const \ -{ \ - _Array_augmented_##name (_M_array, _M_mask, __e, __e.size ()); \ -} - -_DEFINE_VALARRAY_OPERATOR(*, multiplies) -_DEFINE_VALARRAY_OPERATOR(/, divides) -_DEFINE_VALARRAY_OPERATOR(%, modulus) -_DEFINE_VALARRAY_OPERATOR(+, plus) -_DEFINE_VALARRAY_OPERATOR(-, minus) -_DEFINE_VALARRAY_OPERATOR(^, xor) -_DEFINE_VALARRAY_OPERATOR(&, and) -_DEFINE_VALARRAY_OPERATOR(|, or) -_DEFINE_VALARRAY_OPERATOR(<<, shift_left) -_DEFINE_VALARRAY_OPERATOR(>>, shift_right) + template<typename _Tp> \ + template<class _Dom> \ + inline void \ + mask_array<_Tp>::operator _Op##=(const _Expr<_Dom, _Tp>& __e) const\ + { \ + _Array_augmented_##_Name(_M_array, _M_mask, __e, __e.size()); \ + } + +_DEFINE_VALARRAY_OPERATOR(*, __multiplies) +_DEFINE_VALARRAY_OPERATOR(/, __divides) +_DEFINE_VALARRAY_OPERATOR(%, __modulus) +_DEFINE_VALARRAY_OPERATOR(+, __plus) +_DEFINE_VALARRAY_OPERATOR(-, __minus) +_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor) +_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and) +_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or) +_DEFINE_VALARRAY_OPERATOR(<<, __shift_left) +_DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR diff --git a/contrib/libstdc++/include/bits/ostream.tcc b/contrib/libstdc++/include/bits/ostream.tcc index e42eca2..ab15ae8 100644 --- a/contrib/libstdc++/include/bits/ostream.tcc +++ b/contrib/libstdc++/include/bits/ostream.tcc @@ -41,11 +41,19 @@ namespace std template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>::sentry:: sentry(basic_ostream<_CharT,_Traits>& __os) - : _M_ok(__os.good()), _M_os(__os) + : _M_os(__os) { - // XXX MT - if (_M_ok && __os.tie()) - __os.tie()->flush(); + // XXX MT + if (__os.tie() && __os.good()) + __os.tie()->flush(); + + if (__os.good()) + _M_ok = true; + else + { + _M_ok = false; + __os.setstate(ios_base::failbit); + } } template<typename _CharT, typename _Traits> @@ -58,11 +66,11 @@ namespace std { try { __pf(*this); } - catch(exception& __fail) + catch(...) { // 27.6.2.5.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -80,11 +88,11 @@ namespace std { try { __pf(*this); } - catch(exception& __fail) + catch(...) { // 27.6.2.5.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -102,11 +110,11 @@ namespace std { try { __pf(*this); } - catch(exception& __fail) + catch(...) { // 27.6.2.5.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -126,11 +134,11 @@ namespace std if (!__copy_streambufs(*this, __sbin, this->rdbuf())) this->setstate(ios_base::failbit); } - catch(exception& __fail) + catch(...) { // 27.6.2.5.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -153,11 +161,11 @@ namespace std if (_M_fnumput->put(*this, *this, this->fill(), __n).failed()) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -190,11 +198,11 @@ namespace std this->setstate(ios_base::badbit); } } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -215,11 +223,11 @@ namespace std if (_M_fnumput->put(*this, *this, this->fill(), __n).failed()) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -254,11 +262,11 @@ namespace std this->setstate(ios_base::badbit); } } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -279,11 +287,11 @@ namespace std if (_M_fnumput->put(*this, *this, this->fill(), __n).failed()) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -305,11 +313,11 @@ namespace std if (_M_fnumput->put(*this, *this, this->fill(), __n).failed()) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -330,11 +338,11 @@ namespace std if (_M_fnumput->put(*this, *this, this->fill(), __n).failed()) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -355,11 +363,11 @@ namespace std if (_M_fnumput->put(*this, *this, this->fill(), __n).failed()) this->setstate(ios_base::badbit); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - this->setstate(ios_base::badbit); + this->_M_setstate(ios_base::badbit); if ((this->exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -468,7 +476,7 @@ namespace std { try { - streamsize __w = __out.width(); + const streamsize __w = __out.width() > 0 ? __out.width() : 0; _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__w + 1))); __pads[0] = __c; streamsize __len = 1; @@ -481,11 +489,11 @@ namespace std __out.write(__pads, __len); __out.width(0); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - __out.setstate(ios_base::badbit); + __out._M_setstate(ios_base::badbit); if ((__out.exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -504,7 +512,7 @@ namespace std { try { - streamsize __w = __out.width(); + const streamsize __w = __out.width() > 0 ? __out.width() : 0; char* __pads = static_cast<char*>(__builtin_alloca(__w + 1)); __pads[0] = __c; streamsize __len = 1; @@ -517,11 +525,11 @@ namespace std __out.write(__pads, __len); __out.width(0); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - __out.setstate(ios_base::badbit); + __out._M_setstate(ios_base::badbit); if ((__out.exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -539,7 +547,7 @@ namespace std { try { - streamsize __w = __out.width(); + const streamsize __w = __out.width() > 0 ? __out.width() : 0; _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); streamsize __len = static_cast<streamsize>(_Traits::length(__s)); if (__w > __len) @@ -552,11 +560,11 @@ namespace std __out.write(__s, __len); __out.width(0); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - __out.setstate(ios_base::badbit); + __out._M_setstate(ios_base::badbit); if ((__out.exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -588,7 +596,7 @@ namespace std try { streamsize __len = static_cast<streamsize>(__clen); - streamsize __w = __out.width(); + const streamsize __w = __out.width() > 0 ? __out.width() : 0; _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); if (__w > __len) @@ -601,11 +609,11 @@ namespace std __out.write(__str, __len); __out.width(0); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - __out.setstate(ios_base::badbit); + __out._M_setstate(ios_base::badbit); if ((__out.exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -626,7 +634,7 @@ namespace std { try { - streamsize __w = __out.width(); + const streamsize __w = __out.width() > 0 ? __out.width() : 0; char* __pads = static_cast<char*>(__builtin_alloca(__w)); streamsize __len = static_cast<streamsize>(_Traits::length(__s)); @@ -640,11 +648,11 @@ namespace std __out.write(__s, __len); __out.width(0); } - catch(exception& __fail) + catch(...) { // 27.6.1.2.1 Common requirements. // Turn this on without causing an ios::failure to be thrown. - __out.setstate(ios_base::badbit); + __out._M_setstate(ios_base::badbit); if ((__out.exceptions() & ios_base::badbit) != 0) __throw_exception_again; } @@ -665,7 +673,7 @@ namespace std if (__cerb) { const _CharT* __s = __str.data(); - streamsize __w = __out.width(); + const streamsize __w = __out.width() > 0 ? __out.width() : 0; _CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); streamsize __len = static_cast<streamsize>(__str.size()); #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS @@ -689,6 +697,7 @@ namespace std // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class basic_ostream<char>; extern template ostream& endl(ostream&); extern template ostream& ends(ostream&); @@ -710,4 +719,5 @@ namespace std extern template wostream& operator<<(wostream&, const wchar_t*); extern template wostream& operator<<(wostream&, const char*); #endif +#endif } // namespace std diff --git a/contrib/libstdc++/include/bits/slice_array.h b/contrib/libstdc++/include/bits/slice_array.h index cca3e63..2502ef4 100644 --- a/contrib/libstdc++/include/bits/slice_array.h +++ b/contrib/libstdc++/include/bits/slice_array.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- slice_array class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -41,134 +41,171 @@ namespace std { + class slice + { + public: + slice(); + slice(size_t, size_t, size_t); + + size_t start() const; + size_t size() const; + size_t stride() const; - template<typename _Tp> + private: + size_t _M_off; // offset + size_t _M_sz; // size + size_t _M_st; // stride unit + }; + + // The default constructor constructor is not required to initialize + // data members with any meaningful values, so we choose to do nothing. + inline + slice::slice() {} + + inline + slice::slice(size_t __o, size_t __d, size_t __s) + : _M_off(__o), _M_sz(__d), _M_st(__s) {} + + inline size_t + slice::start() const + { return _M_off; } + + inline size_t + slice::size() const + { return _M_sz; } + + inline size_t + slice::stride() const + { return _M_st; } + + template<typename _Tp> class slice_array { public: - typedef _Tp value_type; + typedef _Tp value_type; // This constructor is implemented since we need to return a value. - slice_array (const slice_array&); + slice_array(const slice_array&); // This operator must be public. See DR-253. - slice_array& operator= (const slice_array&); - - void operator= (const valarray<_Tp>&) const; - void operator*= (const valarray<_Tp>&) const; - void operator/= (const valarray<_Tp>&) const; - void operator%= (const valarray<_Tp>&) const; - void operator+= (const valarray<_Tp>&) const; - void operator-= (const valarray<_Tp>&) const; - void operator^= (const valarray<_Tp>&) const; - void operator&= (const valarray<_Tp>&) const; - void operator|= (const valarray<_Tp>&) const; - void operator<<= (const valarray<_Tp>&) const; - void operator>>= (const valarray<_Tp>&) const; - void operator= (const _Tp &); - // ~slice_array (); - - template<class _Dom> - void operator= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator*= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator/= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator%= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator+= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator-= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator^= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator&= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator|= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator<<= (const _Expr<_Dom,_Tp>&) const; - template<class _Dom> - void operator>>= (const _Expr<_Dom,_Tp>&) const; - + slice_array& operator=(const slice_array&); + + void operator=(const valarray<_Tp>&) const; + void operator*=(const valarray<_Tp>&) const; + void operator/=(const valarray<_Tp>&) const; + void operator%=(const valarray<_Tp>&) const; + void operator+=(const valarray<_Tp>&) const; + void operator-=(const valarray<_Tp>&) const; + void operator^=(const valarray<_Tp>&) const; + void operator&=(const valarray<_Tp>&) const; + void operator|=(const valarray<_Tp>&) const; + void operator<<=(const valarray<_Tp>&) const; + void operator>>=(const valarray<_Tp>&) const; + void operator=(const _Tp &) const; + // ~slice_array (); + + template<class _Dom> + void operator=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator*=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator/=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator%=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator+=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator-=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator^=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator&=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator|=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator<<=(const _Expr<_Dom,_Tp>&) const; + template<class _Dom> + void operator>>=(const _Expr<_Dom,_Tp>&) const; + private: - friend class valarray<_Tp>; - slice_array(_Array<_Tp>, const slice&); - - const size_t _M_sz; - const size_t _M_stride; - const _Array<_Tp> _M_array; + friend class valarray<_Tp>; + slice_array(_Array<_Tp>, const slice&); + + const size_t _M_sz; + const size_t _M_stride; + const _Array<_Tp> _M_array; - // not implemented - slice_array (); + // not implemented + slice_array(); }; - template<typename _Tp> - inline slice_array<_Tp>::slice_array (_Array<_Tp> __a, const slice& __s) - : _M_sz (__s.size ()), _M_stride (__s.stride ()), - _M_array (__a.begin () + __s.start ()) {} + template<typename _Tp> + inline + slice_array<_Tp>::slice_array(_Array<_Tp> __a, const slice& __s) + : _M_sz(__s.size()), _M_stride(__s.stride()), + _M_array(__a.begin() + __s.start()) {} + template<typename _Tp> + inline + slice_array<_Tp>::slice_array(const slice_array<_Tp>& a) + : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {} - template<typename _Tp> - inline slice_array<_Tp>::slice_array(const slice_array<_Tp>& a) - : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {} - - // template<typename _Tp> - // inline slice_array<_Tp>::~slice_array () {} + // template<typename _Tp> + // inline slice_array<_Tp>::~slice_array () {} template<typename _Tp> - inline slice_array<_Tp>& - slice_array<_Tp>::operator=(const slice_array<_Tp>& __a) - { - __valarray_copy(__a._M_array, __a._M_sz, __a._M_stride, - _M_array, _M_stride); - return *this; - } - + inline slice_array<_Tp>& + slice_array<_Tp>::operator=(const slice_array<_Tp>& __a) + { + __valarray_copy(__a._M_array, __a._M_sz, __a._M_stride, + _M_array, _M_stride); + return *this; + } - template<typename _Tp> + template<typename _Tp> inline void - slice_array<_Tp>::operator= (const _Tp& __t) - { __valarray_fill (_M_array, _M_sz, _M_stride, __t); } + slice_array<_Tp>::operator=(const _Tp& __t) const + { __valarray_fill(_M_array, _M_sz, _M_stride, __t); } - template<typename _Tp> + template<typename _Tp> inline void - slice_array<_Tp>::operator= (const valarray<_Tp>& __v) const - { __valarray_copy (_Array<_Tp> (__v), _M_array, _M_sz, _M_stride); } + slice_array<_Tp>::operator=(const valarray<_Tp>& __v) const + { __valarray_copy(_Array<_Tp>(__v), _M_array, _M_sz, _M_stride); } - template<typename _Tp> - template<class _Dom> + template<typename _Tp> + template<class _Dom> inline void - slice_array<_Tp>::operator= (const _Expr<_Dom,_Tp>& __e) const - { __valarray_copy (__e, _M_sz, _M_array, _M_stride); } + slice_array<_Tp>::operator=(const _Expr<_Dom,_Tp>& __e) const + { __valarray_copy(__e, _M_sz, _M_array, _M_stride); } #undef _DEFINE_VALARRAY_OPERATOR -#define _DEFINE_VALARRAY_OPERATOR(op, name) \ -template<typename _Tp> \ -inline void \ -slice_array<_Tp>::operator op##= (const valarray<_Tp>& __v) const \ -{ \ - _Array_augmented_##name (_M_array, _M_sz, _M_stride, _Array<_Tp> (__v));\ -} \ +#define _DEFINE_VALARRAY_OPERATOR(_Op,_Name) \ + template<typename _Tp> \ + inline void \ + slice_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const \ + { \ + _Array_augmented_##_Name(_M_array, _M_sz, _M_stride, _Array<_Tp>(__v));\ + } \ \ -template<typename _Tp> template<class _Dom> \ -inline void \ -slice_array<_Tp>::operator op##= (const _Expr<_Dom,_Tp>& __e) const \ -{ \ - _Array_augmented_##name (_M_array, _M_stride, __e, _M_sz); \ -} + template<typename _Tp> \ + template<class _Dom> \ + inline void \ + slice_array<_Tp>::operator _Op##=(const _Expr<_Dom,_Tp>& __e) const\ + { \ + _Array_augmented_##_Name(_M_array, _M_stride, __e, _M_sz); \ + } -_DEFINE_VALARRAY_OPERATOR(*, multiplies) -_DEFINE_VALARRAY_OPERATOR(/, divides) -_DEFINE_VALARRAY_OPERATOR(%, modulus) -_DEFINE_VALARRAY_OPERATOR(+, plus) -_DEFINE_VALARRAY_OPERATOR(-, minus) -_DEFINE_VALARRAY_OPERATOR(^, xor) -_DEFINE_VALARRAY_OPERATOR(&, and) -_DEFINE_VALARRAY_OPERATOR(|, or) -_DEFINE_VALARRAY_OPERATOR(<<, shift_left) -_DEFINE_VALARRAY_OPERATOR(>>, shift_right) +_DEFINE_VALARRAY_OPERATOR(*, __multiplies) +_DEFINE_VALARRAY_OPERATOR(/, __divides) +_DEFINE_VALARRAY_OPERATOR(%, __modulus) +_DEFINE_VALARRAY_OPERATOR(+, __plus) +_DEFINE_VALARRAY_OPERATOR(-, __minus) +_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor) +_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and) +_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or) +_DEFINE_VALARRAY_OPERATOR(<<, __shift_left) +_DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR diff --git a/contrib/libstdc++/include/bits/stl_alloc.h b/contrib/libstdc++/include/bits/stl_alloc.h index 238986d..9677c3e 100644 --- a/contrib/libstdc++/include/bits/stl_alloc.h +++ b/contrib/libstdc++/include/bits/stl_alloc.h @@ -1,6 +1,6 @@ // Allocators -*- 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 @@ -85,7 +85,6 @@ #include <cstddef> #include <cstdlib> #include <cstring> -#include <cassert> #include <bits/functexcept.h> // For __throw_bad_alloc #include <bits/stl_threads.h> @@ -129,10 +128,7 @@ namespace std { private: static void* _S_oom_malloc(size_t); - - // _GLIBCPP_DEPRECATED static void* _S_oom_realloc(void*, size_t); - static void (* __malloc_alloc_oom_handler)(); public: @@ -149,7 +145,6 @@ namespace std deallocate(void* __p, size_t /* __n */) { free(__p); } - // _GLIBCPP_DEPRECATED static void* reallocate(void* __p, size_t /* old_sz */, size_t __new_sz) { @@ -191,7 +186,6 @@ namespace std } } - // _GLIBCPP_DEPRECATED template<int __inst> void* __malloc_alloc_template<__inst>:: @@ -256,10 +250,7 @@ namespace std /** * @if maint * An adaptor for an underlying allocator (_Alloc) to check the size - * arguments for debugging. Errors are reported using assert; these - * checks can be disabled via NDEBUG, but the space penalty is still - * paid, therefore it is far better to just use the underlying allocator - * by itelf when no checking is desired. + * arguments for debugging. * * "There is some evidence that this can confuse Purify." - SGI comment * @@ -288,16 +279,17 @@ namespace std deallocate(void* __p, size_t __n) { char* __real_p = (char*)__p - (int) _S_extra; - assert(*(size_t*)__real_p == __n); + if (*(size_t*)__real_p != __n) + abort(); _Alloc::deallocate(__real_p, __n + (int) _S_extra); } - // _GLIBCPP_DEPRECATED static void* reallocate(void* __p, size_t __old_sz, size_t __new_sz) { char* __real_p = (char*)__p - (int) _S_extra; - assert(*(size_t*)__real_p == __old_sz); + if (*(size_t*)__real_p != __old_sz) + abort(); char* __result = (char*) _Alloc::reallocate(__real_p, __old_sz + (int) _S_extra, __new_sz + (int) _S_extra); @@ -405,8 +397,6 @@ namespace std __atomic_add(&_S_force_new, 1); else __atomic_add(&_S_force_new, -1); - // Trust but verify... - assert(_S_force_new != 0); } if ((__n > (size_t) _MAX_BYTES) || (_S_force_new > 0)) @@ -454,7 +444,6 @@ namespace std } } - // _GLIBCPP_DEPRECATED static void* reallocate(void* __p, size_t __old_sz, size_t __new_sz); }; @@ -511,8 +500,8 @@ namespace std _Obj* volatile* __my_free_list = _S_free_list + _S_freelist_index(__bytes_left); - ((_Obj*)_S_start_free) -> _M_free_list_link = *__my_free_list; - *__my_free_list = (_Obj*)_S_start_free; + ((_Obj*)(void*)_S_start_free) -> _M_free_list_link = *__my_free_list; + *__my_free_list = (_Obj*)(void*)_S_start_free; } _S_start_free = (char*) __new_alloc::allocate(__bytes_to_get); if (_S_start_free == 0) @@ -570,12 +559,12 @@ namespace std __my_free_list = _S_free_list + _S_freelist_index(__n); // Build free list in chunk. - __result = (_Obj*)__chunk; - *__my_free_list = __next_obj = (_Obj*)(__chunk + __n); + __result = (_Obj*)(void*)__chunk; + *__my_free_list = __next_obj = (_Obj*)(void*)(__chunk + __n); for (__i = 1; ; __i++) { __current_obj = __next_obj; - __next_obj = (_Obj*)((char*)__next_obj + __n); + __next_obj = (_Obj*)(void*)((char*)__next_obj + __n); if (__nobjs - 1 == __i) { __current_obj -> _M_free_list_link = 0; @@ -588,7 +577,6 @@ namespace std } - // _GLIBCPP_DEPRECATED template<bool threads, int inst> void* __default_alloc_template<threads, inst>:: @@ -976,9 +964,11 @@ namespace std // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class allocator<char>; extern template class allocator<wchar_t>; extern template class __default_alloc_template<true,0>; +#endif } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/stl_bvector.h b/contrib/libstdc++/include/bits/stl_bvector.h index ce6df71..2c97d47 100644 --- a/contrib/libstdc++/include/bits/stl_bvector.h +++ b/contrib/libstdc++/include/bits/stl_bvector.h @@ -91,13 +91,6 @@ public: void flip() { *_M_p ^= _M_mask; } }; -inline void swap(_Bit_reference __x, _Bit_reference __y) -{ - bool __tmp = __x; - __x = __y; - __y = __tmp; -} - struct _Bit_iterator_base : public iterator<random_access_iterator_tag, bool> { _Bit_type * _M_p; @@ -363,8 +356,8 @@ template <typename _Alloc> typedef _Bit_iterator iterator; typedef _Bit_const_iterator const_iterator; - typedef reverse_iterator<const_iterator> const_reverse_iterator; - typedef reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; typedef typename _Bvector_base<_Alloc>::allocator_type allocator_type; allocator_type get_allocator() const { @@ -637,6 +630,14 @@ template <typename _Alloc> std::swap(_M_finish, __x._M_finish); std::swap(_M_end_of_storage, __x._M_end_of_storage); } + + // [23.2.5]/1, third-to-last entry in synopsis listing + static void swap(reference __x, reference __y) { + bool __tmp = __x; + __x = __y; + __y = __tmp; + } + iterator insert(iterator __position, bool __x = bool()) { difference_type __n = __position - begin(); if (_M_finish._M_p != _M_end_of_storage && __position == end()) diff --git a/contrib/libstdc++/include/bits/stl_deque.h b/contrib/libstdc++/include/bits/stl_deque.h index cbe8779..454fed3 100644 --- a/contrib/libstdc++/include/bits/stl_deque.h +++ b/contrib/libstdc++/include/bits/stl_deque.h @@ -1,4 +1,4 @@ -// deque implementation -*- C++ -*- +// Deque implementation -*- C++ -*- // Copyright (C) 2001, 2002 Free Software Foundation, Inc. // @@ -58,1625 +58,1546 @@ * You should not attempt to use it directly. */ -#include <bits/concept_check.h> -#include <bits/stl_iterator_base_types.h> -#include <bits/stl_iterator_base_funcs.h> - #ifndef __GLIBCPP_INTERNAL_DEQUE_H #define __GLIBCPP_INTERNAL_DEQUE_H +#include <bits/concept_check.h> +#include <bits/stl_iterator_base_types.h> +#include <bits/stl_iterator_base_funcs.h> -// Since this entire file is within namespace std, there's no reason to -// waste two spaces along the left column. Thus the leading indentation is -// slightly violated from here on. namespace std { - -/** - * @if maint - * @brief This function controls the size of memory nodes. - * @param size The size of an element. - * @return The number (not bytesize) of elements per node. - * - * This function started off as a compiler kludge from SGI, but seems to - * be a useful wrapper around a repeated constant expression. - * @endif -*/ -inline size_t -__deque_buf_size(size_t __size) -{ return __size < 512 ? size_t(512 / __size) : size_t(1); } - - -/// A deque::iterator. -/** - * Quite a bit of intelligence here. Much of the functionality of deque is - * actually passed off to this class. A deque holds two of these internally, - * marking its valid range. Access to elements is done as offsets of either - * of those two, relying on operator overloading in this class. - * - * @if maint - * All the functions are op overloads except for _M_set_node. - * @endif -*/ -template <class _Tp, class _Ref, class _Ptr> -struct _Deque_iterator -{ - typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator; - typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator; - static size_t _S_buffer_size() { return __deque_buf_size(sizeof(_Tp)); } - - typedef random_access_iterator_tag iterator_category; - typedef _Tp value_type; - typedef _Ptr pointer; - typedef _Ref reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef _Tp** _Map_pointer; - typedef _Deque_iterator _Self; - - _Tp* _M_cur; - _Tp* _M_first; - _Tp* _M_last; - _Map_pointer _M_node; - - _Deque_iterator(_Tp* __x, _Map_pointer __y) - : _M_cur(__x), _M_first(*__y), - _M_last(*__y + _S_buffer_size()), _M_node(__y) {} - _Deque_iterator() : _M_cur(0), _M_first(0), _M_last(0), _M_node(0) {} - _Deque_iterator(const iterator& __x) - : _M_cur(__x._M_cur), _M_first(__x._M_first), - _M_last(__x._M_last), _M_node(__x._M_node) {} - - reference operator*() const { return *_M_cur; } - pointer operator->() const { return _M_cur; } - - _Self& operator++() { - ++_M_cur; - if (_M_cur == _M_last) { - _M_set_node(_M_node + 1); - _M_cur = _M_first; + /** + * @if maint + * @brief This function controls the size of memory nodes. + * @param size The size of an element. + * @return The number (not byte size) of elements per node. + * + * This function started off as a compiler kludge from SGI, but seems to + * be a useful wrapper around a repeated constant expression. The '512' is + * tuneable (and no other code needs to change), but no investigation has + * been done since inheriting the SGI code. + * @endif + */ + inline size_t + __deque_buf_size(size_t __size) + { return __size < 512 ? size_t(512 / __size) : size_t(1); } + + + /** + * @brief A deque::iterator. + * + * Quite a bit of intelligence here. Much of the functionality of deque is + * actually passed off to this class. A deque holds two of these internally, + * marking its valid range. Access to elements is done as offsets of either + * of those two, relying on operator overloading in this class. + * + * @if maint + * All the functions are op overloads except for _M_set_node. + * @endif + */ + template <typename _Tp, typename _Ref, typename _Ptr> + struct _Deque_iterator + { + typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator; + typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator; + static size_t _S_buffer_size() { return __deque_buf_size(sizeof(_Tp)); } + + typedef random_access_iterator_tag iterator_category; + typedef _Tp value_type; + typedef _Ptr pointer; + typedef _Ref reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef _Tp** _Map_pointer; + typedef _Deque_iterator _Self; + + _Tp* _M_cur; + _Tp* _M_first; + _Tp* _M_last; + _Map_pointer _M_node; + + _Deque_iterator(_Tp* __x, _Map_pointer __y) + : _M_cur(__x), _M_first(*__y), + _M_last(*__y + _S_buffer_size()), _M_node(__y) {} + _Deque_iterator() : _M_cur(0), _M_first(0), _M_last(0), _M_node(0) {} + _Deque_iterator(const iterator& __x) + : _M_cur(__x._M_cur), _M_first(__x._M_first), + _M_last(__x._M_last), _M_node(__x._M_node) {} + + reference operator*() const { return *_M_cur; } + pointer operator->() const { return _M_cur; } + + _Self& operator++() { + ++_M_cur; + if (_M_cur == _M_last) { + _M_set_node(_M_node + 1); + _M_cur = _M_first; + } + return *this; + } + _Self operator++(int) { + _Self __tmp = *this; + ++*this; + return __tmp; + } + + _Self& operator--() { + if (_M_cur == _M_first) { + _M_set_node(_M_node - 1); + _M_cur = _M_last; + } + --_M_cur; + return *this; + } + _Self operator--(int) { + _Self __tmp = *this; + --*this; + return __tmp; + } + + _Self& operator+=(difference_type __n) + { + difference_type __offset = __n + (_M_cur - _M_first); + if (__offset >= 0 && __offset < difference_type(_S_buffer_size())) + _M_cur += __n; + else { + difference_type __node_offset = + __offset > 0 ? __offset / difference_type(_S_buffer_size()) + : -difference_type((-__offset - 1) / _S_buffer_size()) - 1; + _M_set_node(_M_node + __node_offset); + _M_cur = _M_first + + (__offset - __node_offset * difference_type(_S_buffer_size())); + } + return *this; + } + + _Self operator+(difference_type __n) const + { + _Self __tmp = *this; + return __tmp += __n; + } + + _Self& operator-=(difference_type __n) { return *this += -__n; } + + _Self operator-(difference_type __n) const { + _Self __tmp = *this; + return __tmp -= __n; + } + + reference operator[](difference_type __n) const { return *(*this + __n); } + + /** @if maint + * Prepares to traverse new_node. Sets everything except _M_cur, which + * should therefore be set by the caller immediately afterwards, based on + * _M_first and _M_last. + * @endif + */ + void + _M_set_node(_Map_pointer __new_node) + { + _M_node = __new_node; + _M_first = *__new_node; + _M_last = _M_first + difference_type(_S_buffer_size()); } - return *this; + }; + + // Note: we also provide overloads whose operands are of the same type in + // order to avoid ambiguous overload resolution when std::rel_ops operators + // are in scope (for additional details, see libstdc++/3628) + template <typename _Tp, typename _Ref, typename _Ptr> + inline bool + operator==(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, + const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) + { + return __x._M_cur == __y._M_cur; } - _Self operator++(int) { - _Self __tmp = *this; - ++*this; - return __tmp; + + template <typename _Tp, typename _RefL, typename _PtrL, + typename _RefR, typename _PtrR> + inline bool + operator==(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, + const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) + { + return __x._M_cur == __y._M_cur; } - - _Self& operator--() { - if (_M_cur == _M_first) { - _M_set_node(_M_node - 1); - _M_cur = _M_last; - } - --_M_cur; - return *this; + + template <typename _Tp, typename _Ref, typename _Ptr> + inline bool + operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, + const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) + { + return !(__x == __y); } - _Self operator--(int) { - _Self __tmp = *this; - --*this; - return __tmp; + + template <typename _Tp, typename _RefL, typename _PtrL, + typename _RefR, typename _PtrR> + inline bool + operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, + const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) + { + return !(__x == __y); } - - _Self& operator+=(difference_type __n) + + template <typename _Tp, typename _Ref, typename _Ptr> + inline bool + operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, + const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) { - difference_type __offset = __n + (_M_cur - _M_first); - if (__offset >= 0 && __offset < difference_type(_S_buffer_size())) - _M_cur += __n; - else { - difference_type __node_offset = - __offset > 0 ? __offset / difference_type(_S_buffer_size()) - : -difference_type((-__offset - 1) / _S_buffer_size()) - 1; - _M_set_node(_M_node + __node_offset); - _M_cur = _M_first + - (__offset - __node_offset * difference_type(_S_buffer_size())); - } - return *this; + return (__x._M_node == __y._M_node) ? + (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); } - - _Self operator+(difference_type __n) const + + template <typename _Tp, typename _RefL, typename _PtrL, + typename _RefR, typename _PtrR> + inline bool + operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, + const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) { - _Self __tmp = *this; - return __tmp += __n; + return (__x._M_node == __y._M_node) ? + (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); } - - _Self& operator-=(difference_type __n) { return *this += -__n; } - - _Self operator-(difference_type __n) const { - _Self __tmp = *this; - return __tmp -= __n; + + template <typename _Tp, typename _Ref, typename _Ptr> + inline bool + operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, + const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) + { + return __y < __x; } - - reference operator[](difference_type __n) const { return *(*this + __n); } - - /** @if maint - * Prepares to traverse new_node. Sets everything except _M_cur, which - * should therefore be set by the caller immediately afterwards, based on - * _M_first and _M_last. - * @endif - */ - void _M_set_node(_Map_pointer __new_node) { - _M_node = __new_node; - _M_first = *__new_node; - _M_last = _M_first + difference_type(_S_buffer_size()); + + template <typename _Tp, typename _RefL, typename _PtrL, + typename _RefR, typename _PtrR> + inline bool + operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, + const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) + { + return __y < __x; } -}; - -// Note: we also provide overloads whose operands are of the same type in -// order to avoid ambiguos overload resolution when std::rel_ops operators -// are in scope (for additional details, see libstdc++/3628) -template <class _Tp, class _Ref, class _Ptr> -inline bool -operator==(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, - const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) -{ - return __x._M_cur == __y._M_cur; -} - -template <class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> -inline bool -operator==(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, - const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) -{ - return __x._M_cur == __y._M_cur; -} - -template <class _Tp, class _Ref, class _Ptr> -inline bool -operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, - const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) -{ - return !(__x == __y); -} - -template <class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> -inline bool -operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, - const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) -{ - return !(__x == __y); -} - -template <class _Tp, class _Ref, class _Ptr> -inline bool -operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, - const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) -{ - return (__x._M_node == __y._M_node) ? - (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); -} - -template <class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> -inline bool -operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, - const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) -{ - return (__x._M_node == __y._M_node) ? - (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); -} - -template <class _Tp, class _Ref, class _Ptr> -inline bool -operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, - const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) -{ - return __y < __x; -} - -template <class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> -inline bool -operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, - const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) -{ - return __y < __x; -} - -template <class _Tp, class _Ref, class _Ptr> -inline bool -operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, - const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) -{ - return !(__y < __x); -} - -template <class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> -inline bool -operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, - const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) -{ - return !(__y < __x); -} - -template <class _Tp, class _Ref, class _Ptr> -inline bool -operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, - const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) -{ - return !(__x < __y); -} - -template <class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> -inline bool -operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, - const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) -{ - return !(__x < __y); -} - -// _GLIBCPP_RESOLVE_LIB_DEFECTS -// According to the resolution of DR179 not only the various comparison -// operators but also operator- must accept mixed iterator/const_iterator -// parameters. -template <typename _Tp, typename _RefL, typename _PtrL, - typename _RefR, typename _PtrR> -inline typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type -operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, - const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) -{ - return _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type - (_Deque_iterator<_Tp, _RefL, _PtrL>::_S_buffer_size()) * - (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) + - (__y._M_last - __y._M_cur); -} - -template <class _Tp, class _Ref, class _Ptr> -inline _Deque_iterator<_Tp, _Ref, _Ptr> -operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Ref, _Ptr>& __x) -{ - return __x + __n; -} - - -/// @if maint Primary default version. @endif -/** - * @if maint - * Deque base class. It has two purposes. First, its constructor - * and destructor allocate (but don't initialize) storage. This makes - * exception safety easier. Second, the base class encapsulates all of - * the differences between SGI-style allocators and standard-conforming - * allocators. There are two versions: this ordinary one, and the - * space-saving specialization for instanceless allocators. - * @endif -*/ -template <class _Tp, class _Alloc, bool __is_static> -class _Deque_alloc_base -{ -public: - typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; - allocator_type get_allocator() const { return _M_node_allocator; } - - _Deque_alloc_base(const allocator_type& __a) - : _M_node_allocator(__a), _M_map_allocator(__a), - _M_map(0), _M_map_size(0) - {} - -protected: - typedef typename _Alloc_traits<_Tp*, _Alloc>::allocator_type - _Map_allocator_type; - - allocator_type _M_node_allocator; - _Map_allocator_type _M_map_allocator; - - _Tp* _M_allocate_node() { - return _M_node_allocator.allocate(__deque_buf_size(sizeof(_Tp))); + + template <typename _Tp, typename _Ref, typename _Ptr> + inline bool + operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, + const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) + { + return !(__y < __x); } - void _M_deallocate_node(_Tp* __p) { - _M_node_allocator.deallocate(__p, __deque_buf_size(sizeof(_Tp))); + + template <typename _Tp, typename _RefL, typename _PtrL, + typename _RefR, typename _PtrR> + inline bool + operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, + const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) + { + return !(__y < __x); } - _Tp** _M_allocate_map(size_t __n) - { return _M_map_allocator.allocate(__n); } - void _M_deallocate_map(_Tp** __p, size_t __n) - { _M_map_allocator.deallocate(__p, __n); } - - _Tp** _M_map; - size_t _M_map_size; -}; - -/// @if maint Specialization for instanceless allocators. @endif -template <class _Tp, class _Alloc> -class _Deque_alloc_base<_Tp, _Alloc, true> -{ -public: - typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; - allocator_type get_allocator() const { return allocator_type(); } - - _Deque_alloc_base(const allocator_type&) : _M_map(0), _M_map_size(0) {} -protected: - typedef typename _Alloc_traits<_Tp, _Alloc>::_Alloc_type _Node_alloc_type; - typedef typename _Alloc_traits<_Tp*, _Alloc>::_Alloc_type _Map_alloc_type; - - _Tp* _M_allocate_node() { - return _Node_alloc_type::allocate(__deque_buf_size(sizeof(_Tp))); + template <typename _Tp, typename _Ref, typename _Ptr> + inline bool + operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x, + const _Deque_iterator<_Tp, _Ref, _Ptr>& __y) + { + return !(__x < __y); } - void _M_deallocate_node(_Tp* __p) { - _Node_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp))); + + template <typename _Tp, typename _RefL, typename _PtrL, + typename _RefR, typename _PtrR> + inline bool + operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, + const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) + { + return !(__x < __y); } - _Tp** _M_allocate_map(size_t __n) - { return _Map_alloc_type::allocate(__n); } - void _M_deallocate_map(_Tp** __p, size_t __n) - { _Map_alloc_type::deallocate(__p, __n); } - - _Tp** _M_map; - size_t _M_map_size; -}; - - -/** - * @if maint - * Deque base class. Using _Alloc_traits in the instantiation of the parent - * class provides the compile-time dispatching mentioned in the parent's docs. - * This class provides the unified face for deque's allocation. - * - * Nothing in this class ever constructs or destroys an actual Tp element. - * (Deque handles that itself.) Only/All memory management is performed here. - * @endif -*/ -template <class _Tp, class _Alloc> -class _Deque_base - : public _Deque_alloc_base<_Tp,_Alloc, - _Alloc_traits<_Tp, _Alloc>::_S_instanceless> -{ -public: - typedef _Deque_alloc_base<_Tp,_Alloc, - _Alloc_traits<_Tp, _Alloc>::_S_instanceless> - _Base; - typedef typename _Base::allocator_type allocator_type; - typedef _Deque_iterator<_Tp,_Tp&,_Tp*> iterator; - typedef _Deque_iterator<_Tp,const _Tp&,const _Tp*> const_iterator; - - _Deque_base(const allocator_type& __a, size_t __num_elements) - : _Base(__a), _M_start(), _M_finish() - { _M_initialize_map(__num_elements); } - _Deque_base(const allocator_type& __a) - : _Base(__a), _M_start(), _M_finish() {} - ~_Deque_base(); - -protected: - void _M_initialize_map(size_t); - void _M_create_nodes(_Tp** __nstart, _Tp** __nfinish); - void _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish); - enum { _S_initial_map_size = 8 }; - -protected: - iterator _M_start; - iterator _M_finish; -}; - - -template <class _Tp, class _Alloc> -_Deque_base<_Tp,_Alloc>::~_Deque_base() -{ - if (_M_map) { - _M_destroy_nodes(_M_start._M_node, _M_finish._M_node + 1); - _M_deallocate_map(_M_map, _M_map_size); + + // _GLIBCPP_RESOLVE_LIB_DEFECTS + // According to the resolution of DR179 not only the various comparison + // operators but also operator- must accept mixed iterator/const_iterator + // parameters. + template <typename _Tp, typename _RefL, typename _PtrL, + typename _RefR, typename _PtrR> + inline typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type + operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x, + const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) + { + return _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type + (_Deque_iterator<_Tp, _RefL, _PtrL>::_S_buffer_size()) * + (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) + + (__y._M_last - __y._M_cur); } -} - -/** - * @if maint - * @brief Layout storage. - * @param num_elements The count of T's for which to allocate space at first. - * @return Nothing. - * - * The initial underlying memory layout is a bit complicated... - * @endif -*/ -template <class _Tp, class _Alloc> -void -_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t __num_elements) -{ - size_t __num_nodes = - __num_elements / __deque_buf_size(sizeof(_Tp)) + 1; - - _M_map_size = max((size_t) _S_initial_map_size, __num_nodes + 2); - _M_map = _M_allocate_map(_M_map_size); - - _Tp** __nstart = _M_map + (_M_map_size - __num_nodes) / 2; - _Tp** __nfinish = __nstart + __num_nodes; - - try - { _M_create_nodes(__nstart, __nfinish); } - catch(...) - { - _M_deallocate_map(_M_map, _M_map_size); - _M_map = 0; - _M_map_size = 0; - __throw_exception_again; - } - _M_start._M_set_node(__nstart); - _M_finish._M_set_node(__nfinish - 1); - _M_start._M_cur = _M_start._M_first; - _M_finish._M_cur = _M_finish._M_first + - __num_elements % __deque_buf_size(sizeof(_Tp)); -} - -template <class _Tp, class _Alloc> -void _Deque_base<_Tp,_Alloc>::_M_create_nodes(_Tp** __nstart, _Tp** __nfinish) -{ - _Tp** __cur; - try { - for (__cur = __nstart; __cur < __nfinish; ++__cur) - *__cur = _M_allocate_node(); + template <typename _Tp, typename _Ref, typename _Ptr> + inline _Deque_iterator<_Tp, _Ref, _Ptr> + operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Ref, _Ptr>& __x) + { + return __x + __n; } - catch(...) - { - _M_destroy_nodes(__nstart, __cur); - __throw_exception_again; - } -} - -template <class _Tp, class _Alloc> -void -_Deque_base<_Tp,_Alloc>::_M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish) -{ - for (_Tp** __n = __nstart; __n < __nfinish; ++__n) - _M_deallocate_node(*__n); -} - - -/** - * @ingroup Containers - * @ingroup Sequences - * - * Meets the requirements of a <a href="tables.html#65">container</a>, a - * <a href="tables.html#66">reversible container</a>, and a - * <a href="tables.html#67">sequence</a>, including the - * <a href="tables.html#68">optional sequence requirements</a>. - * - * Placeholder: see http://www.sgi.com/tech/stl/Deque.html for now. - * - * In previous HP/SGI versions of deque, there was an extra template parameter - * so users could control the node size. This extension turned out to violate - * the C++ standard (it can be detected using template template parameters), - * and it was removed. - * - * @if maint - * Here's how a deque<Tp> manages memory. Each deque has 4 members: - * - * - Tp** _M_map - * - size_t _M_map_size - * - iterator _M_start, _M_finish - * - * map_size is at least 8. %map is an array of map_size pointers-to-"nodes". - * (The name has nothing to do with the std::map class.) - * - * A "node" has no specific type name as such, but it is referred to as - * "node" in this file. It is a simple array-of-Tp. If Tp is very large, - * there will be one Tp element per node (i.e., an "array" of one). - * For non-huge Tp's, node size is inversely related to Tp size: the - * larger the Tp, the fewer Tp's will fit in a node. The goal here is to - * keep the total size of a node relatively small and constant over different - * Tp's, to improve allocator efficiency. - * - * **** As I write this, the nodes are /not/ allocated using the high-speed - * memory pool. There are 20 hours left in the year; perhaps I can fix - * this before 2002. - * - * Not every pointer in the %map array will point to a node. If the initial - * number of elements in the deque is small, the /middle/ %map pointers will - * be valid, and the ones at the edges will be unused. This same situation - * will arise as the %map grows: available %map pointers, if any, will be on - * the ends. As new nodes are created, only a subset of the %map's pointers - * need to be copied "outward". - * - * Class invariants: - * - For any nonsingular iterator i: - * - i.node points to a member of the %map array. (Yes, you read that - * correctly: i.node does not actually point to a node.) The member of - * the %map array is what actually points to the node. - * - i.first == *(i.node) (This points to the node (first Tp element).) - * - i.last == i.first + node_size - * - i.cur is a pointer in the range [i.first, i.last). NOTE: - * the implication of this is that i.cur is always a dereferenceable - * pointer, even if i is a past-the-end iterator. - * - Start and Finish are always nonsingular iterators. NOTE: this means that - * an empty deque must have one node, a deque with <N elements (where N is - * the node buffer size) must have one node, a deque with N through (2N-1) - * elements must have two nodes, etc. - * - For every node other than start.node and finish.node, every element in the - * node is an initialized object. If start.node == finish.node, then - * [start.cur, finish.cur) are initialized objects, and the elements outside - * that range are uninitialized storage. Otherwise, [start.cur, start.last) - * and [finish.first, finish.cur) are initialized objects, and [start.first, - * start.cur) and [finish.cur, finish.last) are uninitialized storage. - * - [%map, %map + map_size) is a valid, non-empty range. - * - [start.node, finish.node] is a valid range contained within - * [%map, %map + map_size). - * - A pointer in the range [%map, %map + map_size) points to an allocated node - * if and only if the pointer is in the range [start.node, finish.node]. - * - * Here's the magic: nothing in deque is "aware" of the discontiguous storage! - * - * The memory setup and layout occurs in the parent, _Base, and the iterator - * class is entirely responsible for "leaping" from one node to the next. All - * the implementation routines for deque itself work only through the start - * and finish iterators. This keeps the routines simple and sane, and we can - * use other standard algorithms as well. - * @endif -*/ -template <class _Tp, class _Alloc = allocator<_Tp> > -class deque : protected _Deque_base<_Tp, _Alloc> -{ - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - - typedef _Deque_base<_Tp, _Alloc> _Base; - -public: - typedef _Tp value_type; - typedef value_type* pointer; - typedef const value_type* const_pointer; - typedef value_type& reference; - typedef const value_type& const_reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - - typedef typename _Base::allocator_type allocator_type; - allocator_type get_allocator() const { return _Base::get_allocator(); } - - typedef typename _Base::iterator iterator; - typedef typename _Base::const_iterator const_iterator; - typedef reverse_iterator<const_iterator> const_reverse_iterator; - typedef reverse_iterator<iterator> reverse_iterator; - -protected: - typedef pointer* _Map_pointer; - static size_t _S_buffer_size() { return __deque_buf_size(sizeof(_Tp)); } - - // Functions controlling memory layout, and nothing else. - using _Base::_M_initialize_map; - using _Base::_M_create_nodes; - using _Base::_M_destroy_nodes; - using _Base::_M_allocate_node; - using _Base::_M_deallocate_node; - using _Base::_M_allocate_map; - using _Base::_M_deallocate_map; - - /** @if maint - * A total of four data members accumulated down the heirarchy. If the - * _Alloc type requires separate instances, then two of them will also be - * included in each deque. + + + /// @if maint Primary default version. @endif + /** + * @if maint + * Deque base class. It has two purposes. First, its constructor + * and destructor allocate (but don't initialize) storage. This makes + * %exception safety easier. Second, the base class encapsulates all of + * the differences between SGI-style allocators and standard-conforming + * allocators. (See stl_alloc.h for more on this topic.) There are two + * versions: this ordinary one, and the space-saving specialization for + * instanceless allocators. * @endif */ - using _Base::_M_map; - using _Base::_M_map_size; - using _Base::_M_start; - using _Base::_M_finish; - -public: // Basic accessors - iterator begin() { return _M_start; } - iterator end() { return _M_finish; } - const_iterator begin() const { return _M_start; } - const_iterator end() const { return _M_finish; } - - reverse_iterator rbegin() { return reverse_iterator(_M_finish); } - reverse_iterator rend() { return reverse_iterator(_M_start); } - const_reverse_iterator rbegin() const - { return const_reverse_iterator(_M_finish); } - const_reverse_iterator rend() const - { return const_reverse_iterator(_M_start); } - - reference operator[](size_type __n) - { return _M_start[difference_type(__n)]; } - const_reference operator[](size_type __n) const - { return _M_start[difference_type(__n)]; } - - void _M_range_check(size_type __n) const { - if (__n >= this->size()) - __throw_out_of_range("deque"); - } - - reference at(size_type __n) - { _M_range_check(__n); return (*this)[__n]; } - const_reference at(size_type __n) const - { _M_range_check(__n); return (*this)[__n]; } - - reference front() { return *_M_start; } - reference back() { - iterator __tmp = _M_finish; - --__tmp; - return *__tmp; - } - const_reference front() const { return *_M_start; } - const_reference back() const { - const_iterator __tmp = _M_finish; - --__tmp; - return *__tmp; - } - - size_type size() const { return _M_finish - _M_start; } - size_type max_size() const { return size_type(-1); } - bool empty() const { return _M_finish == _M_start; } - -public: // Constructor, destructor. - explicit deque(const allocator_type& __a = allocator_type()) - : _Base(__a, 0) {} - deque(const deque& __x) : _Base(__x.get_allocator(), __x.size()) - { uninitialized_copy(__x.begin(), __x.end(), _M_start); } - deque(size_type __n, const value_type& __value, - const allocator_type& __a = allocator_type()) : _Base(__a, __n) - { _M_fill_initialize(__value); } - - explicit - deque(size_type __n) - : _Base(allocator_type(), __n) - { _M_fill_initialize(value_type()); } - - // Check whether it's an integral type. If so, it's not an iterator. - template<class _InputIterator> - deque(_InputIterator __first, _InputIterator __last, - const allocator_type& __a = allocator_type()) - : _Base(__a) + template <typename _Tp, typename _Alloc, bool __is_static> + class _Deque_alloc_base + { + public: + typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; + allocator_type get_allocator() const { return _M_node_allocator; } + + _Deque_alloc_base(const allocator_type& __a) + : _M_node_allocator(__a), _M_map_allocator(__a), + _M_map(0), _M_map_size(0) + {} + + protected: + typedef typename _Alloc_traits<_Tp*, _Alloc>::allocator_type + _Map_allocator_type; + + _Tp* + _M_allocate_node() { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_dispatch(__first, __last, _Integral()); + return _M_node_allocator.allocate(__deque_buf_size(sizeof(_Tp))); } - - template<class _Integer> + void - _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) + _M_deallocate_node(_Tp* __p) { - _M_initialize_map(__n); - _M_fill_initialize(__x); + _M_node_allocator.deallocate(__p, __deque_buf_size(sizeof(_Tp))); } - - template<class _InputIter> + + _Tp** + _M_allocate_map(size_t __n) + { return _M_map_allocator.allocate(__n); } + void - _M_initialize_dispatch(_InputIter __first, _InputIter __last, __false_type) + _M_deallocate_map(_Tp** __p, size_t __n) + { _M_map_allocator.deallocate(__p, __n); } + + allocator_type _M_node_allocator; + _Map_allocator_type _M_map_allocator; + _Tp** _M_map; + size_t _M_map_size; + }; + + /// @if maint Specialization for instanceless allocators. @endif + template <typename _Tp, typename _Alloc> + class _Deque_alloc_base<_Tp, _Alloc, true> + { + public: + typedef typename _Alloc_traits<_Tp,_Alloc>::allocator_type allocator_type; + allocator_type get_allocator() const { return allocator_type(); } + + _Deque_alloc_base(const allocator_type&) + : _M_map(0), _M_map_size(0) + {} + + protected: + typedef typename _Alloc_traits<_Tp,_Alloc>::_Alloc_type _Node_alloc_type; + typedef typename _Alloc_traits<_Tp*,_Alloc>::_Alloc_type _Map_alloc_type; + + _Tp* + _M_allocate_node() { - typedef typename iterator_traits<_InputIter>::iterator_category _IterCategory; - _M_range_initialize(__first, __last, _IterCategory()); - } - - ~deque() - { _Destroy(_M_start, _M_finish); } - - deque& operator= (const deque& __x) { - const size_type __len = size(); - if (&__x != this) { - if (__len >= __x.size()) - erase(copy(__x.begin(), __x.end(), _M_start), _M_finish); - else { - const_iterator __mid = __x.begin() + difference_type(__len); - copy(__x.begin(), __mid, _M_start); - insert(_M_finish, __mid, __x.end()); - } - } - return *this; - } - - void swap(deque& __x) { - std::swap(_M_start, __x._M_start); - std::swap(_M_finish, __x._M_finish); - std::swap(_M_map, __x._M_map); - std::swap(_M_map_size, __x._M_map_size); - } - -public: - // assign(), a generalized assignment member function. Two - // versions: one that takes a count, and one that takes a range. - // The range version is a member template, so we dispatch on whether - // or not the type is an integer. - - void _M_fill_assign(size_type __n, const _Tp& __val) { - if (__n > size()) { - fill(begin(), end(), __val); - insert(end(), __n - size(), __val); - } - else { - erase(begin() + __n, end()); - fill(begin(), end(), __val); + return _Node_alloc_type::allocate(__deque_buf_size(sizeof(_Tp))); } - } - - void - assign(size_type __n, const _Tp& __val) - { _M_fill_assign(__n, __val); } - - template<class _InputIterator> + void - assign(_InputIterator __first, _InputIterator __last) + _M_deallocate_node(_Tp* __p) { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_assign_dispatch(__first, __last, _Integral()); + _Node_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp))); } - -private: // helper functions for assign() - - template<class _Integer> - void - _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) - { _M_fill_assign(static_cast<size_type>(__n), static_cast<_Tp>(__val)); } - - template<class _InputIterator> + + _Tp** + _M_allocate_map(size_t __n) + { return _Map_alloc_type::allocate(__n); } + void - _M_assign_dispatch(_InputIterator __first, _InputIterator __last, __false_type) - { - typedef typename iterator_traits<_InputIterator>::iterator_category _IterCategory; - _M_assign_aux(__first, __last, _IterCategory()); - } - - template <class _InputIterator> - void _M_assign_aux(_InputIterator __first, _InputIterator __last, - input_iterator_tag); - - template <class _ForwardIterator> - void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, - forward_iterator_tag) { - size_type __len = distance(__first, __last); - if (__len > size()) { - _ForwardIterator __mid = __first; - advance(__mid, size()); - copy(__first, __mid, begin()); - insert(end(), __mid, __last); - } - else - erase(copy(__first, __last, begin()), end()); - } - -public: // push_* and pop_* + _M_deallocate_map(_Tp** __p, size_t __n) + { _Map_alloc_type::deallocate(__p, __n); } - void - push_back(const value_type& __t) - { - if (_M_finish._M_cur != _M_finish._M_last - 1) { - _Construct(_M_finish._M_cur, __t); - ++_M_finish._M_cur; - } - else - _M_push_back_aux(__t); - } - - void - push_back() + _Tp** _M_map; + size_t _M_map_size; + }; + + + /** + * @if maint + * Deque base class. Using _Alloc_traits in the instantiation of the parent + * class provides the compile-time dispatching mentioned in the parent's + * docs. This class provides the unified face for %deque's allocation. + * + * Nothing in this class ever constructs or destroys an actual Tp element. + * (Deque handles that itself.) Only/All memory management is performed + * here. + * @endif + */ + template <typename _Tp, typename _Alloc> + class _Deque_base + : public _Deque_alloc_base<_Tp,_Alloc, + _Alloc_traits<_Tp, _Alloc>::_S_instanceless> { - if (_M_finish._M_cur != _M_finish._M_last - 1) { - _Construct(_M_finish._M_cur); - ++_M_finish._M_cur; - } - else - _M_push_back_aux(); - } - - void - push_front(const value_type& __t) + public: + typedef _Deque_alloc_base<_Tp,_Alloc, + _Alloc_traits<_Tp, _Alloc>::_S_instanceless> + _Base; + typedef typename _Base::allocator_type allocator_type; + typedef _Deque_iterator<_Tp,_Tp&,_Tp*> iterator; + typedef _Deque_iterator<_Tp,const _Tp&,const _Tp*> const_iterator; + + _Deque_base(const allocator_type& __a, size_t __num_elements) + : _Base(__a), _M_start(), _M_finish() + { _M_initialize_map(__num_elements); } + _Deque_base(const allocator_type& __a) + : _Base(__a), _M_start(), _M_finish() {} + ~_Deque_base(); + + protected: + void _M_initialize_map(size_t); + void _M_create_nodes(_Tp** __nstart, _Tp** __nfinish); + void _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish); + enum { _S_initial_map_size = 8 }; + + iterator _M_start; + iterator _M_finish; + }; + + + template <typename _Tp, typename _Alloc> + _Deque_base<_Tp,_Alloc>::~_Deque_base() { - if (_M_start._M_cur != _M_start._M_first) { - _Construct(_M_start._M_cur - 1, __t); - --_M_start._M_cur; + if (_M_map) + { + _M_destroy_nodes(_M_start._M_node, _M_finish._M_node + 1); + _M_deallocate_map(_M_map, _M_map_size); } - else - _M_push_front_aux(__t); } - + + /** + * @if maint + * @brief Layout storage. + * @param num_elements The count of T's for which to allocate space + * at first. + * @return Nothing. + * + * The initial underlying memory layout is a bit complicated... + * @endif + */ + template <typename _Tp, typename _Alloc> void - push_front() + _Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t __num_elements) { - if (_M_start._M_cur != _M_start._M_first) { - _Construct(_M_start._M_cur - 1); - --_M_start._M_cur; - } - else - _M_push_front_aux(); + size_t __num_nodes = + __num_elements / __deque_buf_size(sizeof(_Tp)) + 1; + + _M_map_size = max((size_t) _S_initial_map_size, __num_nodes + 2); + _M_map = _M_allocate_map(_M_map_size); + + // For "small" maps (needing less than _M_map_size nodes), allocation + // starts in the middle elements and grows outwards. So nstart may be the + // beginning of _M_map, but for small maps it may be as far in as _M_map+3. + + _Tp** __nstart = _M_map + (_M_map_size - __num_nodes) / 2; + _Tp** __nfinish = __nstart + __num_nodes; + + try + { _M_create_nodes(__nstart, __nfinish); } + catch(...) + { + _M_deallocate_map(_M_map, _M_map_size); + _M_map = 0; + _M_map_size = 0; + __throw_exception_again; + } + + _M_start._M_set_node(__nstart); + _M_finish._M_set_node(__nfinish - 1); + _M_start._M_cur = _M_start._M_first; + _M_finish._M_cur = _M_finish._M_first + + __num_elements % __deque_buf_size(sizeof(_Tp)); } - - - void - pop_back() + + template <typename _Tp, typename _Alloc> + void _Deque_base<_Tp,_Alloc>::_M_create_nodes(_Tp** __nstart, _Tp** __nfinish) { - if (_M_finish._M_cur != _M_finish._M_first) { - --_M_finish._M_cur; - _Destroy(_M_finish._M_cur); - } - else - _M_pop_back_aux(); + _Tp** __cur; + try + { + for (__cur = __nstart; __cur < __nfinish; ++__cur) + *__cur = _M_allocate_node(); + } + catch(...) + { + _M_destroy_nodes(__nstart, __cur); + __throw_exception_again; + } } - + + template <typename _Tp, typename _Alloc> void - pop_front() + _Deque_base<_Tp,_Alloc>::_M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish) { - if (_M_start._M_cur != _M_start._M_last - 1) { - _Destroy(_M_start._M_cur); - ++_M_start._M_cur; - } - else - _M_pop_front_aux(); + for (_Tp** __n = __nstart; __n < __nfinish; ++__n) + _M_deallocate_node(*__n); } - -public: // Insert - - iterator - insert(iterator position, const value_type& __x) + + + /** + * @brief A standard container using fixed-size memory allocation and + * constant-time manipulation of elements at either end. + * + * @ingroup Containers + * @ingroup Sequences + * + * Meets the requirements of a <a href="tables.html#65">container</a>, a + * <a href="tables.html#66">reversible container</a>, and a + * <a href="tables.html#67">sequence</a>, including the + * <a href="tables.html#68">optional sequence requirements</a>. + * + * In previous HP/SGI versions of deque, there was an extra template + * parameter so users could control the node size. This extension turned + * out to violate the C++ standard (it can be detected using template + * template parameters), and it was removed. + * + * @if maint + * Here's how a deque<Tp> manages memory. Each deque has 4 members: + * + * - Tp** _M_map + * - size_t _M_map_size + * - iterator _M_start, _M_finish + * + * map_size is at least 8. %map is an array of map_size pointers-to-"nodes". + * (The name %map has nothing to do with the std::map class, and "nodes" + * should not be confused with std::list's usage of "node".) + * + * A "node" has no specific type name as such, but it is referred to as + * "node" in this file. It is a simple array-of-Tp. If Tp is very large, + * there will be one Tp element per node (i.e., an "array" of one). + * For non-huge Tp's, node size is inversely related to Tp size: the + * larger the Tp, the fewer Tp's will fit in a node. The goal here is to + * keep the total size of a node relatively small and constant over different + * Tp's, to improve allocator efficiency. + * + * **** As I write this, the nodes are /not/ allocated using the high-speed + * memory pool. There are 20 hours left in the year; perhaps I can fix + * this before 2002. + * + * Not every pointer in the %map array will point to a node. If the initial + * number of elements in the deque is small, the /middle/ %map pointers will + * be valid, and the ones at the edges will be unused. This same situation + * will arise as the %map grows: available %map pointers, if any, will be on + * the ends. As new nodes are created, only a subset of the %map's pointers + * need to be copied "outward". + * + * Class invariants: + * - For any nonsingular iterator i: + * - i.node points to a member of the %map array. (Yes, you read that + * correctly: i.node does not actually point to a node.) The member of + * the %map array is what actually points to the node. + * - i.first == *(i.node) (This points to the node (first Tp element).) + * - i.last == i.first + node_size + * - i.cur is a pointer in the range [i.first, i.last). NOTE: + * the implication of this is that i.cur is always a dereferenceable + * pointer, even if i is a past-the-end iterator. + * - Start and Finish are always nonsingular iterators. NOTE: this means that + * an empty deque must have one node, a deque with <N elements (where N is + * the node buffer size) must have one node, a deque with N through (2N-1) + * elements must have two nodes, etc. + * - For every node other than start.node and finish.node, every element in + * the node is an initialized object. If start.node == finish.node, then + * [start.cur, finish.cur) are initialized objects, and the elements outside + * that range are uninitialized storage. Otherwise, [start.cur, start.last) + * and [finish.first, finish.cur) are initialized objects, and [start.first, + * start.cur) and [finish.cur, finish.last) are uninitialized storage. + * - [%map, %map + map_size) is a valid, non-empty range. + * - [start.node, finish.node] is a valid range contained within + * [%map, %map + map_size). + * - A pointer in the range [%map, %map + map_size) points to an allocated + * node if and only if the pointer is in the range + * [start.node, finish.node]. + * + * Here's the magic: nothing in deque is "aware" of the discontiguous + * storage! + * + * The memory setup and layout occurs in the parent, _Base, and the iterator + * class is entirely responsible for "leaping" from one node to the next. + * All the implementation routines for deque itself work only through the + * start and finish iterators. This keeps the routines simple and sane, + * and we can use other standard algorithms as well. + * @endif + */ + template <typename _Tp, typename _Alloc = allocator<_Tp> > + class deque : protected _Deque_base<_Tp, _Alloc> { - if (position._M_cur == _M_start._M_cur) { - push_front(__x); - return _M_start; - } - else if (position._M_cur == _M_finish._M_cur) { - push_back(__x); - iterator __tmp = _M_finish; - --__tmp; - return __tmp; - } - else { - return _M_insert_aux(position, __x); - } - } - - iterator - insert(iterator __position) - { return insert(__position, value_type()); } - - void - insert(iterator __pos, size_type __n, const value_type& __x) - { _M_fill_insert(__pos, __n, __x); } - - void - _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); - - // Check whether it's an integral type. If so, it's not an iterator. - template<class _InputIterator> + // concept requirements + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + + typedef _Deque_base<_Tp, _Alloc> _Base; + + public: + typedef _Tp value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef typename _Base::iterator iterator; + typedef typename _Base::const_iterator const_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef typename _Base::allocator_type allocator_type; + + protected: + typedef pointer* _Map_pointer; + static size_t _S_buffer_size() { return __deque_buf_size(sizeof(_Tp)); } + + // Functions controlling memory layout, and nothing else. + using _Base::_M_initialize_map; + using _Base::_M_create_nodes; + using _Base::_M_destroy_nodes; + using _Base::_M_allocate_node; + using _Base::_M_deallocate_node; + using _Base::_M_allocate_map; + using _Base::_M_deallocate_map; + + /** @if maint + * A total of four data members accumulated down the heirarchy. If the + * _Alloc type requires separate instances, then two of them will also be + * included in each deque. + * @endif + */ + using _Base::_M_map; + using _Base::_M_map_size; + using _Base::_M_start; + using _Base::_M_finish; + + public: + // [23.2.1.1] construct/copy/destroy + // (assign() and get_allocator() are also listed in this section) + /** + * @brief Default constructor creates no elements. + */ + explicit + deque(const allocator_type& __a = allocator_type()) + : _Base(__a, 0) {} + + /** + * @brief Create a %deque with copies of an exemplar element. + * @param n The number of elements to initially create. + * @param value An element to copy. + * + * This constructor fills the %deque with @a n copies of @a value. + */ + deque(size_type __n, const value_type& __value, + const allocator_type& __a = allocator_type()) + : _Base(__a, __n) + { _M_fill_initialize(__value); } + + /** + * @brief Create a %deque with default elements. + * @param n The number of elements to initially create. + * + * This constructor fills the %deque with @a n copies of a + * default-constructed element. + */ + explicit + deque(size_type __n) + : _Base(allocator_type(), __n) + { _M_fill_initialize(value_type()); } + + /** + * @brief %Deque copy constructor. + * @param x A %deque of identical element and allocator types. + * + * The newly-created %deque uses a copy of the allocation object used + * by @a x. + */ + deque(const deque& __x) + : _Base(__x.get_allocator(), __x.size()) + { uninitialized_copy(__x.begin(), __x.end(), _M_start); } + + /** + * @brief Builds a %deque from a range. + * @param first An input iterator. + * @param last An input iterator. + * + * Create a %deque consisting of copies of the elements from [first,last). + * + * If the iterators are forward, bidirectional, or random-access, then + * this will call the elements' copy constructor N times (where N is + * distance(first,last)) and do no memory reallocation. But if only + * input iterators are used, then this will do at most 2N calls to the + * copy constructor, and logN memory reallocations. + */ + template<typename _InputIterator> + deque(_InputIterator __first, _InputIterator __last, + const allocator_type& __a = allocator_type()) + : _Base(__a) + { + // Check whether it's an integral type. If so, it's not an iterator. + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_dispatch(__first, __last, _Integral()); + } + + /** + * The dtor only erases the elements, and note that if the elements + * themselves are pointers, the pointed-to memory is not touched in any + * way. Managing the pointer is the user's responsibilty. + */ + ~deque() { _Destroy(_M_start, _M_finish); } + + /** + * @brief %Deque assignment operator. + * @param x A %deque of identical element and allocator types. + * + * All the elements of @a x are copied, but unlike the copy constructor, + * the allocator object is not copied. + */ + deque& + operator=(const deque& __x); + + /** + * @brief Assigns a given value to a %deque. + * @param n Number of elements to be assigned. + * @param val Value to be assigned. + * + * This function fills a %deque with @a n copies of the given value. + * Note that the assignment completely changes the %deque and that the + * resulting %deque's size is the same as the number of elements assigned. + * Old data may be lost. + */ + void + assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } + + /** + * @brief Assigns a range to a %deque. + * @param first An input iterator. + * @param last An input iterator. + * + * This function fills a %deque with copies of the elements in the + * range [first,last). + * + * Note that the assignment completely changes the %deque and that the + * resulting %deque's size is the same as the number of elements assigned. + * Old data may be lost. + */ + template<typename _InputIterator> + void + assign(_InputIterator __first, _InputIterator __last) + { + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_assign_dispatch(__first, __last, _Integral()); + } + + /// Get a copy of the memory allocation object. + allocator_type + get_allocator() const { return _Base::get_allocator(); } + + // iterators + /** + * Returns a read/write iterator that points to the first element in the + * %deque. Iteration is done in ordinary element order. + */ + iterator + begin() { return _M_start; } + + /** + * Returns a read-only (constant) iterator that points to the first element + * in the %deque. Iteration is done in ordinary element order. + */ + const_iterator + begin() const { return _M_start; } + + /** + * Returns a read/write iterator that points one past the last element in + * the %deque. Iteration is done in ordinary element order. + */ + iterator + end() { return _M_finish; } + + /** + * Returns a read-only (constant) iterator that points one past the last + * element in the %deque. Iteration is done in ordinary element order. + */ + const_iterator + end() const { return _M_finish; } + + /** + * Returns a read/write reverse iterator that points to the last element in + * the %deque. Iteration is done in reverse element order. + */ + reverse_iterator + rbegin() { return reverse_iterator(_M_finish); } + + /** + * Returns a read-only (constant) reverse iterator that points to the last + * element in the %deque. Iteration is done in reverse element order. + */ + const_reverse_iterator + rbegin() const { return const_reverse_iterator(_M_finish); } + + /** + * Returns a read/write reverse iterator that points to one before the + * first element in the %deque. Iteration is done in reverse element + * order. + */ + reverse_iterator + rend() { return reverse_iterator(_M_start); } + + /** + * Returns a read-only (constant) reverse iterator that points to one + * before the first element in the %deque. Iteration is done in reverse + * element order. + */ + const_reverse_iterator + rend() const { return const_reverse_iterator(_M_start); } + + // [23.2.1.2] capacity + /** Returns the number of elements in the %deque. */ + size_type + size() const { return _M_finish - _M_start; } + + /** Returns the size() of the largest possible %deque. */ + size_type + max_size() const { return size_type(-1); } + + /** + * @brief Resizes the %deque to the specified number of elements. + * @param new_size Number of elements the %deque should contain. + * @param x Data with which new elements should be populated. + * + * This function will %resize the %deque to the specified number of + * elements. If the number is smaller than the %deque's current size the + * %deque is truncated, otherwise the %deque is extended and new elements + * are populated with given data. + */ void - insert(iterator __pos, _InputIterator __first, _InputIterator __last) + resize(size_type __new_size, const value_type& __x) { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_insert_dispatch(__pos, __first, __last, _Integral()); + const size_type __len = size(); + if (__new_size < __len) + erase(_M_start + __new_size, _M_finish); + else + insert(_M_finish, __new_size - __len, __x); } - - template<class _Integer> + + /** + * @brief Resizes the %deque to the specified number of elements. + * @param new_size Number of elements the %deque should contain. + * + * This function will resize the %deque to the specified number of + * elements. If the number is smaller than the %deque's current size the + * %deque is truncated, otherwise the %deque is extended and new elements + * are default-constructed. + */ void - _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, __true_type) - { _M_fill_insert(__pos, static_cast<size_type>(__n), static_cast<value_type>(__x)); } - - template<class _InputIterator> + resize(size_type new_size) { resize(new_size, value_type()); } + + /** + * Returns true if the %deque is empty. (Thus begin() would equal end().) + */ + bool empty() const { return _M_finish == _M_start; } + + // element access + /** + * @brief Subscript access to the data contained in the %deque. + * @param n The index of the element for which data should be accessed. + * @return Read/write reference to data. + * + * This operator allows for easy, array-style, data access. + * Note that data access with this operator is unchecked and out_of_range + * lookups are not defined. (For checked lookups see at().) + */ + reference + operator[](size_type __n) { return _M_start[difference_type(__n)]; } + + /** + * @brief Subscript access to the data contained in the %deque. + * @param n The index of the element for which data should be accessed. + * @return Read-only (constant) reference to data. + * + * This operator allows for easy, array-style, data access. + * Note that data access with this operator is unchecked and out_of_range + * lookups are not defined. (For checked lookups see at().) + */ + const_reference + operator[](size_type __n) const { return _M_start[difference_type(__n)]; } + + protected: + /// @if maint Safety check used only from at(). @endif void - _M_insert_dispatch(iterator __pos, - _InputIterator __first, _InputIterator __last, - __false_type) + _M_range_check(size_type __n) const { - typedef typename iterator_traits<_InputIterator>::iterator_category _IterCategory; - insert(__pos, __first, __last, _IterCategory()); - } - - void resize(size_type __new_size, const value_type& __x) { - const size_type __len = size(); - if (__new_size < __len) - erase(_M_start + __new_size, _M_finish); - else - insert(_M_finish, __new_size - __len, __x); - } - - void resize(size_type new_size) { resize(new_size, value_type()); } - -public: // Erase - iterator erase(iterator __pos) { - iterator __next = __pos; - ++__next; - size_type __index = __pos - _M_start; - if (__index < (size() >> 1)) { - copy_backward(_M_start, __pos, __next); - pop_front(); - } - else { - copy(__next, _M_finish, __pos); - pop_back(); - } - return _M_start + __index; - } - - iterator erase(iterator __first, iterator __last); - void clear(); - -protected: // Internal construction/destruction - - void _M_fill_initialize(const value_type& __value); - - template <class _InputIterator> - void _M_range_initialize(_InputIterator __first, _InputIterator __last, - input_iterator_tag); - - template <class _ForwardIterator> - void _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, - forward_iterator_tag); - -protected: // Internal push_* and pop_* - - void _M_push_back_aux(const value_type&); - void _M_push_back_aux(); - void _M_push_front_aux(const value_type&); - void _M_push_front_aux(); - void _M_pop_back_aux(); - void _M_pop_front_aux(); - -protected: // Internal insert functions - - template <class _InputIterator> - void insert(iterator __pos, _InputIterator __first, _InputIterator __last, - input_iterator_tag); - - template <class _ForwardIterator> - void insert(iterator __pos, - _ForwardIterator __first, _ForwardIterator __last, - forward_iterator_tag); - - iterator _M_insert_aux(iterator __pos, const value_type& __x); - iterator _M_insert_aux(iterator __pos); - void _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); - - template <class _ForwardIterator> - void _M_insert_aux(iterator __pos, - _ForwardIterator __first, _ForwardIterator __last, - size_type __n); - - iterator _M_reserve_elements_at_front(size_type __n) { - size_type __vacancies = _M_start._M_cur - _M_start._M_first; - if (__n > __vacancies) - _M_new_elements_at_front(__n - __vacancies); - return _M_start - difference_type(__n); - } - - iterator _M_reserve_elements_at_back(size_type __n) { - size_type __vacancies = (_M_finish._M_last - _M_finish._M_cur) - 1; - if (__n > __vacancies) - _M_new_elements_at_back(__n - __vacancies); - return _M_finish + difference_type(__n); - } - - void _M_new_elements_at_front(size_type __new_elements); - void _M_new_elements_at_back(size_type __new_elements); - -protected: // Allocation of _M_map and nodes - - // Makes sure the _M_map has space for new nodes. Does not actually - // add the nodes. Can invalidate _M_map pointers. (And consequently, - // deque iterators.) - - void _M_reserve_map_at_back (size_type __nodes_to_add = 1) { - if (__nodes_to_add + 1 > _M_map_size - (_M_finish._M_node - _M_map)) - _M_reallocate_map(__nodes_to_add, false); - } - - void _M_reserve_map_at_front (size_type __nodes_to_add = 1) { - if (__nodes_to_add > size_type(_M_start._M_node - _M_map)) - _M_reallocate_map(__nodes_to_add, true); - } - - void _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front); -}; - -// Non-inline member functions - -template <class _Tp, class _Alloc> -template <class _InputIter> -void deque<_Tp, _Alloc> - ::_M_assign_aux(_InputIter __first, _InputIter __last, input_iterator_tag) -{ - iterator __cur = begin(); - for ( ; __first != __last && __cur != end(); ++__cur, ++__first) - *__cur = *__first; - if (__first == __last) - erase(__cur, end()); - else - insert(end(), __first, __last); -} - -template <class _Tp, class _Alloc> -void deque<_Tp, _Alloc>::_M_fill_insert(iterator __pos, - size_type __n, const value_type& __x) -{ - if (__pos._M_cur == _M_start._M_cur) { - iterator __new_start = _M_reserve_elements_at_front(__n); - try { - uninitialized_fill(__new_start, _M_start, __x); - _M_start = __new_start; - } - catch(...) - { - _M_destroy_nodes(__new_start._M_node, _M_start._M_node); - __throw_exception_again; - } - } - else if (__pos._M_cur == _M_finish._M_cur) { - iterator __new_finish = _M_reserve_elements_at_back(__n); - try { - uninitialized_fill(_M_finish, __new_finish, __x); - _M_finish = __new_finish; - } - catch(...) - { - _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); - __throw_exception_again; - } - } - else - _M_insert_aux(__pos, __n, __x); -} - -template <class _Tp, class _Alloc> -typename deque<_Tp,_Alloc>::iterator -deque<_Tp,_Alloc>::erase(iterator __first, iterator __last) -{ - if (__first == _M_start && __last == _M_finish) { - clear(); - return _M_finish; - } - else { - difference_type __n = __last - __first; - difference_type __elems_before = __first - _M_start; - if (static_cast<size_type>(__elems_before) < (size() - __n) / 2) { - copy_backward(_M_start, __first, __last); - iterator __new_start = _M_start + __n; - _Destroy(_M_start, __new_start); - _M_destroy_nodes(_M_start._M_node, __new_start._M_node); - _M_start = __new_start; - } - else { - copy(__last, _M_finish, __first); - iterator __new_finish = _M_finish - __n; - _Destroy(__new_finish, _M_finish); - _M_destroy_nodes(__new_finish._M_node + 1, _M_finish._M_node + 1); - _M_finish = __new_finish; + if (__n >= this->size()) + __throw_out_of_range("deque [] access out of range"); } - return _M_start + __elems_before; - } -} - -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::clear() -{ - for (_Map_pointer __node = _M_start._M_node + 1; - __node < _M_finish._M_node; - ++__node) { - _Destroy(*__node, *__node + _S_buffer_size()); - _M_deallocate_node(*__node); - } - - if (_M_start._M_node != _M_finish._M_node) { - _Destroy(_M_start._M_cur, _M_start._M_last); - _Destroy(_M_finish._M_first, _M_finish._M_cur); - _M_deallocate_node(_M_finish._M_first); - } - else - _Destroy(_M_start._M_cur, _M_finish._M_cur); - - _M_finish = _M_start; -} - -/** - * @if maint - * @brief Fills the deque with copies of value. - * @param value Initial value. - * @return Nothing. - * @pre _M_start and _M_finish have already been initialized, but none of the - * deque's elements have yet been constructed. - * - * This function is called only when the user provides an explicit size (with - * or without an explicit exemplar value). - * @endif -*/ -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::_M_fill_initialize(const value_type& __value) -{ - _Map_pointer __cur; - try { - for (__cur = _M_start._M_node; __cur < _M_finish._M_node; ++__cur) - uninitialized_fill(*__cur, *__cur + _S_buffer_size(), __value); - uninitialized_fill(_M_finish._M_first, _M_finish._M_cur, __value); - } - catch(...) + + public: + /** + * @brief Provides access to the data contained in the %deque. + * @param n The index of the element for which data should be accessed. + * @return Read/write reference to data. + * @throw std::out_of_range If @a n is an invalid index. + * + * This function provides for safer data access. The parameter is first + * checked that it is in the range of the deque. The function throws + * out_of_range if the check fails. + */ + reference + at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } + + /** + * @brief Provides access to the data contained in the %deque. + * @param n The index of the element for which data should be accessed. + * @return Read-only (constant) reference to data. + * @throw std::out_of_range If @a n is an invalid index. + * + * This function provides for safer data access. The parameter is first + * checked that it is in the range of the deque. The function throws + * out_of_range if the check fails. + */ + const_reference + at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } + + /** + * Returns a read/write reference to the data at the first element of the + * %deque. + */ + reference + front() { return *_M_start; } + + /** + * Returns a read-only (constant) reference to the data at the first + * element of the %deque. + */ + const_reference + front() const { return *_M_start; } + + /** + * Returns a read/write reference to the data at the last element of the + * %deque. + */ + reference + back() { - _Destroy(_M_start, iterator(*__cur, __cur)); - __throw_exception_again; + iterator __tmp = _M_finish; + --__tmp; + return *__tmp; } -} - -/** @{ - * @if maint - * @brief Fills the deque with whatever is in [first,last). - * @param first An input iterator. - * @param last An input iterator. - * @return Nothing. - * - * If the iterators are actually forward iterators (or better), then the - * memory layout can be done all at once. Else we move forward using - * push_back on each value from the iterator. - * @endif -*/ -template <class _Tp, class _Alloc> template <class _InputIterator> -void deque<_Tp,_Alloc>::_M_range_initialize(_InputIterator __first, - _InputIterator __last, - input_iterator_tag) -{ - _M_initialize_map(0); - try { - for ( ; __first != __last; ++__first) - push_back(*__first); - } - catch(...) + + /** + * Returns a read-only (constant) reference to the data at the last + * element of the %deque. + */ + const_reference + back() const { - clear(); - __throw_exception_again; - } -} - -template <class _Tp, class _Alloc> template <class _ForwardIterator> -void deque<_Tp,_Alloc>::_M_range_initialize(_ForwardIterator __first, - _ForwardIterator __last, - forward_iterator_tag) -{ - size_type __n = distance(__first, __last); - _M_initialize_map(__n); - - _Map_pointer __cur_node; - try { - for (__cur_node = _M_start._M_node; - __cur_node < _M_finish._M_node; - ++__cur_node) { - _ForwardIterator __mid = __first; - advance(__mid, _S_buffer_size()); - uninitialized_copy(__first, __mid, *__cur_node); - __first = __mid; + const_iterator __tmp = _M_finish; + --__tmp; + return *__tmp; } - uninitialized_copy(__first, __last, _M_finish._M_first); - } - catch(...) + + // [23.2.1.2] modifiers + /** + * @brief Add data to the front of the %deque. + * @param x Data to be added. + * + * This is a typical stack operation. The function creates an element at + * the front of the %deque and assigns the given data to it. Due to the + * nature of a %deque this operation can be done in constant time. + */ + void + push_front(const value_type& __x) { - _Destroy(_M_start, iterator(*__cur_node, __cur_node)); - __throw_exception_again; + if (_M_start._M_cur != _M_start._M_first) { + _Construct(_M_start._M_cur - 1, __x); + --_M_start._M_cur; + } + else + _M_push_front_aux(__x); } -} -/** @} */ - -// Called only if _M_finish._M_cur == _M_finish._M_last - 1. -template <class _Tp, class _Alloc> -void -deque<_Tp,_Alloc>::_M_push_back_aux(const value_type& __t) -{ - value_type __t_copy = __t; - _M_reserve_map_at_back(); - *(_M_finish._M_node + 1) = _M_allocate_node(); - try { - _Construct(_M_finish._M_cur, __t_copy); - _M_finish._M_set_node(_M_finish._M_node + 1); - _M_finish._M_cur = _M_finish._M_first; - } - catch(...) + + #ifdef _GLIBCPP_DEPRECATED + /** + * @brief Add data to the front of the %deque. + * + * This is a typical stack operation. The function creates a + * default-constructed element at the front of the %deque. Due to the + * nature of a %deque this operation can be done in constant time. You + * should consider using push_front(value_type()) instead. + * + * @note This was deprecated in 3.2 and will be removed in 3.4. You must + * define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see + * c++config.h. + */ + void + push_front() { - _M_deallocate_node(*(_M_finish._M_node + 1)); - __throw_exception_again; + if (_M_start._M_cur != _M_start._M_first) { + _Construct(_M_start._M_cur - 1); + --_M_start._M_cur; + } + else + _M_push_front_aux(); } -} - -// Called only if _M_finish._M_cur == _M_finish._M_last - 1. -template <class _Tp, class _Alloc> -void -deque<_Tp,_Alloc>::_M_push_back_aux() -{ - _M_reserve_map_at_back(); - *(_M_finish._M_node + 1) = _M_allocate_node(); - try { - _Construct(_M_finish._M_cur); - _M_finish._M_set_node(_M_finish._M_node + 1); - _M_finish._M_cur = _M_finish._M_first; - } - catch(...) + #endif + + /** + * @brief Add data to the end of the %deque. + * @param x Data to be added. + * + * This is a typical stack operation. The function creates an element at + * the end of the %deque and assigns the given data to it. Due to the + * nature of a %deque this operation can be done in constant time. + */ + void + push_back(const value_type& __x) { - _M_deallocate_node(*(_M_finish._M_node + 1)); - __throw_exception_again; + if (_M_finish._M_cur != _M_finish._M_last - 1) { + _Construct(_M_finish._M_cur, __x); + ++_M_finish._M_cur; + } + else + _M_push_back_aux(__x); } -} - -// Called only if _M_start._M_cur == _M_start._M_first. -template <class _Tp, class _Alloc> -void -deque<_Tp,_Alloc>::_M_push_front_aux(const value_type& __t) -{ - value_type __t_copy = __t; - _M_reserve_map_at_front(); - *(_M_start._M_node - 1) = _M_allocate_node(); - try { - _M_start._M_set_node(_M_start._M_node - 1); - _M_start._M_cur = _M_start._M_last - 1; - _Construct(_M_start._M_cur, __t_copy); - } - catch(...) + + #ifdef _GLIBCPP_DEPRECATED + /** + * @brief Add data to the end of the %deque. + * + * This is a typical stack operation. The function creates a + * default-constructed element at the end of the %deque. Due to the nature + * of a %deque this operation can be done in constant time. You should + * consider using push_back(value_type()) instead. + * + * @note This was deprecated in 3.2 and will be removed in 3.4. You must + * define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see + * c++config.h. + */ + void + push_back() { - ++_M_start; - _M_deallocate_node(*(_M_start._M_node - 1)); - __throw_exception_again; + if (_M_finish._M_cur != _M_finish._M_last - 1) { + _Construct(_M_finish._M_cur); + ++_M_finish._M_cur; + } + else + _M_push_back_aux(); } -} - -// Called only if _M_start._M_cur == _M_start._M_first. -template <class _Tp, class _Alloc> -void -deque<_Tp,_Alloc>::_M_push_front_aux() -{ - _M_reserve_map_at_front(); - *(_M_start._M_node - 1) = _M_allocate_node(); - try { - _M_start._M_set_node(_M_start._M_node - 1); - _M_start._M_cur = _M_start._M_last - 1; - _Construct(_M_start._M_cur); - } - catch(...) + #endif + + /** + * @brief Removes first element. + * + * This is a typical stack operation. It shrinks the %deque by one. + * + * Note that no data is returned, and if the first element's data is + * needed, it should be retrieved before pop_front() is called. + */ + void + pop_front() { - ++_M_start; - _M_deallocate_node(*(_M_start._M_node - 1)); - __throw_exception_again; + if (_M_start._M_cur != _M_start._M_last - 1) { + _Destroy(_M_start._M_cur); + ++_M_start._M_cur; + } + else + _M_pop_front_aux(); } -} - -// Called only if _M_finish._M_cur == _M_finish._M_first. -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::_M_pop_back_aux() -{ - _M_deallocate_node(_M_finish._M_first); - _M_finish._M_set_node(_M_finish._M_node - 1); - _M_finish._M_cur = _M_finish._M_last - 1; - _Destroy(_M_finish._M_cur); -} - -// Called only if _M_start._M_cur == _M_start._M_last - 1. Note that -// if the deque has at least one element (a precondition for this member -// function), and if _M_start._M_cur == _M_start._M_last, then the deque -// must have at least two nodes. -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::_M_pop_front_aux() -{ - _Destroy(_M_start._M_cur); - _M_deallocate_node(_M_start._M_first); - _M_start._M_set_node(_M_start._M_node + 1); - _M_start._M_cur = _M_start._M_first; -} - -template <class _Tp, class _Alloc> template <class _InputIterator> -void deque<_Tp,_Alloc>::insert(iterator __pos, - _InputIterator __first, _InputIterator __last, - input_iterator_tag) -{ - copy(__first, __last, inserter(*this, __pos)); -} - -template <class _Tp, class _Alloc> template <class _ForwardIterator> -void -deque<_Tp,_Alloc>::insert(iterator __pos, - _ForwardIterator __first, _ForwardIterator __last, - forward_iterator_tag) { - size_type __n = distance(__first, __last); - if (__pos._M_cur == _M_start._M_cur) { - iterator __new_start = _M_reserve_elements_at_front(__n); - try { - uninitialized_copy(__first, __last, __new_start); - _M_start = __new_start; + + /** + * @brief Removes last element. + * + * This is a typical stack operation. It shrinks the %deque by one. + * + * Note that no data is returned, and if the last element's data is + * needed, it should be retrieved before pop_back() is called. + */ + void + pop_back() + { + if (_M_finish._M_cur != _M_finish._M_first) { + --_M_finish._M_cur; + _Destroy(_M_finish._M_cur); + } + else + _M_pop_back_aux(); } - catch(...) + + /** + * @brief Inserts given value into %deque before specified iterator. + * @param position An iterator into the %deque. + * @param x Data to be inserted. + * @return An iterator that points to the inserted data. + * + * This function will insert a copy of the given value before the specified + * location. + */ + iterator + insert(iterator position, const value_type& __x); + + #ifdef _GLIBCPP_DEPRECATED + /** + * @brief Inserts an element into the %deque. + * @param position An iterator into the %deque. + * @return An iterator that points to the inserted element. + * + * This function will insert a default-constructed element before the + * specified location. You should consider using + * insert(position,value_type()) instead. + * + * @note This was deprecated in 3.2 and will be removed in 3.4. You must + * define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see + * c++config.h. + */ + iterator + insert(iterator __position) + { return insert(__position, value_type()); } + #endif + + /** + * @brief Inserts a number of copies of given data into the %deque. + * @param position An iterator into the %deque. + * @param n Number of elements to be inserted. + * @param x Data to be inserted. + * + * This function will insert a specified number of copies of the given data + * before the location specified by @a position. + */ + void + insert(iterator __position, size_type __n, const value_type& __x) + { _M_fill_insert(__position, __n, __x); } + + /** + * @brief Inserts a range into the %deque. + * @param pos An iterator into the %deque. + * @param first An input iterator. + * @param last An input iterator. + * + * This function will insert copies of the data in the range [first,last) + * into the %deque before the location specified by @a pos. This is + * known as "range insert." + */ + template<typename _InputIterator> + void + insert(iterator __pos, _InputIterator __first, _InputIterator __last) { - _M_destroy_nodes(__new_start._M_node, _M_start._M_node); - __throw_exception_again; + // Check whether it's an integral type. If so, it's not an iterator. + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_insert_dispatch(__pos, __first, __last, _Integral()); } - } - else if (__pos._M_cur == _M_finish._M_cur) { - iterator __new_finish = _M_reserve_elements_at_back(__n); - try { - uninitialized_copy(__first, __last, _M_finish); - _M_finish = __new_finish; + + /** + * @brief Remove element at given position. + * @param position Iterator pointing to element to be erased. + * @return An iterator pointing to the next element (or end()). + * + * This function will erase the element at the given position and thus + * shorten the %deque by one. + * + * The user is cautioned that + * this function only erases the element, and that if the element is itself + * a pointer, the pointed-to memory is not touched in any way. Managing + * the pointer is the user's responsibilty. + */ + iterator + erase(iterator __position); + + /** + * @brief Remove a range of elements. + * @param first Iterator pointing to the first element to be erased. + * @param last Iterator pointing to one past the last element to be + * erased. + * @return An iterator pointing to the element pointed to by @a last + * prior to erasing (or end()). + * + * This function will erase the elements in the range [first,last) and + * shorten the %deque accordingly. + * + * The user is cautioned that + * this function only erases the elements, and that if the elements + * themselves are pointers, the pointed-to memory is not touched in any + * way. Managing the pointer is the user's responsibilty. + */ + iterator + erase(iterator __first, iterator __last); + + /** + * @brief Swaps data with another %deque. + * @param x A %deque of the same element and allocator types. + * + * This exchanges the elements between two deques in constant time. + * (Four pointers, so it should be quite fast.) + * Note that the global std::swap() function is specialized such that + * std::swap(d1,d2) will feed to this function. + */ + void + swap(deque& __x) + { + std::swap(_M_start, __x._M_start); + std::swap(_M_finish, __x._M_finish); + std::swap(_M_map, __x._M_map); + std::swap(_M_map_size, __x._M_map_size); } - catch(...) + + /** + * Erases all the elements. Note that this function only erases the + * elements, and that if the elements themselves are pointers, the + * pointed-to memory is not touched in any way. Managing the pointer is + * the user's responsibilty. + */ + void clear(); + + protected: + // Internal constructor functions follow. + + // called by the range constructor to implement [23.1.1]/9 + template<typename _Integer> + void + _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { - _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); - __throw_exception_again; + _M_initialize_map(__n); + _M_fill_initialize(__x); } - } - else - _M_insert_aux(__pos, __first, __last, __n); -} - -template <class _Tp, class _Alloc> -typename deque<_Tp, _Alloc>::iterator -deque<_Tp,_Alloc>::_M_insert_aux(iterator __pos, const value_type& __x) -{ - difference_type __index = __pos - _M_start; - value_type __x_copy = __x; - if (static_cast<size_type>(__index) < size() / 2) { - push_front(front()); - iterator __front1 = _M_start; - ++__front1; - iterator __front2 = __front1; - ++__front2; - __pos = _M_start + __index; - iterator __pos1 = __pos; - ++__pos1; - copy(__front2, __pos1, __front1); - } - else { - push_back(back()); - iterator __back1 = _M_finish; - --__back1; - iterator __back2 = __back1; - --__back2; - __pos = _M_start + __index; - copy_backward(__pos, __back2, __back1); - } - *__pos = __x_copy; - return __pos; -} - -template <class _Tp, class _Alloc> -typename deque<_Tp,_Alloc>::iterator -deque<_Tp,_Alloc>::_M_insert_aux(iterator __pos) -{ - difference_type __index = __pos - _M_start; - if (static_cast<size_type>(__index) < size() / 2) { - push_front(front()); - iterator __front1 = _M_start; - ++__front1; - iterator __front2 = __front1; - ++__front2; - __pos = _M_start + __index; - iterator __pos1 = __pos; - ++__pos1; - copy(__front2, __pos1, __front1); - } - else { - push_back(back()); - iterator __back1 = _M_finish; - --__back1; - iterator __back2 = __back1; - --__back2; - __pos = _M_start + __index; - copy_backward(__pos, __back2, __back1); - } - *__pos = value_type(); - return __pos; -} - -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::_M_insert_aux(iterator __pos, - size_type __n, - const value_type& __x) -{ - const difference_type __elems_before = __pos - _M_start; - size_type __length = this->size(); - value_type __x_copy = __x; - if (__elems_before < difference_type(__length / 2)) { - iterator __new_start = _M_reserve_elements_at_front(__n); - iterator __old_start = _M_start; - __pos = _M_start + __elems_before; - try { - if (__elems_before >= difference_type(__n)) { - iterator __start_n = _M_start + difference_type(__n); - uninitialized_copy(_M_start, __start_n, __new_start); - _M_start = __new_start; - copy(__start_n, __pos, __old_start); - fill(__pos - difference_type(__n), __pos, __x_copy); - } - else { - __uninitialized_copy_fill(_M_start, __pos, __new_start, - _M_start, __x_copy); - _M_start = __new_start; - fill(__old_start, __pos, __x_copy); - } - } - catch(...) - { - _M_destroy_nodes(__new_start._M_node, _M_start._M_node); - __throw_exception_again; + + // called by the range constructor to implement [23.1.1]/9 + template<typename _InputIter> + void + _M_initialize_dispatch(_InputIter __first, _InputIter __last, + __false_type) + { + typedef typename iterator_traits<_InputIter>::iterator_category + _IterCategory; + _M_range_initialize(__first, __last, _IterCategory()); } - } - else { - iterator __new_finish = _M_reserve_elements_at_back(__n); - iterator __old_finish = _M_finish; - const difference_type __elems_after = - difference_type(__length) - __elems_before; - __pos = _M_finish - __elems_after; - try { - if (__elems_after > difference_type(__n)) { - iterator __finish_n = _M_finish - difference_type(__n); - uninitialized_copy(__finish_n, _M_finish, _M_finish); - _M_finish = __new_finish; - copy_backward(__pos, __finish_n, __old_finish); - fill(__pos, __pos + difference_type(__n), __x_copy); + + // called by the second initialize_dispatch above + //@{ + /** + * @if maint + * @brief Fills the deque with whatever is in [first,last). + * @param first An input iterator. + * @param last An input iterator. + * @return Nothing. + * + * If the iterators are actually forward iterators (or better), then the + * memory layout can be done all at once. Else we move forward using + * push_back on each value from the iterator. + * @endif + */ + template <typename _InputIterator> + void + _M_range_initialize(_InputIterator __first, _InputIterator __last, + input_iterator_tag); + + // called by the second initialize_dispatch above + template <typename _ForwardIterator> + void + _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last, + forward_iterator_tag); + //@} + + /** + * @if maint + * @brief Fills the %deque with copies of value. + * @param value Initial value. + * @return Nothing. + * @pre _M_start and _M_finish have already been initialized, but none of + * the %deque's elements have yet been constructed. + * + * This function is called only when the user provides an explicit size + * (with or without an explicit exemplar value). + * @endif + */ + void + _M_fill_initialize(const value_type& __value); + + + // Internal assign functions follow. The *_aux functions do the actual + // assignment work for the range versions. + + // called by the range assign to implement [23.1.1]/9 + template<typename _Integer> + void + _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) + { + _M_fill_assign(static_cast<size_type>(__n), + static_cast<value_type>(__val)); } - else { - __uninitialized_fill_copy(_M_finish, __pos + difference_type(__n), - __x_copy, __pos, _M_finish); - _M_finish = __new_finish; - fill(__pos, __old_finish, __x_copy); + + // called by the range assign to implement [23.1.1]/9 + template<typename _InputIter> + void + _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type) + { + typedef typename iterator_traits<_InputIter>::iterator_category + _IterCategory; + _M_assign_aux(__first, __last, _IterCategory()); } - } - catch(...) - { - _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); - __throw_exception_again; + + // called by the second assign_dispatch above + template <typename _InputIterator> + void + _M_assign_aux(_InputIterator __first, _InputIterator __last, + input_iterator_tag); + + // called by the second assign_dispatch above + template <typename _ForwardIterator> + void + _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, + forward_iterator_tag) + { + size_type __len = distance(__first, __last); + if (__len > size()) { + _ForwardIterator __mid = __first; + advance(__mid, size()); + copy(__first, __mid, begin()); + insert(end(), __mid, __last); + } + else + erase(copy(__first, __last, begin()), end()); } - } -} - -template <class _Tp, class _Alloc> template <class _ForwardIterator> -void deque<_Tp,_Alloc>::_M_insert_aux(iterator __pos, - _ForwardIterator __first, - _ForwardIterator __last, - size_type __n) -{ - const difference_type __elemsbefore = __pos - _M_start; - size_type __length = size(); - if (static_cast<size_type>(__elemsbefore) < __length / 2) { - iterator __new_start = _M_reserve_elements_at_front(__n); - iterator __old_start = _M_start; - __pos = _M_start + __elemsbefore; - try { - if (__elemsbefore >= difference_type(__n)) { - iterator __start_n = _M_start + difference_type(__n); - uninitialized_copy(_M_start, __start_n, __new_start); - _M_start = __new_start; - copy(__start_n, __pos, __old_start); - copy(__first, __last, __pos - difference_type(__n)); + + // Called by assign(n,t), and the range assign when it turns out to be the + // same thing. + void + _M_fill_assign(size_type __n, const value_type& __val) + { + if (__n > size()) + { + fill(begin(), end(), __val); + insert(end(), __n - size(), __val); } - else { - _ForwardIterator __mid = __first; - advance(__mid, difference_type(__n) - __elemsbefore); - __uninitialized_copy_copy(_M_start, __pos, __first, __mid, - __new_start); - _M_start = __new_start; - copy(__mid, __last, __old_start); + else + { + erase(begin() + __n, end()); + fill(begin(), end(), __val); } } - catch(...) + + + //@{ + /** + * @if maint + * @brief Helper functions for push_* and pop_*. + * @endif + */ + void _M_push_back_aux(const value_type&); + void _M_push_front_aux(const value_type&); + #ifdef _GLIBCPP_DEPRECATED + void _M_push_back_aux(); + void _M_push_front_aux(); + #endif + void _M_pop_back_aux(); + void _M_pop_front_aux(); + //@} + + + // Internal insert functions follow. The *_aux functions do the actual + // insertion work when all shortcuts fail. + + // called by the range insert to implement [23.1.1]/9 + template<typename _Integer> + void + _M_insert_dispatch(iterator __pos, + _Integer __n, _Integer __x, __true_type) { - _M_destroy_nodes(__new_start._M_node, _M_start._M_node); - __throw_exception_again; - } - } - else { - iterator __new_finish = _M_reserve_elements_at_back(__n); - iterator __old_finish = _M_finish; - const difference_type __elemsafter = - difference_type(__length) - __elemsbefore; - __pos = _M_finish - __elemsafter; - try { - if (__elemsafter > difference_type(__n)) { - iterator __finish_n = _M_finish - difference_type(__n); - uninitialized_copy(__finish_n, _M_finish, _M_finish); - _M_finish = __new_finish; - copy_backward(__pos, __finish_n, __old_finish); - copy(__first, __last, __pos); - } - else { - _ForwardIterator __mid = __first; - advance(__mid, __elemsafter); - __uninitialized_copy_copy(__mid, __last, __pos, _M_finish, _M_finish); - _M_finish = __new_finish; - copy(__first, __mid, __pos); + _M_fill_insert(__pos, static_cast<size_type>(__n), + static_cast<value_type>(__x)); } - } - catch(...) + + // called by the range insert to implement [23.1.1]/9 + template<typename _InputIterator> + void + _M_insert_dispatch(iterator __pos, + _InputIterator __first, _InputIterator __last, + __false_type) { - _M_destroy_nodes(_M_finish._M_node + 1, __new_finish._M_node + 1); - __throw_exception_again; + typedef typename iterator_traits<_InputIterator>::iterator_category + _IterCategory; + _M_range_insert_aux(__pos, __first, __last, _IterCategory()); } + + // called by the second insert_dispatch above + template <typename _InputIterator> + void + _M_range_insert_aux(iterator __pos, _InputIterator __first, + _InputIterator __last, input_iterator_tag); + + // called by the second insert_dispatch above + template <typename _ForwardIterator> + void + _M_range_insert_aux(iterator __pos, _ForwardIterator __first, + _ForwardIterator __last, forward_iterator_tag); + + // Called by insert(p,n,x), and the range insert when it turns out to be + // the same thing. Can use fill functions in optimal situations, otherwise + // passes off to insert_aux(p,n,x). + void + _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); + + // called by insert(p,x) + iterator + _M_insert_aux(iterator __pos, const value_type& __x); + + // called by insert(p,n,x) via fill_insert + void + _M_insert_aux(iterator __pos, size_type __n, const value_type& __x); + + // called by range_insert_aux for forward iterators + template <typename _ForwardIterator> + void + _M_insert_aux(iterator __pos, + _ForwardIterator __first, _ForwardIterator __last, + size_type __n); + + #ifdef _GLIBCPP_DEPRECATED + // unused, see comment in implementation + iterator _M_insert_aux(iterator __pos); + #endif + + //@{ + /** + * @if maint + * @brief Memory-handling helpers for the previous internal insert + * functions. + * @endif + */ + iterator + _M_reserve_elements_at_front(size_type __n) + { + size_type __vacancies = _M_start._M_cur - _M_start._M_first; + if (__n > __vacancies) + _M_new_elements_at_front(__n - __vacancies); + return _M_start - difference_type(__n); + } + + iterator + _M_reserve_elements_at_back(size_type __n) + { + size_type __vacancies = (_M_finish._M_last - _M_finish._M_cur) - 1; + if (__n > __vacancies) + _M_new_elements_at_back(__n - __vacancies); + return _M_finish + difference_type(__n); + } + + void + _M_new_elements_at_front(size_type __new_elements); + + void + _M_new_elements_at_back(size_type __new_elements); + //@} + + + //@{ + /** + * @if maint + * @brief Memory-handling helpers for the major %map. + * + * Makes sure the _M_map has space for new nodes. Does not actually add + * the nodes. Can invalidate _M_map pointers. (And consequently, %deque + * iterators.) + * @endif + */ + void + _M_reserve_map_at_back (size_type __nodes_to_add = 1) + { + if (__nodes_to_add + 1 > _M_map_size - (_M_finish._M_node - _M_map)) + _M_reallocate_map(__nodes_to_add, false); + } + + void + _M_reserve_map_at_front (size_type __nodes_to_add = 1) + { + if (__nodes_to_add > size_type(_M_start._M_node - _M_map)) + _M_reallocate_map(__nodes_to_add, true); + } + + void + _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front); + //@} + }; + + + /** + * @brief Deque equality comparison. + * @param x A %deque. + * @param y A %deque of the same type as @a x. + * @return True iff the size and elements of the deques are equal. + * + * This is an equivalence relation. It is linear in the size of the + * deques. Deques are considered equivalent if their sizes are equal, + * and if corresponding elements compare equal. + */ + template <typename _Tp, typename _Alloc> + inline bool operator==(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return __x.size() == __y.size() && + equal(__x.begin(), __x.end(), __y.begin()); } -} - -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::_M_new_elements_at_front(size_type __new_elems) -{ - size_type __new_nodes - = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size(); - _M_reserve_map_at_front(__new_nodes); - size_type __i; - try { - for (__i = 1; __i <= __new_nodes; ++__i) - *(_M_start._M_node - __i) = _M_allocate_node(); + + /** + * @brief Deque ordering relation. + * @param x A %deque. + * @param y A %deque of the same type as @a x. + * @return True iff @a x is lexographically less than @a y. + * + * This is a total ordering relation. It is linear in the size of the + * deques. The elements must be comparable with @c <. + * + * See std::lexographical_compare() for how the determination is made. + */ + template <typename _Tp, typename _Alloc> + inline bool operator<(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) + { + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); } - catch(...) { - for (size_type __j = 1; __j < __i; ++__j) - _M_deallocate_node(*(_M_start._M_node - __j)); - __throw_exception_again; + + /// Based on operator== + template <typename _Tp, typename _Alloc> + inline bool operator!=(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) { + return !(__x == __y); } -} - -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::_M_new_elements_at_back(size_type __new_elems) -{ - size_type __new_nodes - = (__new_elems + _S_buffer_size() - 1) / _S_buffer_size(); - _M_reserve_map_at_back(__new_nodes); - size_type __i; - try { - for (__i = 1; __i <= __new_nodes; ++__i) - *(_M_finish._M_node + __i) = _M_allocate_node(); + + /// Based on operator< + template <typename _Tp, typename _Alloc> + inline bool operator>(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) { + return __y < __x; } - catch(...) { - for (size_type __j = 1; __j < __i; ++__j) - _M_deallocate_node(*(_M_finish._M_node + __j)); - __throw_exception_again; + + /// Based on operator< + template <typename _Tp, typename _Alloc> + inline bool operator<=(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) { + return !(__y < __x); } -} - -template <class _Tp, class _Alloc> -void deque<_Tp,_Alloc>::_M_reallocate_map(size_type __nodes_to_add, - bool __add_at_front) -{ - size_type __old_num_nodes = _M_finish._M_node - _M_start._M_node + 1; - size_type __new_num_nodes = __old_num_nodes + __nodes_to_add; - - _Map_pointer __new_nstart; - if (_M_map_size > 2 * __new_num_nodes) { - __new_nstart = _M_map + (_M_map_size - __new_num_nodes) / 2 - + (__add_at_front ? __nodes_to_add : 0); - if (__new_nstart < _M_start._M_node) - copy(_M_start._M_node, _M_finish._M_node + 1, __new_nstart); - else - copy_backward(_M_start._M_node, _M_finish._M_node + 1, - __new_nstart + __old_num_nodes); + + /// Based on operator< + template <typename _Tp, typename _Alloc> + inline bool operator>=(const deque<_Tp, _Alloc>& __x, + const deque<_Tp, _Alloc>& __y) { + return !(__x < __y); } - else { - size_type __new_map_size = - _M_map_size + max(_M_map_size, __nodes_to_add) + 2; - - _Map_pointer __new_map = _M_allocate_map(__new_map_size); - __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2 - + (__add_at_front ? __nodes_to_add : 0); - copy(_M_start._M_node, _M_finish._M_node + 1, __new_nstart); - _M_deallocate_map(_M_map, _M_map_size); - - _M_map = __new_map; - _M_map_size = __new_map_size; + + /// See std::deque::swap(). + template <typename _Tp, typename _Alloc> + inline void swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) + { + __x.swap(__y); } - - _M_start._M_set_node(__new_nstart); - _M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); -} - - -// Nonmember functions. - -template <class _Tp, class _Alloc> -inline bool operator==(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) { - return __x.size() == __y.size() && - equal(__x.begin(), __x.end(), __y.begin()); -} - -template <class _Tp, class _Alloc> -inline bool operator<(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) { - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); -} - -template <class _Tp, class _Alloc> -inline bool operator!=(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) { - return !(__x == __y); -} - -template <class _Tp, class _Alloc> -inline bool operator>(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) { - return __y < __x; -} - -template <class _Tp, class _Alloc> -inline bool operator<=(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) { - return !(__y < __x); -} -template <class _Tp, class _Alloc> -inline bool operator>=(const deque<_Tp, _Alloc>& __x, - const deque<_Tp, _Alloc>& __y) { - return !(__x < __y); -} - -template <class _Tp, class _Alloc> -inline void swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) { - __x.swap(__y); -} - } // namespace std #endif /* __GLIBCPP_INTERNAL_DEQUE_H */ - diff --git a/contrib/libstdc++/include/bits/stl_iterator.h b/contrib/libstdc++/include/bits/stl_iterator.h index 6fb0d81..529ad77 100644 --- a/contrib/libstdc++/include/bits/stl_iterator.h +++ b/contrib/libstdc++/include/bits/stl_iterator.h @@ -106,9 +106,12 @@ namespace std public: /** - * The default constructor gives an undefined state to this %iterator. + * The default constructor default-initializes member @p current. + * If it is a pointer, that means it is zero-initialized. */ - reverse_iterator() { } + // _GLIBCPP_RESOLVE_LIB_DEFECTS + // 235 No specification of default ctor for reverse_iterator + reverse_iterator() : current() { } /** * This %iterator will move in the opposite direction that @p x does. @@ -317,6 +320,8 @@ namespace std // 24.4.2.2.1 back_insert_iterator /** + * @brief Turns assignment into insertion. + * * These are output iterators, constructed from a container-of-T. * Assigning a T to the iterator appends it to the container using * push_back. @@ -387,6 +392,8 @@ namespace std { return back_insert_iterator<_Container>(__x); } /** + * @brief Turns assignment into insertion. + * * These are output iterators, constructed from a container-of-T. * Assigning a T to the iterator prepends it to the container using * push_front. @@ -456,6 +463,8 @@ namespace std { return front_insert_iterator<_Container>(__x); } /** + * @brief Turns assignment into insertion. + * * These are output iterators, constructed from a container-of-T. * Assigning a T to the iterator inserts it in the container at the * %iterator's position, rather than overwriting the value at that diff --git a/contrib/libstdc++/include/bits/stl_iterator_base_funcs.h b/contrib/libstdc++/include/bits/stl_iterator_base_funcs.h index 8389f5e..7c245d0 100644 --- a/contrib/libstdc++/include/bits/stl_iterator_base_funcs.h +++ b/contrib/libstdc++/include/bits/stl_iterator_base_funcs.h @@ -67,113 +67,105 @@ #pragma GCC system_header #include <bits/concept_check.h> -// Since this entire file is within namespace std, there's no reason to -// waste two spaces along the left column. Thus the leading indentation is -// slightly violated from here on. namespace std { -template<typename _InputIterator> - inline typename iterator_traits<_InputIterator>::difference_type - __distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) - { - // concept requirements - __glibcpp_function_requires(_InputIteratorConcept<_InputIterator>) - - typename iterator_traits<_InputIterator>::difference_type __n = 0; - while (__first != __last) { - ++__first; ++__n; + template<typename _InputIterator> + inline typename iterator_traits<_InputIterator>::difference_type + __distance(_InputIterator __first, _InputIterator __last, + input_iterator_tag) + { + // concept requirements + __glibcpp_function_requires(_InputIteratorConcept<_InputIterator>) + + typename iterator_traits<_InputIterator>::difference_type __n = 0; + while (__first != __last) { + ++__first; ++__n; + } + return __n; } - return __n; - } - -template<typename _RandomAccessIterator> - inline typename iterator_traits<_RandomAccessIterator>::difference_type - __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, - random_access_iterator_tag) - { - // concept requirements - __glibcpp_function_requires(_RandomAccessIteratorConcept<_RandomAccessIterator>) - return __last - __first; - } - -/** - * @brief A generalization of pointer arithmetic. - * @param first An input iterator. - * @param last An input iterator. - * @return The distance between them. - * - * Returns @c n such that first + n == last. This requires that @p last - * must be reachable from @p first. Note that @c n may be negative. - * - * For random access iterators, this uses their @c + and @c - operations - * and are constant time. For other %iterator classes they are linear time. -*/ -template<typename _InputIterator> - inline typename iterator_traits<_InputIterator>::difference_type - distance(_InputIterator __first, _InputIterator __last) - { - // concept requirements -- taken care of in __distance - return __distance(__first, __last, __iterator_category(__first)); - } - -template<typename _InputIter, typename _Distance> - inline void - __advance(_InputIter& __i, _Distance __n, input_iterator_tag) - { - // concept requirements - __glibcpp_function_requires(_InputIteratorConcept<_InputIter>) - while (__n--) ++__i; - } - -template<typename _BidirectionalIterator, typename _Distance> - inline void - __advance(_BidirectionalIterator& __i, _Distance __n, - bidirectional_iterator_tag) - { - // concept requirements - __glibcpp_function_requires(_BidirectionalIteratorConcept<_BidirectionalIterator>) - - if (__n > 0) + + template<typename _RandomAccessIterator> + inline typename iterator_traits<_RandomAccessIterator>::difference_type + __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, + random_access_iterator_tag) + { + // concept requirements + __glibcpp_function_requires(_RandomAccessIteratorConcept<_RandomAccessIterator>) + return __last - __first; + } + + /** + * @brief A generalization of pointer arithmetic. + * @param first An input iterator. + * @param last An input iterator. + * @return The distance between them. + * + * Returns @c n such that first + n == last. This requires that @p last + * must be reachable from @p first. Note that @c n may be negative. + * + * For random access iterators, this uses their @c + and @c - operations + * and are constant time. For other %iterator classes they are linear time. + */ + template<typename _InputIterator> + inline typename iterator_traits<_InputIterator>::difference_type + distance(_InputIterator __first, _InputIterator __last) + { + // concept requirements -- taken care of in __distance + return __distance(__first, __last, __iterator_category(__first)); + } + + template<typename _InputIter, typename _Distance> + inline void + __advance(_InputIter& __i, _Distance __n, input_iterator_tag) + { + // concept requirements + __glibcpp_function_requires(_InputIteratorConcept<_InputIter>) while (__n--) ++__i; - else - while (__n++) --__i; - } - -template<typename _RandomAccessIterator, typename _Distance> - inline void - __advance(_RandomAccessIterator& __i, _Distance __n, - random_access_iterator_tag) - { - // concept requirements - __glibcpp_function_requires(_RandomAccessIteratorConcept<_RandomAccessIterator>) - __i += __n; - } - -/** - * @brief A generalization of pointer arithmetic. - * @param i An input iterator. - * @param n The "delta" by which to change @p i. - * @return Nothing. - * - * This increments @p i by @p n. For bidirectional and random access - * iterators, @p n may be negative, in which case @p i is decremented. - * - * For random access iterators, this uses their @c + and @c - operations - * and are constant time. For other %iterator classes they are linear time. -*/ -template<typename _InputIterator, typename _Distance> - inline void - advance(_InputIterator& __i, _Distance __n) - { - // concept requirements -- taken care of in __advance - __advance(__i, __n, __iterator_category(__i)); - } - + } + + template<typename _BidirectionalIterator, typename _Distance> + inline void + __advance(_BidirectionalIterator& __i, _Distance __n, + bidirectional_iterator_tag) + { + // concept requirements + __glibcpp_function_requires(_BidirectionalIteratorConcept<_BidirectionalIterator>) + + if (__n > 0) + while (__n--) ++__i; + else + while (__n++) --__i; + } + + template<typename _RandomAccessIterator, typename _Distance> + inline void + __advance(_RandomAccessIterator& __i, _Distance __n, + random_access_iterator_tag) + { + // concept requirements + __glibcpp_function_requires(_RandomAccessIteratorConcept<_RandomAccessIterator>) + __i += __n; + } + + /** + * @brief A generalization of pointer arithmetic. + * @param i An input iterator. + * @param n The "delta" by which to change @p i. + * @return Nothing. + * + * This increments @p i by @p n. For bidirectional and random access + * iterators, @p n may be negative, in which case @p i is decremented. + * + * For random access iterators, this uses their @c + and @c - operations + * and are constant time. For other %iterator classes they are linear time. + */ + template<typename _InputIterator, typename _Distance> + inline void + advance(_InputIterator& __i, _Distance __n) + { + // concept requirements -- taken care of in __advance + __advance(__i, __n, __iterator_category(__i)); + } } // namespace std #endif /* __GLIBCPP_INTERNAL_ITERATOR_BASE_FUNCS_H */ - - -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/bits/stl_iterator_base_types.h b/contrib/libstdc++/include/bits/stl_iterator_base_types.h index 5dff8fc..8b040e4 100644 --- a/contrib/libstdc++/include/bits/stl_iterator_base_types.h +++ b/contrib/libstdc++/include/bits/stl_iterator_base_types.h @@ -68,13 +68,13 @@ namespace std { + //@{ /** * @defgroup iterator_tags Iterator Tags * These are empty types, used to distinguish different iterators. The * distinction is not made by what they contain, but simply by what they * are. Different underlying algorithms can then be used based on the * different operations supporetd by different iterator types. - * @{ */ /// Marking input iterators. struct input_iterator_tag {}; @@ -90,6 +90,8 @@ namespace std /** + * @brief Common %iterator class. + * * This class does nothing but define nested typedefs. %Iterator classes * can inherit from this class to save some work. The typedefs are then * used in specializations and overloading. @@ -98,8 +100,9 @@ namespace std * such as @c operator++ and the like. (How could there be?) */ template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, - typename _Pointer = _Tp*, typename _Reference = _Tp&> - struct iterator { + typename _Pointer = _Tp*, typename _Reference = _Tp&> + struct iterator + { /// One of the @link iterator_tags tag types@endlink. typedef _Category iterator_category; /// The type "pointed to" by the iterator. diff --git a/contrib/libstdc++/include/bits/stl_list.h b/contrib/libstdc++/include/bits/stl_list.h index 3d470b1..fcba359 100644 --- a/contrib/libstdc++/include/bits/stl_list.h +++ b/contrib/libstdc++/include/bits/stl_list.h @@ -65,215 +65,263 @@ namespace std { - + // Supporting structures are split into common and templated types; the + // latter publicly inherits from the former in an effort to reduce code + // duplication. This results in some "needless" static_cast'ing later on, + // but it's all safe downcasting. + + /// @if maint Common part of a node in the %list. @endif struct _List_node_base { - _List_node_base* _M_next; - _List_node_base* _M_prev; + _List_node_base* _M_next; ///< Self-explanatory + _List_node_base* _M_prev; ///< Self-explanatory }; - + + /// @if maint An actual node in the %list. @endif template<typename _Tp> struct _List_node : public _List_node_base - { - _Tp _M_data; - }; - + { + _Tp _M_data; ///< User's data. + }; + + + /** + * @if maint + * @brief Common part of a list::iterator. + * + * A simple type to walk a doubly-linked list. All operations here should + * be self-explanatory after taking any decent introductory data structures + * course. + * @endif + */ struct _List_iterator_base { - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef bidirectional_iterator_tag iterator_category; - + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef bidirectional_iterator_tag iterator_category; + + /// The only member points to the %list element. _List_node_base* _M_node; - + _List_iterator_base(_List_node_base* __x) : _M_node(__x) { } - + _List_iterator_base() { } - + + /// Walk the %list forward. void _M_incr() { _M_node = _M_node->_M_next; } - + + /// Walk the %list backward. void _M_decr() { _M_node = _M_node->_M_prev; } - + bool operator==(const _List_iterator_base& __x) const { return _M_node == __x._M_node; } - + bool operator!=(const _List_iterator_base& __x) const { return _M_node != __x._M_node; } - }; - + }; + + /** + * @brief A list::iterator. + * + * In addition to being used externally, a list holds one of these + * internally, pointing to the sequence of data. + * + * @if maint + * All the functions are op overloads. + * @endif + */ template<typename _Tp, typename _Ref, typename _Ptr> struct _List_iterator : public _List_iterator_base + { + typedef _List_iterator<_Tp,_Tp&,_Tp*> iterator; + typedef _List_iterator<_Tp,const _Tp&,const _Tp*> const_iterator; + typedef _List_iterator<_Tp,_Ref,_Ptr> _Self; + + typedef _Tp value_type; + typedef _Ptr pointer; + typedef _Ref reference; + typedef _List_node<_Tp> _Node; + + _List_iterator(_Node* __x) + : _List_iterator_base(__x) + { } + + _List_iterator() + { } + + _List_iterator(const iterator& __x) + : _List_iterator_base(__x._M_node) + { } + + reference + operator*() const + { return static_cast<_Node*>(_M_node)->_M_data; } + // Must downcast from List_node_base to _List_node to get to _M_data. + + pointer + operator->() const + { return &(operator*()); } + + _Self& + operator++() { - typedef _List_iterator<_Tp,_Tp&,_Tp*> iterator; - typedef _List_iterator<_Tp,const _Tp&,const _Tp*> const_iterator; - typedef _List_iterator<_Tp,_Ref,_Ptr> _Self; - - typedef _Tp value_type; - typedef _Ptr pointer; - typedef _Ref reference; - typedef _List_node<_Tp> _Node; - - _List_iterator(_Node* __x) - : _List_iterator_base(__x) - { } - - _List_iterator() - { } - - _List_iterator(const iterator& __x) - : _List_iterator_base(__x._M_node) - { } - - reference - operator*() const - { return ((_Node*) _M_node)->_M_data; } - - pointer - operator->() const - { return &(operator*()); } - - _Self& - operator++() - { - this->_M_incr(); - return *this; - } - - _Self - operator++(int) - { - _Self __tmp = *this; - this->_M_incr(); - return __tmp; - } - - _Self& - operator--() - { - this->_M_decr(); - return *this; - } - - _Self - operator--(int) - { - _Self __tmp = *this; - this->_M_decr(); - return __tmp; - } - }; - - - // Base class that encapsulates details of allocators. Three cases: - // an ordinary standard-conforming allocator, a standard-conforming - // allocator with no non-static data, and an SGI-style allocator. - // This complexity is necessary only because we're worrying about backward - // compatibility and because we want to avoid wasting storage on an - // allocator instance if it isn't necessary. - - - // Base for general standard-conforming allocators. + this->_M_incr(); + return *this; + } + + _Self + operator++(int) + { + _Self __tmp = *this; + this->_M_incr(); + return __tmp; + } + + _Self& + operator--() + { + this->_M_decr(); + return *this; + } + + _Self + operator--(int) + { + _Self __tmp = *this; + this->_M_decr(); + return __tmp; + } + }; + + + /// @if maint Primary default version. @endif + /** + * @if maint + * See bits/stl_deque.h's _Deque_alloc_base for an explanation. + * @endif + */ template<typename _Tp, typename _Allocator, bool _IsStatic> class _List_alloc_base - { - public: - typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type - allocator_type; - - allocator_type - get_allocator() const - { return _Node_allocator; } - - _List_alloc_base(const allocator_type& __a) - : _Node_allocator(__a) - { } - - protected: - _List_node<_Tp>* - _M_get_node() - { return _Node_allocator.allocate(1); } - - void - _M_put_node(_List_node<_Tp>* __p) - { _Node_allocator.deallocate(__p, 1); } - - protected: - typename _Alloc_traits<_List_node<_Tp>, _Allocator>::allocator_type - _Node_allocator; - - _List_node<_Tp>* _M_node; - }; - - // Specialization for instanceless allocators. - + { + public: + typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type + allocator_type; + + allocator_type + get_allocator() const { return _M_node_allocator; } + + _List_alloc_base(const allocator_type& __a) + : _M_node_allocator(__a) + { } + + protected: + _List_node<_Tp>* + _M_get_node() + { return _M_node_allocator.allocate(1); } + + void + _M_put_node(_List_node<_Tp>* __p) + { _M_node_allocator.deallocate(__p, 1); } + + // NOTA BENE + // The stored instance is not actually of "allocator_type"'s type. Instead + // we rebind the type to Allocator<List_node<Tp>>, which according to + // [20.1.5]/4 should probably be the same. List_node<Tp> is not the same + // size as Tp (it's two pointers larger), and specializations on Tp may go + // unused because List_node<Tp> is being bound instead. + // + // We put this to the test in get_allocator above; if the two types are + // actually different, there had better be a conversion between them. + // + // None of the predefined allocators shipped with the library (as of 3.1) + // use this instantiation anyhow; they're all instanceless. + typename _Alloc_traits<_List_node<_Tp>, _Allocator>::allocator_type + _M_node_allocator; + + _List_node<_Tp>* _M_node; + }; + + /// @if maint Specialization for instanceless allocators. @endif template<typename _Tp, typename _Allocator> class _List_alloc_base<_Tp, _Allocator, true> + { + public: + typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type + allocator_type; + + allocator_type + get_allocator() const { return allocator_type(); } + + _List_alloc_base(const allocator_type&) + { } + + protected: + // See comment in primary template class about why this is safe for the + // standard predefined classes. + typedef typename _Alloc_traits<_List_node<_Tp>, _Allocator>::_Alloc_type + _Alloc_type; + + _List_node<_Tp>* + _M_get_node() + { return _Alloc_type::allocate(1); } + + void + _M_put_node(_List_node<_Tp>* __p) + { _Alloc_type::deallocate(__p, 1); } + + _List_node<_Tp>* _M_node; + }; + + + /** + * @if maint + * See bits/stl_deque.h's _Deque_base for an explanation. + * @endif + */ + template <typename _Tp, typename _Alloc> + class _List_base + : public _List_alloc_base<_Tp, _Alloc, + _Alloc_traits<_Tp, _Alloc>::_S_instanceless> + { + public: + typedef _List_alloc_base<_Tp, _Alloc, + _Alloc_traits<_Tp, _Alloc>::_S_instanceless> + _Base; + typedef typename _Base::allocator_type allocator_type; + + _List_base(const allocator_type& __a) + : _Base(__a) { - public: - typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type - allocator_type; - - allocator_type - get_allocator() const - { return allocator_type(); } - - _List_alloc_base(const allocator_type&) - { } - - protected: - typedef typename _Alloc_traits<_List_node<_Tp>, _Allocator>::_Alloc_type - _Alloc_type; - - _List_node<_Tp>* - _M_get_node() - { return _Alloc_type::allocate(1); } - - void - _M_put_node(_List_node<_Tp>* __p) - { _Alloc_type::deallocate(__p, 1); } - - protected: - _List_node<_Tp>* _M_node; - }; - - template<typename _Tp, typename _Alloc> - class _List_base - : public _List_alloc_base<_Tp, _Alloc, - _Alloc_traits<_Tp, _Alloc>::_S_instanceless> + _M_node = _M_get_node(); + _M_node->_M_next = _M_node; + _M_node->_M_prev = _M_node; + } + + // This is what actually destroys the list. + ~_List_base() { - public: - typedef _List_alloc_base<_Tp, _Alloc, - _Alloc_traits<_Tp, _Alloc>::_S_instanceless> - _Base; - typedef typename _Base::allocator_type allocator_type; - - _List_base(const allocator_type& __a) - : _Base(__a) - { - _M_node = _M_get_node(); - _M_node->_M_next = _M_node; - _M_node->_M_prev = _M_node; - } - - ~_List_base() - { - clear(); - _M_put_node(_M_node); - } - - void clear(); - }; - + __clear(); + _M_put_node(_M_node); + } + + void + __clear(); + }; + + /** + * @brief A standard container with linear time access to elements, and + * fixed time insertion/deletion at any point in the sequence. + * * @ingroup Containers * @ingroup Sequences * @@ -283,384 +331,778 @@ namespace std * <a href="tables.html#68">optional sequence requirements</a> with the * %exception of @c at and @c operator[]. * - * @doctodo + * This is a @e doubly @e linked %list. Traversal up and down the %list + * requires linear time, but adding and removing elements (or @e nodes) is + * done in constant time, regardless of where the change takes place. + * Unlike std::vector and std::deque, random-access iterators are not + * provided, so subscripting ( @c [] ) access is not allowed. For algorithms + * which only need sequential access, this lack makes no difference. + * + * Also unlike the other standard containers, std::list provides specialized + * algorithms %unique to linked lists, such as splicing, sorting, and + * in-place reversal. + * + * @if maint + * A couple points on memory allocation for list<Tp>: * + * First, we never actually allocate a Tp, we allocate List_node<Tp>'s + * and trust [20.1.5]/4 to DTRT. This is to ensure that after elements from + * %list<X,Alloc1> are spliced into %list<X,Alloc2>, destroying the memory of + * the second %list is a valid operation, i.e., Alloc1 giveth and Alloc2 + * taketh away. + * + * Second, a %list conceptually represented as + * @code + * A <---> B <---> C <---> D + * @endcode + * is actually circular; a link exists between A and D. The %list class + * holds (as its only data member) a private list::iterator pointing to + * @e D, not to @e A! To get to the head of the %list, we start at the tail + * and move forward by one. When this member iterator's next/previous + * pointers refer to itself, the %list is %empty. + * @endif */ template<typename _Tp, typename _Alloc = allocator<_Tp> > class list : protected _List_base<_Tp, _Alloc> + { + // concept requirements + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + + typedef _List_base<_Tp, _Alloc> _Base; + + public: + typedef _Tp value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef _List_iterator<_Tp,_Tp&,_Tp*> iterator; + typedef _List_iterator<_Tp,const _Tp&,const _Tp*> const_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef typename _Base::allocator_type allocator_type; + + protected: + // Note that pointers-to-_Node's can be ctor-converted to iterator types. + typedef _List_node<_Tp> _Node; + + /** @if maint + * One data member plus two memory-handling functions. If the _Alloc + * type requires separate instances, then one of those will also be + * included, accumulated from the topmost parent. + * @endif + */ + using _Base::_M_node; + using _Base::_M_put_node; + using _Base::_M_get_node; + + /** + * @if maint + * @param x An instance of user data. + * + * Allocates space for a new node and constructs a copy of @a x in it. + * @endif + */ + _Node* + _M_create_node(const value_type& __x) { - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - - typedef _List_base<_Tp, _Alloc> _Base; - protected: - typedef void* _Void_pointer; - - public: - typedef _Tp value_type; - typedef value_type* pointer; - typedef const value_type* const_pointer; - typedef value_type& reference; - typedef const value_type& const_reference; - typedef _List_node<_Tp> _Node; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - - typedef typename _Base::allocator_type allocator_type; - - typedef _List_iterator<_Tp,_Tp&,_Tp*> iterator; - typedef _List_iterator<_Tp,const _Tp&,const _Tp*> const_iterator; - - typedef reverse_iterator<const_iterator> const_reverse_iterator; - typedef reverse_iterator<iterator> reverse_iterator; - - protected: - using _Base::_M_node; - using _Base::_M_put_node; - using _Base::_M_get_node; - - protected: - _Node* - _M_create_node(const _Tp& __x) + _Node* __p = _M_get_node(); + try { + _Construct(&__p->_M_data, __x); + } + catch(...) { - _Node* __p = _M_get_node(); - try { - _Construct(&__p->_M_data, __x); - } - catch(...) - { - _M_put_node(__p); - __throw_exception_again; - } - return __p; + _M_put_node(__p); + __throw_exception_again; } - - _Node* - _M_create_node() + return __p; + } + + /** + * @if maint + * Allocates space for a new node and default-constructs a new instance + * of @c value_type in it. + * @endif + */ + _Node* + _M_create_node() + { + _Node* __p = _M_get_node(); + try { + _Construct(&__p->_M_data); + } + catch(...) { - _Node* __p = _M_get_node(); - try { - _Construct(&__p->_M_data); - } - catch(...) - { - _M_put_node(__p); - __throw_exception_again; - } - return __p; + _M_put_node(__p); + __throw_exception_again; } - - public: - allocator_type - get_allocator() const - { return _Base::get_allocator(); } - - explicit - list(const allocator_type& __a = allocator_type()) + return __p; + } + + public: + // [23.2.2.1] construct/copy/destroy + // (assign() and get_allocator() are also listed in this section) + /** + * @brief Default constructor creates no elements. + */ + explicit + list(const allocator_type& __a = allocator_type()) + : _Base(__a) { } + + /** + * @brief Create a %list with copies of an exemplar element. + * @param n The number of elements to initially create. + * @param value An element to copy. + * + * This constructor fills the %list with @a n copies of @a value. + */ + list(size_type __n, const value_type& __value, + const allocator_type& __a = allocator_type()) : _Base(__a) - { } - - iterator - begin() - { return static_cast<_Node*>(_M_node->_M_next); } - - const_iterator - begin() const - { return static_cast<_Node*>(_M_node->_M_next); } - - iterator - end() - { return _M_node; } - - const_iterator - end() const - { return _M_node; } - - reverse_iterator - rbegin() - { return reverse_iterator(end()); } - - const_reverse_iterator - rbegin() const - { return const_reverse_iterator(end()); } - - reverse_iterator - rend() - { return reverse_iterator(begin()); } - - const_reverse_iterator - rend() const - { return const_reverse_iterator(begin()); } - - bool - empty() const - { return _M_node->_M_next == _M_node; } - - size_type - size() const - { return distance(begin(), end()); } - - size_type - max_size() const - { return size_type(-1); } - - reference - front() - { return *begin(); } - - const_reference - front() const - { return *begin(); } - - reference - back() - { return *(--end()); } - - const_reference - back() const - { return *(--end()); } - + { this->insert(begin(), __n, __value); } + + /** + * @brief Create a %list with default elements. + * @param n The number of elements to initially create. + * + * This constructor fills the %list with @a n copies of a + * default-constructed element. + */ + explicit + list(size_type __n) + : _Base(allocator_type()) + { this->insert(begin(), __n, value_type()); } + + /** + * @brief %List copy constructor. + * @param x A %list of identical element and allocator types. + * + * The newly-created %list uses a copy of the allocation object used + * by @a x. + */ + list(const list& __x) + : _Base(__x.get_allocator()) + { this->insert(begin(), __x.begin(), __x.end()); } + + /** + * @brief Builds a %list from a range. + * @param first An input iterator. + * @param last An input iterator. + * + * Create a %list consisting of copies of the elements from [first,last). + * This is linear in N (where N is distance(first,last)). + * + * @if maint + * We don't need any dispatching tricks here, because insert does all of + * that anyway. + * @endif + */ + template<typename _InputIterator> + list(_InputIterator __first, _InputIterator __last, + const allocator_type& __a = allocator_type()) + : _Base(__a) + { this->insert(begin(), __first, __last); } + + /** + * The dtor only erases the elements, and note that if the elements + * themselves are pointers, the pointed-to memory is not touched in any + * way. Managing the pointer is the user's responsibilty. + */ + ~list() { } + + /** + * @brief %List assignment operator. + * @param x A %list of identical element and allocator types. + * + * All the elements of @a x are copied, but unlike the copy constructor, + * the allocator object is not copied. + */ + list& + operator=(const list& __x); + + /** + * @brief Assigns a given value to a %list. + * @param n Number of elements to be assigned. + * @param val Value to be assigned. + * + * This function fills a %list with @a n copies of the given value. + * Note that the assignment completely changes the %list and that the + * resulting %list's size is the same as the number of elements assigned. + * Old data may be lost. + */ + void + assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } + + /** + * @brief Assigns a range to a %list. + * @param first An input iterator. + * @param last An input iterator. + * + * This function fills a %list with copies of the elements in the + * range [first,last). + * + * Note that the assignment completely changes the %list and that the + * resulting %list's size is the same as the number of elements assigned. + * Old data may be lost. + */ + template<typename _InputIterator> void - swap(list<_Tp, _Alloc>& __x) - { std::swap(_M_node, __x._M_node); } - - iterator - insert(iterator __position, const _Tp& __x) + assign(_InputIterator __first, _InputIterator __last) { - _Node* __tmp = _M_create_node(__x); - __tmp->_M_next = __position._M_node; - __tmp->_M_prev = __position._M_node->_M_prev; - __position._M_node->_M_prev->_M_next = __tmp; - __position._M_node->_M_prev = __tmp; - return __tmp; + // Check whether it's an integral type. If so, it's not an iterator. + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_assign_dispatch(__first, __last, _Integral()); } - - iterator - insert(iterator __position) - { return insert(__position, _Tp()); } - - // Check whether it's an integral type. If so, it's not an iterator. - template<typename _Integer> - void - _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, __true_type) - { _M_fill_insert(__pos, (size_type) __n, (_Tp) __x); } - - template<typename _InputIterator> - void - _M_insert_dispatch(iterator __pos, - _InputIterator __first, _InputIterator __last, - __false_type); - - template<typename _InputIterator> - void - insert(iterator __pos, _InputIterator __first, _InputIterator __last) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_insert_dispatch(__pos, __first, __last, _Integral()); - } - - void - insert(iterator __pos, size_type __n, const _Tp& __x) - { _M_fill_insert(__pos, __n, __x); } - - void - _M_fill_insert(iterator __pos, size_type __n, const _Tp& __x); - - void - push_front(const _Tp& __x) - { insert(begin(), __x); } - - void - push_front() - { insert(begin()); } - - void - push_back(const _Tp& __x) - { insert(end(), __x); } - + + /// Get a copy of the memory allocation object. + allocator_type + get_allocator() const { return _Base::get_allocator(); } + + // iterators + /** + * Returns a read/write iterator that points to the first element in the + * %list. Iteration is done in ordinary element order. + */ + iterator + begin() { return static_cast<_Node*>(_M_node->_M_next); } + + /** + * Returns a read-only (constant) iterator that points to the first element + * in the %list. Iteration is done in ordinary element order. + */ + const_iterator + begin() const { return static_cast<_Node*>(_M_node->_M_next); } + + /** + * Returns a read/write iterator that points one past the last element in + * the %list. Iteration is done in ordinary element order. + */ + iterator + end() { return _M_node; } + + /** + * Returns a read-only (constant) iterator that points one past the last + * element in the %list. Iteration is done in ordinary element order. + */ + const_iterator + end() const { return _M_node; } + + /** + * Returns a read/write reverse iterator that points to the last element in + * the %list. Iteration is done in reverse element order. + */ + reverse_iterator + rbegin() { return reverse_iterator(end()); } + + /** + * Returns a read-only (constant) reverse iterator that points to the last + * element in the %list. Iteration is done in reverse element order. + */ + const_reverse_iterator + rbegin() const { return const_reverse_iterator(end()); } + + /** + * Returns a read/write reverse iterator that points to one before the + * first element in the %list. Iteration is done in reverse element + * order. + */ + reverse_iterator + rend() { return reverse_iterator(begin()); } + + /** + * Returns a read-only (constant) reverse iterator that points to one + * before the first element in the %list. Iteration is done in reverse + * element order. + */ + const_reverse_iterator + rend() const + { return const_reverse_iterator(begin()); } + + // [23.2.2.2] capacity + /** + * Returns true if the %list is empty. (Thus begin() would equal end().) + */ + bool + empty() const { return _M_node->_M_next == _M_node; } + + /** Returns the number of elements in the %list. */ + size_type + size() const { return distance(begin(), end()); } + + /** Returns the size() of the largest possible %list. */ + size_type + max_size() const { return size_type(-1); } + + /** + * @brief Resizes the %list to the specified number of elements. + * @param new_size Number of elements the %list should contain. + * @param x Data with which new elements should be populated. + * + * This function will %resize the %list to the specified number of + * elements. If the number is smaller than the %list's current size the + * %list is truncated, otherwise the %list is extended and new elements + * are populated with given data. + */ + void + resize(size_type __new_size, const value_type& __x); + + /** + * @brief Resizes the %list to the specified number of elements. + * @param new_size Number of elements the %list should contain. + * + * This function will resize the %list to the specified number of + * elements. If the number is smaller than the %list's current size the + * %list is truncated, otherwise the %list is extended and new elements + * are default-constructed. + */ + void + resize(size_type __new_size) { this->resize(__new_size, value_type()); } + + // element access + /** + * Returns a read/write reference to the data at the first element of the + * %list. + */ + reference + front() { return *begin(); } + + /** + * Returns a read-only (constant) reference to the data at the first + * element of the %list. + */ + const_reference + front() const { return *begin(); } + + /** + * Returns a read/write reference to the data at the last element of the + * %list. + */ + reference + back() { return *(--end()); } + + /** + * Returns a read-only (constant) reference to the data at the last + * element of the %list. + */ + const_reference + back() const { return *(--end()); } + + // [23.2.2.3] modifiers + /** + * @brief Add data to the front of the %list. + * @param x Data to be added. + * + * This is a typical stack operation. The function creates an element at + * the front of the %list and assigns the given data to it. Due to the + * nature of a %list this operation can be done in constant time, and + * does not invalidate iterators and references. + */ + void + push_front(const value_type& __x) { this->insert(begin(), __x); } + + #ifdef _GLIBCPP_DEPRECATED + /** + * @brief Add data to the front of the %list. + * + * This is a typical stack operation. The function creates a + * default-constructed element at the front of the %list. Due to the + * nature of a %list this operation can be done in constant time. You + * should consider using push_front(value_type()) instead. + * + * @note This was deprecated in 3.2 and will be removed in 3.4. You must + * define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see + * c++config.h. + */ + void + push_front() { this->insert(begin(), value_type()); } + #endif + + /** + * @brief Removes first element. + * + * This is a typical stack operation. It shrinks the %list by one. + * Due to the nature of a %list this operation can be done in constant + * time, and only invalidates iterators/references to the element being + * removed. + * + * Note that no data is returned, and if the first element's data is + * needed, it should be retrieved before pop_front() is called. + */ + void + pop_front() { this->erase(begin()); } + + /** + * @brief Add data to the end of the %list. + * @param x Data to be added. + * + * This is a typical stack operation. The function creates an element at + * the end of the %list and assigns the given data to it. Due to the + * nature of a %list this operation can be done in constant time, and + * does not invalidate iterators and references. + */ + void + push_back(const value_type& __x) { this->insert(end(), __x); } + + #ifdef _GLIBCPP_DEPRECATED + /** + * @brief Add data to the end of the %list. + * + * This is a typical stack operation. The function creates a + * default-constructed element at the end of the %list. Due to the nature + * of a %list this operation can be done in constant time. You should + * consider using push_back(value_type()) instead. + * + * @note This was deprecated in 3.2 and will be removed in 3.4. You must + * define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see + * c++config.h. + */ + void + push_back() { this->insert(end(), value_type()); } + #endif + + /** + * @brief Removes last element. + * + * This is a typical stack operation. It shrinks the %list by one. + * Due to the nature of a %list this operation can be done in constant + * time, and only invalidates iterators/references to the element being + * removed. + * + * Note that no data is returned, and if the last element's data is + * needed, it should be retrieved before pop_back() is called. + */ + void + pop_back() + { + iterator __tmp = end(); + this->erase(--__tmp); + } + + /** + * @brief Inserts given value into %list before specified iterator. + * @param position An iterator into the %list. + * @param x Data to be inserted. + * @return An iterator that points to the inserted data. + * + * This function will insert a copy of the given value before the specified + * location. + * Due to the nature of a %list this operation can be done in constant + * time, and does not invalidate iterators and references. + */ + iterator + insert(iterator __position, const value_type& __x); + + #ifdef _GLIBCPP_DEPRECATED + /** + * @brief Inserts an element into the %list. + * @param position An iterator into the %list. + * @return An iterator that points to the inserted element. + * + * This function will insert a default-constructed element before the + * specified location. You should consider using + * insert(position,value_type()) instead. + * Due to the nature of a %list this operation can be done in constant + * time, and does not invalidate iterators and references. + * + * @note This was deprecated in 3.2 and will be removed in 3.4. You must + * define @c _GLIBCPP_DEPRECATED to make this visible in 3.2; see + * c++config.h. + */ + iterator + insert(iterator __position) { return insert(__position, value_type()); } + #endif + + /** + * @brief Inserts a number of copies of given data into the %list. + * @param position An iterator into the %list. + * @param n Number of elements to be inserted. + * @param x Data to be inserted. + * + * This function will insert a specified number of copies of the given data + * before the location specified by @a position. + * + * Due to the nature of a %list this operation can be done in constant + * time, and does not invalidate iterators and references. + */ + void + insert(iterator __pos, size_type __n, const value_type& __x) + { _M_fill_insert(__pos, __n, __x); } + + /** + * @brief Inserts a range into the %list. + * @param pos An iterator into the %list. + * @param first An input iterator. + * @param last An input iterator. + * + * This function will insert copies of the data in the range [first,last) + * into the %list before the location specified by @a pos. + * + * Due to the nature of a %list this operation can be done in constant + * time, and does not invalidate iterators and references. + */ + template<typename _InputIterator> void - push_back() - { insert(end()); } - - iterator - erase(iterator __position) + insert(iterator __pos, _InputIterator __first, _InputIterator __last) { - _List_node_base* __next_node = __position._M_node->_M_next; - _List_node_base* __prev_node = __position._M_node->_M_prev; - _Node* __n = static_cast<_Node*>(__position._M_node); - __prev_node->_M_next = __next_node; - __next_node->_M_prev = __prev_node; - _Destroy(&__n->_M_data); - _M_put_node(__n); - return iterator(static_cast<_Node*>(__next_node)); + // Check whether it's an integral type. If so, it's not an iterator. + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_insert_dispatch(__pos, __first, __last, _Integral()); } - - iterator - erase(iterator __first, iterator __last); - - void - clear() - { _Base::clear(); } - - void - resize(size_type __new_size, const _Tp& __x); - - void - resize(size_type __new_size) - { this->resize(__new_size, _Tp()); } - + + /** + * @brief Remove element at given position. + * @param position Iterator pointing to element to be erased. + * @return An iterator pointing to the next element (or end()). + * + * This function will erase the element at the given position and thus + * shorten the %list by one. + * + * Due to the nature of a %list this operation can be done in constant + * time, and only invalidates iterators/references to the element being + * removed. + * The user is also cautioned that + * this function only erases the element, and that if the element is itself + * a pointer, the pointed-to memory is not touched in any way. Managing + * the pointer is the user's responsibilty. + */ + iterator + erase(iterator __position); + + /** + * @brief Remove a range of elements. + * @param first Iterator pointing to the first element to be erased. + * @param last Iterator pointing to one past the last element to be + * erased. + * @return An iterator pointing to the element pointed to by @a last + * prior to erasing (or end()). + * + * This function will erase the elements in the range [first,last) and + * shorten the %list accordingly. + * + * Due to the nature of a %list this operation can be done in constant + * time, and only invalidates iterators/references to the element being + * removed. + * The user is also cautioned that + * this function only erases the elements, and that if the elements + * themselves are pointers, the pointed-to memory is not touched in any + * way. Managing the pointer is the user's responsibilty. + */ + iterator + erase(iterator __first, iterator __last) + { + while (__first != __last) + erase(__first++); + return __last; + } + + /** + * @brief Swaps data with another %list. + * @param x A %list of the same element and allocator types. + * + * This exchanges the elements between two lists in constant time. + * (It is only swapping a single pointer, so it should be quite fast.) + * Note that the global std::swap() function is specialized such that + * std::swap(l1,l2) will feed to this function. + */ + void + swap(list& __x) { std::swap(_M_node, __x._M_node); } + + /** + * Erases all the elements. Note that this function only erases the + * elements, and that if the elements themselves are pointers, the + * pointed-to memory is not touched in any way. Managing the pointer is + * the user's responsibilty. + */ + void + clear() { _Base::__clear(); } + + // [23.2.2.4] list operations + /** + * @doctodo + */ + void + splice(iterator __position, list& __x) + { + if (!__x.empty()) + this->_M_transfer(__position, __x.begin(), __x.end()); + } + + /** + * @doctodo + */ + void + splice(iterator __position, list&, iterator __i) + { + iterator __j = __i; + ++__j; + if (__position == __i || __position == __j) return; + this->_M_transfer(__position, __i, __j); + } + + /** + * @doctodo + */ + void + splice(iterator __position, list&, iterator __first, iterator __last) + { + if (__first != __last) + this->_M_transfer(__position, __first, __last); + } + + /** + * @doctodo + */ + void + remove(const _Tp& __value); + + /** + * @doctodo + */ + template<typename _Predicate> void - pop_front() - { erase(begin()); } - + remove_if(_Predicate); + + /** + * @doctodo + */ + void + unique(); + + /** + * @doctodo + */ + template<typename _BinaryPredicate> void - pop_back() - { - iterator __tmp = end(); - erase(--__tmp); - } - - list(size_type __n, const _Tp& __value, - const allocator_type& __a = allocator_type()) - : _Base(__a) - { insert(begin(), __n, __value); } - - explicit - list(size_type __n) - : _Base(allocator_type()) - { insert(begin(), __n, _Tp()); } - - // We don't need any dispatching tricks here, because insert does all of - // that anyway. - template<typename _InputIterator> - list(_InputIterator __first, _InputIterator __last, - const allocator_type& __a = allocator_type()) - : _Base(__a) - { insert(begin(), __first, __last); } - - list(const list<_Tp, _Alloc>& __x) - : _Base(__x.get_allocator()) - { insert(begin(), __x.begin(), __x.end()); } - - ~list() - { } - - list<_Tp, _Alloc>& - operator=(const list<_Tp, _Alloc>& __x); - - public: - // assign(), a generalized assignment member function. Two - // versions: one that takes a count, and one that takes a range. - // The range version is a member template, so we dispatch on whether - // or not the type is an integer. - + unique(_BinaryPredicate); + + /** + * @doctodo + */ + void + merge(list& __x); + + /** + * @doctodo + */ + template<typename _StrictWeakOrdering> void - assign(size_type __n, const _Tp& __val) - { _M_fill_assign(__n, __val); } - + merge(list&, _StrictWeakOrdering); + + /** + * @doctodo + */ + void + reverse() { __List_base_reverse(this->_M_node); } + + /** + * @doctodo + */ + void + sort(); + + /** + * @doctodo + */ + template<typename _StrictWeakOrdering> void - _M_fill_assign(size_type __n, const _Tp& __val); - - template<typename _InputIterator> - void - assign(_InputIterator __first, _InputIterator __last) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_assign_dispatch(__first, __last, _Integral()); - } - - template<typename _Integer> - void - _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) - { _M_fill_assign((size_type) __n, (_Tp) __val); } - - template<typename _InputIterator> - void - _M_assign_dispatch(_InputIterator __first, _InputIterator __last, - __false_type); - - protected: + sort(_StrictWeakOrdering); + + protected: + // Internal assign functions follow. + + // called by the range assign to implement [23.1.1]/9 + template<typename _Integer> void - _M_transfer(iterator __position, iterator __first, iterator __last) + _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) { - if (__position != __last) { - // Remove [first, last) from its old position. - __last._M_node->_M_prev->_M_next = __position._M_node; - __first._M_node->_M_prev->_M_next = __last._M_node; - __position._M_node->_M_prev->_M_next = __first._M_node; - - // Splice [first, last) into its new position. - _List_node_base* __tmp = __position._M_node->_M_prev; - __position._M_node->_M_prev = __last._M_node->_M_prev; - __last._M_node->_M_prev = __first._M_node->_M_prev; - __first._M_node->_M_prev = __tmp; - } + _M_fill_assign(static_cast<size_type>(__n), + static_cast<value_type>(__val)); } - - public: + + // called by the range assign to implement [23.1.1]/9 + template<typename _InputIter> void - splice(iterator __position, list& __x) - { - if (!__x.empty()) - this->_M_transfer(__position, __x.begin(), __x.end()); - } - + _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type); + + // Called by assign(n,t), and the range assign when it turns out to be the + // same thing. + void + _M_fill_assign(size_type __n, const value_type& __val); + + + // Internal insert functions follow. + + // called by the range insert to implement [23.1.1]/9 + template<typename _Integer> void - splice(iterator __position, list&, iterator __i) + _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, + __true_type) { - iterator __j = __i; - ++__j; - if (__position == __i || __position == __j) return; - this->_M_transfer(__position, __i, __j); + _M_fill_insert(__pos, static_cast<size_type>(__n), + static_cast<value_type>(__x)); } - + + // called by the range insert to implement [23.1.1]/9 + template<typename _InputIterator> void - splice(iterator __position, list&, iterator __first, iterator __last) + _M_insert_dispatch(iterator __pos, + _InputIterator __first, _InputIterator __last, + __false_type) { - if (__first != __last) - this->_M_transfer(__position, __first, __last); + for ( ; __first != __last; ++__first) + insert(__pos, *__first); } - - void - remove(const _Tp& __value); - - void - unique(); - - void - merge(list& __x); - - void - reverse(); - - void - sort(); - - template<typename _Predicate> - void - remove_if(_Predicate); - - template<typename _BinaryPredicate> - void - unique(_BinaryPredicate); - - template<typename _StrictWeakOrdering> - void - merge(list&, _StrictWeakOrdering); - - template<typename _StrictWeakOrdering> - void - sort(_StrictWeakOrdering); - }; - + + // Called by insert(p,n,x), and the range insert when it turns out to be + // the same thing. + void + _M_fill_insert(iterator __pos, size_type __n, const value_type& __x) + { + for ( ; __n > 0; --__n) + insert(__pos, __x); + } + + + // Moves the elements from [first,last) before position. + void + _M_transfer(iterator __position, iterator __first, iterator __last) + { + if (__position != __last) { + // Remove [first, last) from its old position. + __last._M_node->_M_prev->_M_next = __position._M_node; + __first._M_node->_M_prev->_M_next = __last._M_node; + __position._M_node->_M_prev->_M_next = __first._M_node; + + // Splice [first, last) into its new position. + _List_node_base* __tmp = __position._M_node->_M_prev; + __position._M_node->_M_prev = __last._M_node->_M_prev; + __last._M_node->_M_prev = __first._M_node->_M_prev; + __first._M_node->_M_prev = __tmp; + } + } + }; + + + /** + * @brief List equality comparison. + * @param x A %list. + * @param y A %list of the same type as @a x. + * @return True iff the size and elements of the lists are equal. + * + * This is an equivalence relation. It is linear in the size of the + * lists. Lists are considered equivalent if their sizes are equal, + * and if corresponding elements compare equal. + */ template<typename _Tp, typename _Alloc> - inline bool + inline bool operator==(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) { typedef typename list<_Tp,_Alloc>::const_iterator const_iterator; const_iterator __end1 = __x.end(); const_iterator __end2 = __y.end(); - + const_iterator __i1 = __x.begin(); const_iterator __i2 = __y.begin(); while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) { @@ -669,7 +1111,18 @@ namespace std } return __i1 == __end1 && __i2 == __end2; } - + + /** + * @brief List ordering relation. + * @param x A %list. + * @param y A %list of the same type as @a x. + * @return True iff @a x is lexographically less than @a y. + * + * This is a total ordering relation. It is linear in the size of the + * lists. The elements must be comparable with @c <. + * + * See std::lexographical_compare() for how the determination is made. + */ template<typename _Tp, typename _Alloc> inline bool operator<(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) @@ -677,313 +1130,36 @@ namespace std return lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } - + + /// Based on operator== template<typename _Tp, typename _Alloc> inline bool operator!=(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) { return !(__x == __y); } - + + /// Based on operator< template<typename _Tp, typename _Alloc> inline bool operator>(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) { return __y < __x; } - + + /// Based on operator< template<typename _Tp, typename _Alloc> inline bool operator<=(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) { return !(__y < __x); } - + + /// Based on operator< template<typename _Tp, typename _Alloc> inline bool operator>=(const list<_Tp,_Alloc>& __x, const list<_Tp,_Alloc>& __y) { return !(__x < __y); } - + + /// See std::list::swap(). template<typename _Tp, typename _Alloc> - inline void + inline void swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) { __x.swap(__y); } - - // move these to stl_list.tcc - - template<typename _Tp, typename _Alloc> - void _List_base<_Tp,_Alloc>:: - clear() - { - _List_node<_Tp>* __cur = static_cast<_List_node<_Tp>*>(_M_node->_M_next); - while (__cur != _M_node) { - _List_node<_Tp>* __tmp = __cur; - __cur = static_cast<_List_node<_Tp>*>(__cur->_M_next); - _Destroy(&__tmp->_M_data); - _M_put_node(__tmp); - } - _M_node->_M_next = _M_node; - _M_node->_M_prev = _M_node; - } - - template<typename _Tp, typename _Alloc> - template <typename _InputIter> - void list<_Tp, _Alloc>:: - _M_insert_dispatch(iterator __position, _InputIter __first, _InputIter __last, - __false_type) - { - for ( ; __first != __last; ++__first) - insert(__position, *__first); - - } - - template<typename _Tp, typename _Alloc> - void list<_Tp, _Alloc>:: - _M_fill_insert(iterator __position, size_type __n, const _Tp& __x) - { - for ( ; __n > 0; --__n) - insert(__position, __x); - } - - template<typename _Tp, typename _Alloc> - typename list<_Tp,_Alloc>::iterator list<_Tp, _Alloc>:: - erase(iterator __first, iterator __last) - { - while (__first != __last) - erase(__first++); - return __last; - } - - template<typename _Tp, typename _Alloc> - void list<_Tp, _Alloc>:: - resize(size_type __new_size, const _Tp& __x) - { - iterator __i = begin(); - size_type __len = 0; - for ( ; __i != end() && __len < __new_size; ++__i, ++__len) - ; - if (__len == __new_size) - erase(__i, end()); - else // __i == end() - insert(end(), __new_size - __len, __x); - } - - template<typename _Tp, typename _Alloc> - list<_Tp, _Alloc>& list<_Tp, _Alloc>:: - operator=(const list<_Tp, _Alloc>& __x) - { - if (this != &__x) { - iterator __first1 = begin(); - iterator __last1 = end(); - const_iterator __first2 = __x.begin(); - const_iterator __last2 = __x.end(); - while (__first1 != __last1 && __first2 != __last2) - *__first1++ = *__first2++; - if (__first2 == __last2) - erase(__first1, __last1); - else - insert(__last1, __first2, __last2); - } - return *this; - } - - template<typename _Tp, typename _Alloc> - void list<_Tp, _Alloc>:: - _M_fill_assign(size_type __n, const _Tp& __val) { - iterator __i = begin(); - for ( ; __i != end() && __n > 0; ++__i, --__n) - *__i = __val; - if (__n > 0) - insert(end(), __n, __val); - else - erase(__i, end()); - } - - template<typename _Tp, typename _Alloc> - template <typename _InputIter> - void list<_Tp, _Alloc>:: - _M_assign_dispatch(_InputIter __first2, _InputIter __last2, __false_type) - { - iterator __first1 = begin(); - iterator __last1 = end(); - for ( ; __first1 != __last1 && __first2 != __last2; ++__first1, ++__first2) - *__first1 = *__first2; - if (__first2 == __last2) - erase(__first1, __last1); - else - insert(__last1, __first2, __last2); - } - - template<typename _Tp, typename _Alloc> - void list<_Tp, _Alloc>:: - remove(const _Tp& __value) - { - iterator __first = begin(); - iterator __last = end(); - while (__first != __last) { - iterator __next = __first; - ++__next; - if (*__first == __value) erase(__first); - __first = __next; - } - } - - template<typename _Tp, typename _Alloc> - void list<_Tp, _Alloc>:: - unique() - { - iterator __first = begin(); - iterator __last = end(); - if (__first == __last) return; - iterator __next = __first; - while (++__next != __last) { - if (*__first == *__next) - erase(__next); - else - __first = __next; - __next = __first; - } - } - - template<typename _Tp, typename _Alloc> - void list<_Tp, _Alloc>:: - merge(list<_Tp, _Alloc>& __x) - { - iterator __first1 = begin(); - iterator __last1 = end(); - iterator __first2 = __x.begin(); - iterator __last2 = __x.end(); - while (__first1 != __last1 && __first2 != __last2) - if (*__first2 < *__first1) { - iterator __next = __first2; - _M_transfer(__first1, __first2, ++__next); - __first2 = __next; - } - else - ++__first1; - if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); - } - - inline void - __List_base_reverse(_List_node_base* __p) - { - _List_node_base* __tmp = __p; - do { - std::swap(__tmp->_M_next, __tmp->_M_prev); - __tmp = __tmp->_M_prev; // Old next node is now prev. - } while (__tmp != __p); - } - - template<typename _Tp, typename _Alloc> - inline void list<_Tp, _Alloc>:: - reverse() - { __List_base_reverse(this->_M_node); } - - template<typename _Tp, typename _Alloc> - void list<_Tp, _Alloc>:: - sort() - { - // Do nothing if the list has length 0 or 1. - if (_M_node->_M_next != _M_node && _M_node->_M_next->_M_next != _M_node) { - list<_Tp, _Alloc> __carry; - list<_Tp, _Alloc> __counter[64]; - int __fill = 0; - while (!empty()) { - __carry.splice(__carry.begin(), *this, begin()); - int __i = 0; - while(__i < __fill && !__counter[__i].empty()) { - __counter[__i].merge(__carry); - __carry.swap(__counter[__i++]); - } - __carry.swap(__counter[__i]); - if (__i == __fill) ++__fill; - } - - for (int __i = 1; __i < __fill; ++__i) - __counter[__i].merge(__counter[__i-1]); - swap(__counter[__fill-1]); - } - } - - template<typename _Tp, typename _Alloc> - template <typename _Predicate> - void list<_Tp, _Alloc>:: - remove_if(_Predicate __pred) - { - iterator __first = begin(); - iterator __last = end(); - while (__first != __last) { - iterator __next = __first; - ++__next; - if (__pred(*__first)) erase(__first); - __first = __next; - } - } - - template<typename _Tp, typename _Alloc> - template <typename _BinaryPredicate> - void list<_Tp, _Alloc>:: - unique(_BinaryPredicate __binary_pred) - { - iterator __first = begin(); - iterator __last = end(); - if (__first == __last) return; - iterator __next = __first; - while (++__next != __last) { - if (__binary_pred(*__first, *__next)) - erase(__next); - else - __first = __next; - __next = __first; - } - } - - template<typename _Tp, typename _Alloc> - template <typename _StrictWeakOrdering> - void list<_Tp, _Alloc>:: - merge(list<_Tp, _Alloc>& __x, _StrictWeakOrdering __comp) - { - iterator __first1 = begin(); - iterator __last1 = end(); - iterator __first2 = __x.begin(); - iterator __last2 = __x.end(); - while (__first1 != __last1 && __first2 != __last2) - if (__comp(*__first2, *__first1)) { - iterator __next = __first2; - _M_transfer(__first1, __first2, ++__next); - __first2 = __next; - } - else - ++__first1; - if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); - } - - template<typename _Tp, typename _Alloc> - template <typename _StrictWeakOrdering> - void list<_Tp, _Alloc>:: - sort(_StrictWeakOrdering __comp) - { - // Do nothing if the list has length 0 or 1. - if (_M_node->_M_next != _M_node && _M_node->_M_next->_M_next != _M_node) { - list<_Tp, _Alloc> __carry; - list<_Tp, _Alloc> __counter[64]; - int __fill = 0; - while (!empty()) { - __carry.splice(__carry.begin(), *this, begin()); - int __i = 0; - while(__i < __fill && !__counter[__i].empty()) { - __counter[__i].merge(__carry, __comp); - __carry.swap(__counter[__i++]); - } - __carry.swap(__counter[__i]); - if (__i == __fill) ++__fill; - } - - for (int __i = 1; __i < __fill; ++__i) - __counter[__i].merge(__counter[__i-1], __comp); - swap(__counter[__fill-1]); - } - } - -} // namespace std +} // namespace std #endif /* __GLIBCPP_INTERNAL_LIST_H */ - -// vi:set ts=2 sw=2: -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/bits/stl_map.h b/contrib/libstdc++/include/bits/stl_map.h index 07c62e4..ed47bbb 100644 --- a/contrib/libstdc++/include/bits/stl_map.h +++ b/contrib/libstdc++/include/bits/stl_map.h @@ -58,446 +58,604 @@ * You should not attempt to use it directly. */ -#ifndef _CPP_BITS_STL_MAP_H -#define _CPP_BITS_STL_MAP_H 1 +#ifndef __GLIBCPP_INTERNAL_MAP_H +#define __GLIBCPP_INTERNAL_MAP_H #include <bits/concept_check.h> namespace std { - -/** - * @brief A standard container made up of pairs (see std::pair in <utility>) - * which can be retrieved based on a key. - * - * This is an associative container. Values contained within it can be - * quickly retrieved through a key element. Example: MyMap["First"] would - * return the data associated with the key "First". -*/ -template <class _Key, class _Tp, class _Compare = less<_Key>, - class _Alloc = allocator<pair<const _Key, _Tp> > > -class map -{ - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - __glibcpp_class_requires4(_Compare, bool, _Key, _Key, _BinaryFunctionConcept); - -public: - // typedefs: - typedef _Key key_type; - typedef _Tp data_type; - typedef _Tp mapped_type; - typedef pair<const _Key, _Tp> value_type; - typedef _Compare key_compare; - - class value_compare - : public binary_function<value_type, value_type, bool> { - friend class map<_Key,_Tp,_Compare,_Alloc>; - protected : - _Compare comp; - value_compare(_Compare __c) : comp(__c) {} - public: - bool operator()(const value_type& __x, const value_type& __y) const { - return comp(__x.first, __y.first); - } - }; - -private: - typedef _Rb_tree<key_type, value_type, - _Select1st<value_type>, key_compare, _Alloc> _Rep_type; - _Rep_type _M_t; // red-black tree representing map -public: - typedef typename _Rep_type::pointer pointer; - typedef typename _Rep_type::const_pointer const_pointer; - typedef typename _Rep_type::reference reference; - typedef typename _Rep_type::const_reference const_reference; - typedef typename _Rep_type::iterator iterator; - typedef typename _Rep_type::const_iterator const_iterator; - typedef typename _Rep_type::reverse_iterator reverse_iterator; - typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; - typedef typename _Rep_type::size_type size_type; - typedef typename _Rep_type::difference_type difference_type; - typedef typename _Rep_type::allocator_type allocator_type; - - // allocation/deallocation - - map() : _M_t(_Compare(), allocator_type()) {} - explicit map(const _Compare& __comp, - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) {} - - template <class _InputIterator> - map(_InputIterator __first, _InputIterator __last) - : _M_t(_Compare(), allocator_type()) - { _M_t.insert_unique(__first, __last); } - - template <class _InputIterator> - map(_InputIterator __first, _InputIterator __last, const _Compare& __comp, - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { _M_t.insert_unique(__first, __last); } - map(const map<_Key,_Tp,_Compare,_Alloc>& __x) : _M_t(__x._M_t) {} - - map<_Key,_Tp,_Compare,_Alloc>& - operator=(const map<_Key, _Tp, _Compare, _Alloc>& __x) - { - _M_t = __x._M_t; - return *this; - } - - // accessors: - - key_compare key_comp() const { return _M_t.key_comp(); } - value_compare value_comp() const { return value_compare(_M_t.key_comp()); } - allocator_type get_allocator() const { return _M_t.get_allocator(); } - - /** - * Returns a read/write iterator that points to the first pair in the map. - * Iteration is done in ascending order according to the keys. - */ - iterator begin() { return _M_t.begin(); } - - /** - * Returns a read-only (constant) iterator that points to the first pair - * in the map. Iteration is done in ascending order according to the keys. - */ - const_iterator begin() const { return _M_t.begin(); } - - /** - * Returns a read/write iterator that points one past the last pair in the - * map. Iteration is done in ascending order according to the keys. - */ - iterator end() { return _M_t.end(); } - - /** - * Returns a read-only (constant) iterator that points one past the last - * pair in the map. Iteration is done in ascending order according to the - * keys. - */ - const_iterator end() const { return _M_t.end(); } - /** - * Returns a read/write reverse iterator that points to the last pair in - * the map. Iteration is done in descending order according to the keys. - */ - reverse_iterator rbegin() { return _M_t.rbegin(); } - - /** - * Returns a read-only (constant) reverse iterator that points to the last - * pair in the map. Iteration is done in descending order according to - * the keys. - */ - const_reverse_iterator rbegin() const { return _M_t.rbegin(); } - - /** - * Returns a read/write reverse iterator that points to one before the - * first pair in the map. Iteration is done in descending order according - * to the keys. - */ - reverse_iterator rend() { return _M_t.rend(); } - - /** - * Returns a read-only (constant) reverse iterator that points to one - * before the first pair in the map. Iteration is done in descending order - * according to the keys. - */ - const_reverse_iterator rend() const { return _M_t.rend(); } - - /** Returns true if the map is empty. (Thus begin() would equal end().) */ - bool empty() const { return _M_t.empty(); } - /** Returns the size of the map. */ - size_type size() const { return _M_t.size(); } - /** Returns the maximum size of the map. */ - size_type max_size() const { return _M_t.max_size(); } - - /** - * @brief Subscript ( [] ) access to map data. - * @param k The key for which data should be retrieved. - * - * Allows for easy lookup with the subscript ( [] ) operator. Returns the - * data associated with the key specified in subscript. If the key does - * not exist a pair with that key is created with a default value, which - * is then returned. - */ - _Tp& operator[](const key_type& __k) { - iterator __i = lower_bound(__k); - // __i->first is greater than or equivalent to __k. - if (__i == end() || key_comp()(__k, (*__i).first)) - __i = insert(__i, value_type(__k, _Tp())); - return (*__i).second; - } - - void swap(map<_Key,_Tp,_Compare,_Alloc>& __x) { _M_t.swap(__x._M_t); } - - // insert/erase - /** - * @brief Attempts to insert a std::pair into the map. - * @param x Pair to be inserted (see std::make_pair for easy creation of - * pairs). - * @return A pair of which the first element is an iterator that points - * to the possibly inserted pair, a second element of type bool - * to show if the pair was actually inserted. + * @brief A standard container made up of (key,value) pairs, which can be + * retrieved based on a key, in logarithmic time. * - * This function attempts to insert a (key, value) pair into the map. A - * map relies on unique keys and thus a pair is only inserted if its first - * element (the key) is not already present in the map. - */ - pair<iterator,bool> insert(const value_type& __x) - { return _M_t.insert_unique(__x); } - - /** - * @brief Attempts to insert a std::pair into the map. - * @param position An iterator that serves as a hint as to where the - * pair should be inserted. - * @param x Pair to be inserted (see std::make_pair for easy creation of - * pairs). - * @return An iterator that points to the inserted (key,value) pair. + * @ingroup Containers + * @ingroup Assoc_containers * - * This function is not concerned about whether the insertion took place - * or not and thus does not return a boolean like the single-argument - * insert() does. Note that the first parameter is only a hint and can - * potentially improve the performance of the insertion process. A bad - * hint would cause no gains in efficiency. - */ - iterator insert(iterator position, const value_type& __x) - { return _M_t.insert_unique(position, __x); } - - /** - * @brief A template function that attemps to insert elements from - * another range (possibly another map). - * @param first Iterator pointing to the start of the range to be inserted. - * @param last Iterator pointing to the end of the range. - */ - template <class _InputIterator> - void insert(_InputIterator __first, _InputIterator __last) { - _M_t.insert_unique(__first, __last); - } - - /** - * @brief Erases an element from a map. - * @param position An iterator pointing to the element to be erased. + * Meets the requirements of a <a href="tables.html#65">container</a>, a + * <a href="tables.html#66">reversible container</a>, and an + * <a href="tables.html#69">associative container</a> (using unique keys). + * For a @c map<Key,T> the key_type is Key, the mapped_type is T, and the + * value_type is std::pair<const Key,T>. * - * This function erases an element, pointed to by the given iterator, from - * a map. Note that this function only erases the element, and that if - * the element is itself a pointer, the pointed-to memory is not touched - * in any way. Managing the pointer is the user's responsibilty. - */ - void erase(iterator __position) { _M_t.erase(__position); } - - /** - * @brief Erases an element according to the provided key. - * @param x Key of element to be erased. - * @return Doc me! (Number of elements that match key? Only makes sense - * with multimap) - * - * This function erases an element, located by the given key, from a map. - * Note that this function only erases the element, and that if - * the element is itself a pointer, the pointed-to memory is not touched - * in any way. Managing the pointer is the user's responsibilty. - */ - size_type erase(const key_type& __x) { return _M_t.erase(__x); } - - /** - * @brief Erases a [first,last) range of elements from a map. - * @param first Iterator pointing to the start of the range to be erased. - * @param last Iterator pointing to the end of the range to be erased. - * - * This function erases a sequence of elements from a map. - * Note that this function only erases the element, and that if - * the element is itself a pointer, the pointed-to memory is not touched - * in any way. Managing the pointer is the user's responsibilty. - */ - void erase(iterator __first, iterator __last) - { _M_t.erase(__first, __last); } - - /** Erases all elements in a map. Note that this function only erases - * the elements, and that if the elements themselves are pointers, the - * pointed-to memory is not touched in any way. Managing the pointer is - * the user's responsibilty. - */ - void clear() { _M_t.clear(); } - - // map operations: - - /** - * @brief Tries to locate an element in a map. - * @param x Key of (key, value) pair to be located. - * @return Iterator pointing to sought-after element, or end() if not - * found. - * - * This function takes a key and tries to locate the element with which - * the key matches. If successful the function returns an iterator - * pointing to the sought after pair. If unsuccessful it returns the - * one past the end ( end() ) iterator. - */ - iterator find(const key_type& __x) { return _M_t.find(__x); } - - /** - * @brief Tries to locate an element in a map. - * @param x Key of (key, value) pair to be located. - * @return Read-only (constant) iterator pointing to sought-after - * element, or end() if not found. - * - * This function takes a key and tries to locate the element with which - * the key matches. If successful the function returns a constant iterator - * pointing to the sought after pair. If unsuccessful it returns the - * one past the end ( end() ) iterator. - */ - const_iterator find(const key_type& __x) const { return _M_t.find(__x); } - - /** - * @brief Finds the number of elements with given key. - * @param x Key of (key, value) pairs to be located. - * @return Number of elements with specified key. - * - * This function only makes sense for multimaps. - */ - size_type count(const key_type& __x) const { - return _M_t.find(__x) == _M_t.end() ? 0 : 1; - } - - /** - * @brief Finds the beginning of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Iterator pointing to first element matching given key, or - * end() if not found. - * - * This function is useful only with std::multimap. It returns the first - * element of a subsequence of elements that matches the given key. If - * unsuccessful it returns an iterator pointing to the first element that - * has a greater value than given key or end() if no such element exists. - */ - iterator lower_bound(const key_type& __x) {return _M_t.lower_bound(__x); } - - /** - * @brief Finds the beginning of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Read-only (constant) iterator pointing to first element - * matching given key, or end() if not found. + * Maps support bidirectional iterators. * - * This function is useful only with std::multimap. It returns the first - * element of a subsequence of elements that matches the given key. If - * unsuccessful the iterator will point to the next greatest element or, - * if no such greater element exists, to end(). + * @if maint + * The private tree data is declared exactly the same way for map and + * multimap; the distinction is made entirely in how the tree functions are + * called (*_unique versus *_equal, same as the standard). + * @endif */ - const_iterator lower_bound(const key_type& __x) const { - return _M_t.lower_bound(__x); - } - - /** - * @brief Finds the end of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Iterator pointing to last element matching given key. - * - * This function only makes sense with multimaps. - */ - iterator upper_bound(const key_type& __x) {return _M_t.upper_bound(__x); } - - /** - * @brief Finds the end of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Read-only (constant) iterator pointing to last element matching - * given key. - * - * This function only makes sense with multimaps. - */ - const_iterator upper_bound(const key_type& __x) const { - return _M_t.upper_bound(__x); - } - + template <typename _Key, typename _Tp, typename _Compare = less<_Key>, + typename _Alloc = allocator<pair<const _Key, _Tp> > > + class map + { + // concept requirements + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + __glibcpp_class_requires4(_Compare, bool, _Key, _Key, _BinaryFunctionConcept) + + public: + typedef _Key key_type; + typedef _Tp mapped_type; + typedef pair<const _Key, _Tp> value_type; + typedef _Compare key_compare; + + class value_compare + : public binary_function<value_type, value_type, bool> + { + friend class map<_Key,_Tp,_Compare,_Alloc>; + protected: + _Compare comp; + value_compare(_Compare __c) : comp(__c) {} + public: + bool operator()(const value_type& __x, const value_type& __y) const + { return comp(__x.first, __y.first); } + }; + + private: + /// @if maint This turns a red-black tree into a [multi]map. @endif + typedef _Rb_tree<key_type, value_type, + _Select1st<value_type>, key_compare, _Alloc> _Rep_type; + /// @if maint The actual tree structure. @endif + _Rep_type _M_t; + + public: + // many of these are specified differently in ISO, but the following are + // "functionally equivalent" + typedef typename _Rep_type::allocator_type allocator_type; + typedef typename _Rep_type::reference reference; + typedef typename _Rep_type::const_reference const_reference; + typedef typename _Rep_type::iterator iterator; + typedef typename _Rep_type::const_iterator const_iterator; + typedef typename _Rep_type::size_type size_type; + typedef typename _Rep_type::difference_type difference_type; + typedef typename _Rep_type::pointer pointer; + typedef typename _Rep_type::const_pointer const_pointer; + typedef typename _Rep_type::reverse_iterator reverse_iterator; + typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; + + + // [23.3.1.1] construct/copy/destroy + // (get_allocator() is normally listed in this section, but seems to have + // been accidentally omitted in the printed standard) + /** + * @brief Default constructor creates no elements. + */ + map() : _M_t(_Compare(), allocator_type()) { } + + // for some reason this was made a separate function + /** + * @brief Default constructor creates no elements. + */ + explicit + map(const _Compare& __comp, const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) { } + + /** + * @brief Map copy constructor. + * @param x A %map of identical element and allocator types. + * + * The newly-created %map uses a copy of the allocation object used + * by @a x. + */ + map(const map& __x) + : _M_t(__x._M_t) { } + + /** + * @brief Builds a %map from a range. + * @param first An input iterator. + * @param last An input iterator. + * + * Create a %map consisting of copies of the elements from [first,last). + * This is linear in N if the range is already sorted, and NlogN + * otherwise (where N is distance(first,last)). + */ + template <typename _InputIterator> + map(_InputIterator __first, _InputIterator __last) + : _M_t(_Compare(), allocator_type()) + { _M_t.insert_unique(__first, __last); } + + /** + * @brief Builds a %map from a range. + * @param first An input iterator. + * @param last An input iterator. + * @param comp A comparison functor. + * @param a An allocator object. + * + * Create a %map consisting of copies of the elements from [first,last). + * This is linear in N if the range is already sorted, and NlogN + * otherwise (where N is distance(first,last)). + */ + template <typename _InputIterator> + map(_InputIterator __first, _InputIterator __last, + const _Compare& __comp, const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) + { _M_t.insert_unique(__first, __last); } + + // FIXME There is no dtor declared, but we should have something generated + // by Doxygen. I don't know what tags to add to this paragraph to make + // that happen: + /** + * The dtor only erases the elements, and note that if the elements + * themselves are pointers, the pointed-to memory is not touched in any + * way. Managing the pointer is the user's responsibilty. + */ + + /** + * @brief Map assignment operator. + * @param x A %map of identical element and allocator types. + * + * All the elements of @a x are copied, but unlike the copy constructor, + * the allocator object is not copied. + */ + map& + operator=(const map& __x) + { + _M_t = __x._M_t; + return *this; + } + + /// Get a copy of the memory allocation object. + allocator_type + get_allocator() const { return _M_t.get_allocator(); } + + // iterators + /** + * Returns a read/write iterator that points to the first pair in the %map. + * Iteration is done in ascending order according to the keys. + */ + iterator + begin() { return _M_t.begin(); } + + /** + * Returns a read-only (constant) iterator that points to the first pair + * in the %map. Iteration is done in ascending order according to the + * keys. + */ + const_iterator + begin() const { return _M_t.begin(); } + + /** + * Returns a read/write iterator that points one past the last pair in the + * %map. Iteration is done in ascending order according to the keys. + */ + iterator + end() { return _M_t.end(); } + + /** + * Returns a read-only (constant) iterator that points one past the last + * pair in the %map. Iteration is done in ascending order according to the + * keys. + */ + const_iterator + end() const { return _M_t.end(); } + + /** + * Returns a read/write reverse iterator that points to the last pair in + * the %map. Iteration is done in descending order according to the keys. + */ + reverse_iterator + rbegin() { return _M_t.rbegin(); } + + /** + * Returns a read-only (constant) reverse iterator that points to the last + * pair in the %map. Iteration is done in descending order according to + * the keys. + */ + const_reverse_iterator + rbegin() const { return _M_t.rbegin(); } + + /** + * Returns a read/write reverse iterator that points to one before the + * first pair in the %map. Iteration is done in descending order according + * to the keys. + */ + reverse_iterator + rend() { return _M_t.rend(); } + + /** + * Returns a read-only (constant) reverse iterator that points to one + * before the first pair in the %map. Iteration is done in descending + * order according to the keys. + */ + const_reverse_iterator + rend() const { return _M_t.rend(); } + + // capacity + /** Returns true if the %map is empty. (Thus begin() would equal end().) */ + bool + empty() const { return _M_t.empty(); } + + /** Returns the size of the %map. */ + size_type + size() const { return _M_t.size(); } + + /** Returns the maximum size of the %map. */ + size_type + max_size() const { return _M_t.max_size(); } + + // [23.3.1.2] element access + /** + * @brief Subscript ( @c [] ) access to %map data. + * @param k The key for which data should be retrieved. + * @return A reference to the data of the (key,data) %pair. + * + * Allows for easy lookup with the subscript ( @c [] ) operator. Returns + * data associated with the key specified in subscript. If the key does + * not exist, a pair with that key is created using default values, which + * is then returned. + * + * Lookup requires logarithmic time. + */ + mapped_type& + operator[](const key_type& __k) + { + // concept requirements + __glibcpp_function_requires(_DefaultConstructibleConcept<mapped_type>) + + iterator __i = lower_bound(__k); + // __i->first is greater than or equivalent to __k. + if (__i == end() || key_comp()(__k, (*__i).first)) + __i = insert(__i, value_type(__k, mapped_type())); + return (*__i).second; + } + + // modifiers + /** + * @brief Attempts to insert a std::pair into the %map. + * @param x Pair to be inserted (see std::make_pair for easy creation of + * pairs). + * @return A pair, of which the first element is an iterator that points + * to the possibly inserted pair, and the second is a bool that + * is true if the pair was actually inserted. + * + * This function attempts to insert a (key, value) %pair into the %map. + * A %map relies on unique keys and thus a %pair is only inserted if its + * first element (the key) is not already present in the %map. + * + * Insertion requires logarithmic time. + */ + pair<iterator,bool> + insert(const value_type& __x) + { return _M_t.insert_unique(__x); } + + /** + * @brief Attempts to insert a std::pair into the %map. + * @param position An iterator that serves as a hint as to where the + * pair should be inserted. + * @param x Pair to be inserted (see std::make_pair for easy creation of + * pairs). + * @return An iterator that points to the element with key of @a x (may + * or may not be the %pair passed in). + * + * This function is not concerned about whether the insertion took place, + * and thus does not return a boolean like the single-argument + * insert() does. Note that the first parameter is only a hint and can + * potentially improve the performance of the insertion process. A bad + * hint would cause no gains in efficiency. + * + * See http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4 + * for more on "hinting". + * + * Insertion requires logarithmic time (if the hint is not taken). + */ + iterator + insert(iterator position, const value_type& __x) + { return _M_t.insert_unique(position, __x); } + + /** + * @brief A template function that attemps to insert a range of elements. + * @param first Iterator pointing to the start of the range to be + * inserted. + * @param last Iterator pointing to the end of the range. + * + * Complexity similar to that of the range constructor. + */ + template <typename _InputIterator> + void + insert(_InputIterator __first, _InputIterator __last) + { _M_t.insert_unique(__first, __last); } + + /** + * @brief Erases an element from a %map. + * @param position An iterator pointing to the element to be erased. + * + * This function erases an element, pointed to by the given iterator, from + * a %map. Note that this function only erases the element, and that if + * the element is itself a pointer, the pointed-to memory is not touched + * in any way. Managing the pointer is the user's responsibilty. + */ + void + erase(iterator __position) { _M_t.erase(__position); } + + /** + * @brief Erases elements according to the provided key. + * @param x Key of element to be erased. + * @return The number of elements erased. + * + * This function erases all the elements located by the given key from + * a %map. + * Note that this function only erases the element, and that if + * the element is itself a pointer, the pointed-to memory is not touched + * in any way. Managing the pointer is the user's responsibilty. + */ + size_type + erase(const key_type& __x) { return _M_t.erase(__x); } + + /** + * @brief Erases a [first,last) range of elements from a %map. + * @param first Iterator pointing to the start of the range to be erased. + * @param last Iterator pointing to the end of the range to be erased. + * + * This function erases a sequence of elements from a %map. + * Note that this function only erases the element, and that if + * the element is itself a pointer, the pointed-to memory is not touched + * in any way. Managing the pointer is the user's responsibilty. + */ + void + erase(iterator __first, iterator __last) { _M_t.erase(__first, __last); } + + /** + * @brief Swaps data with another %map. + * @param x A %map of the same element and allocator types. + * + * This exchanges the elements between two maps in constant time. + * (It is only swapping a pointer, an integer, and an instance of + * the @c Compare type (which itself is often stateless and empty), so it + * should be quite fast.) + * Note that the global std::swap() function is specialized such that + * std::swap(m1,m2) will feed to this function. + */ + void + swap(map& __x) { _M_t.swap(__x._M_t); } + + /** + * Erases all elements in a %map. Note that this function only erases + * the elements, and that if the elements themselves are pointers, the + * pointed-to memory is not touched in any way. Managing the pointer is + * the user's responsibilty. + */ + void + clear() { _M_t.clear(); } + + // observers + /** + * Returns the key comparison object out of which the %map was constructed. + */ + key_compare + key_comp() const { return _M_t.key_comp(); } + + /** + * Returns a value comparison object, built from the key comparison + * object out of which the %map was constructed. + */ + value_compare + value_comp() const { return value_compare(_M_t.key_comp()); } + + // [23.3.1.3] map operations + /** + * @brief Tries to locate an element in a %map. + * @param x Key of (key, value) %pair to be located. + * @return Iterator pointing to sought-after element, or end() if not + * found. + * + * This function takes a key and tries to locate the element with which + * the key matches. If successful the function returns an iterator + * pointing to the sought after %pair. If unsuccessful it returns the + * past-the-end ( @c end() ) iterator. + */ + iterator + find(const key_type& __x) { return _M_t.find(__x); } + + /** + * @brief Tries to locate an element in a %map. + * @param x Key of (key, value) %pair to be located. + * @return Read-only (constant) iterator pointing to sought-after + * element, or end() if not found. + * + * This function takes a key and tries to locate the element with which + * the key matches. If successful the function returns a constant iterator + * pointing to the sought after %pair. If unsuccessful it returns the + * past-the-end ( @c end() ) iterator. + */ + const_iterator + find(const key_type& __x) const { return _M_t.find(__x); } + + /** + * @brief Finds the number of elements with given key. + * @param x Key of (key, value) pairs to be located. + * @return Number of elements with specified key. + * + * This function only makes sense for multimaps; for map the result will + * either be 0 (not present) or 1 (present). + */ + size_type + count(const key_type& __x) const + { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } + + /** + * @brief Finds the beginning of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Iterator pointing to first element matching given key, or + * end() if not found. + * + * This function is useful only with multimaps. It returns the first + * element of a subsequence of elements that matches the given key. If + * unsuccessful it returns an iterator pointing to the first element that + * has a greater value than given key or end() if no such element exists. + */ + iterator + lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } + + /** + * @brief Finds the beginning of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Read-only (constant) iterator pointing to first element + * matching given key, or end() if not found. + * + * This function is useful only with multimaps. It returns the first + * element of a subsequence of elements that matches the given key. If + * unsuccessful the iterator will point to the next greatest element or, + * if no such greater element exists, to end(). + */ + const_iterator + lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } + + /** + * @brief Finds the end of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Iterator pointing to last element matching given key. + * + * This function only makes sense with multimaps. + */ + iterator + upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } + + /** + * @brief Finds the end of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Read-only (constant) iterator pointing to last element matching + * given key. + * + * This function only makes sense with multimaps. + */ + const_iterator + upper_bound(const key_type& __x) const + { return _M_t.upper_bound(__x); } + + /** + * @brief Finds a subsequence matching given key. + * @param x Key of (key, value) pairs to be located. + * @return Pair of iterators that possibly points to the subsequence + * matching given key. + * + * This function returns a pair of which the first + * element possibly points to the first element matching the given key + * and the second element possibly points to the last element matching the + * given key. If unsuccessful the first element of the returned pair will + * contain an iterator pointing to the next greatest element or, if no such + * greater element exists, to end(). + * + * This function only makes sense for multimaps. + */ + pair<iterator,iterator> + equal_range(const key_type& __x) + { return _M_t.equal_range(__x); } + + /** + * @brief Finds a subsequence matching given key. + * @param x Key of (key, value) pairs to be located. + * @return Pair of read-only (constant) iterators that possibly points to + * the subsequence matching given key. + * + * This function returns a pair of which the first + * element possibly points to the first element matching the given key + * and the second element possibly points to the last element matching the + * given key. If unsuccessful the first element of the returned pair will + * contain an iterator pointing to the next greatest element or, if no such + * a greater element exists, to end(). + * + * This function only makes sense for multimaps. + */ + pair<const_iterator,const_iterator> + equal_range(const key_type& __x) const + { return _M_t.equal_range(__x); } + + template <typename _K1, typename _T1, typename _C1, typename _A1> + friend bool operator== (const map<_K1,_T1,_C1,_A1>&, + const map<_K1,_T1,_C1,_A1>&); + template <typename _K1, typename _T1, typename _C1, typename _A1> + friend bool operator< (const map<_K1,_T1,_C1,_A1>&, + const map<_K1,_T1,_C1,_A1>&); + }; + + /** - * @brief Finds a subsequence matching given key. - * @param x Key of (key, value) pairs to be located. - * @return Pair of iterators that possibly points to the subsequence - * matching given key. + * @brief Map equality comparison. + * @param x A %map. + * @param y A %map of the same type as @a x. + * @return True iff the size and elements of the maps are equal. * - * This function improves on lower_bound() and upper_bound() by giving a more - * elegant and efficient solution. It returns a pair of which the first - * element possibly points to the first element matching the given key - * and the second element possibly points to the last element matching the - * given key. If unsuccessful the first element of the returned pair will - * contain an iterator pointing to the next greatest element or, if no such - * greater element exists, to end(). - * - * This function only makes sense for multimaps. + * This is an equivalence relation. It is linear in the size of the + * maps. Maps are considered equivalent if their sizes are equal, + * and if corresponding elements compare equal. */ - pair<iterator,iterator> equal_range(const key_type& __x) { - return _M_t.equal_range(__x); - } - + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator==(const map<_Key,_Tp,_Compare,_Alloc>& __x, + const map<_Key,_Tp,_Compare,_Alloc>& __y) + { return __x._M_t == __y._M_t; } + /** - * @brief Finds a subsequence matching given key. - * @param x Key of (key, value) pairs to be located. - * @return Pair of read-only (constant) iterators that possibly points to - * the subsequence matching given key. + * @brief Map ordering relation. + * @param x A %map. + * @param y A %map of the same type as @a x. + * @return True iff @a x is lexographically less than @a y. * - * This function improves on lower_bound() and upper_bound() by giving a more - * elegant and efficient solution. It returns a pair of which the first - * element possibly points to the first element matching the given key - * and the second element possibly points to the last element matching the - * given key. If unsuccessful the first element of the returned pair will - * contain an iterator pointing to the next greatest element or, if no such - * a greater element exists, to end(). + * This is a total ordering relation. It is linear in the size of the + * maps. The elements must be comparable with @c <. * - * This function only makes sense for multimaps. + * See std::lexographical_compare() for how the determination is made. */ - pair<const_iterator,const_iterator> equal_range(const key_type& __x) const { - return _M_t.equal_range(__x); - } - - template <class _K1, class _T1, class _C1, class _A1> - friend bool operator== (const map<_K1, _T1, _C1, _A1>&, - const map<_K1, _T1, _C1, _A1>&); - template <class _K1, class _T1, class _C1, class _A1> - friend bool operator< (const map<_K1, _T1, _C1, _A1>&, - const map<_K1, _T1, _C1, _A1>&); -}; - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator==(const map<_Key,_Tp,_Compare,_Alloc>& __x, - const map<_Key,_Tp,_Compare,_Alloc>& __y) { - return __x._M_t == __y._M_t; -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator<(const map<_Key,_Tp,_Compare,_Alloc>& __x, - const map<_Key,_Tp,_Compare,_Alloc>& __y) { - return __x._M_t < __y._M_t; -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator!=(const map<_Key,_Tp,_Compare,_Alloc>& __x, - const map<_Key,_Tp,_Compare,_Alloc>& __y) { - return !(__x == __y); -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator>(const map<_Key,_Tp,_Compare,_Alloc>& __x, - const map<_Key,_Tp,_Compare,_Alloc>& __y) { - return __y < __x; -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator<=(const map<_Key,_Tp,_Compare,_Alloc>& __x, - const map<_Key,_Tp,_Compare,_Alloc>& __y) { - return !(__y < __x); -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator>=(const map<_Key,_Tp,_Compare,_Alloc>& __x, - const map<_Key,_Tp,_Compare,_Alloc>& __y) { - return !(__x < __y); -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline void swap(map<_Key,_Tp,_Compare,_Alloc>& __x, - map<_Key,_Tp,_Compare,_Alloc>& __y) { - __x.swap(__y); -} - + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<(const map<_Key,_Tp,_Compare,_Alloc>& __x, + const map<_Key,_Tp,_Compare,_Alloc>& __y) + { return __x._M_t < __y._M_t; } + + /// Based on operator== + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator!=(const map<_Key,_Tp,_Compare,_Alloc>& __x, + const map<_Key,_Tp,_Compare,_Alloc>& __y) + { return !(__x == __y); } + + /// Based on operator< + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>(const map<_Key,_Tp,_Compare,_Alloc>& __x, + const map<_Key,_Tp,_Compare,_Alloc>& __y) + { return __y < __x; } + + /// Based on operator< + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<=(const map<_Key,_Tp,_Compare,_Alloc>& __x, + const map<_Key,_Tp,_Compare,_Alloc>& __y) + { return !(__y < __x); } + + /// Based on operator< + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>=(const map<_Key,_Tp,_Compare,_Alloc>& __x, + const map<_Key,_Tp,_Compare,_Alloc>& __y) + { return !(__x < __y); } + + /// See std::map::swap(). + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline void + swap(map<_Key,_Tp,_Compare,_Alloc>& __x, map<_Key,_Tp,_Compare,_Alloc>& __y) + { __x.swap(__y); } } // namespace std -#endif /* _CPP_BITS_STL_MAP_H */ - -// Local Variables: -// mode:C++ -// End: +#endif /* __GLIBCPP_INTERNAL_MAP_H */ diff --git a/contrib/libstdc++/include/bits/stl_multimap.h b/contrib/libstdc++/include/bits/stl_multimap.h index 5947d75..0fa79a8 100644 --- a/contrib/libstdc++/include/bits/stl_multimap.h +++ b/contrib/libstdc++/include/bits/stl_multimap.h @@ -1,6 +1,6 @@ // Multimap implementation -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 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 @@ -65,427 +65,572 @@ namespace std { -// Forward declaration of operators < and ==, needed for friend declaration. -template <class _Key, class _Tp, - class _Compare = less<_Key>, - class _Alloc = allocator<pair<const _Key, _Tp> > > -class multimap; - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator==(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y); - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator<(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y); - -/** - * @brief A standard container made up of pairs (see std::pair in <utility>) - * which can be retrieved based on a key. - * - * This is an associative container. Values contained within it can be - * quickly retrieved through a key element. In contrast with a map a - * multimap can have multiple duplicate keys. -*/ -template <class _Key, class _Tp, class _Compare, class _Alloc> -class multimap -{ - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - __glibcpp_class_requires4(_Compare, bool, _Key, _Key, _BinaryFunctionConcept); - -public: - -// typedefs: - - typedef _Key key_type; - typedef _Tp data_type; - typedef _Tp mapped_type; - typedef pair<const _Key, _Tp> value_type; - typedef _Compare key_compare; - - class value_compare : public binary_function<value_type, value_type, bool> { - friend class multimap<_Key,_Tp,_Compare,_Alloc>; - protected: - _Compare comp; - value_compare(_Compare __c) : comp(__c) {} - public: - bool operator()(const value_type& __x, const value_type& __y) const { - return comp(__x.first, __y.first); - } - }; - -private: - typedef _Rb_tree<key_type, value_type, - _Select1st<value_type>, key_compare, _Alloc> _Rep_type; - _Rep_type _M_t; // red-black tree representing multimap -public: - typedef typename _Rep_type::pointer pointer; - typedef typename _Rep_type::const_pointer const_pointer; - typedef typename _Rep_type::reference reference; - typedef typename _Rep_type::const_reference const_reference; - typedef typename _Rep_type::iterator iterator; - typedef typename _Rep_type::const_iterator const_iterator; - typedef typename _Rep_type::reverse_iterator reverse_iterator; - typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; - typedef typename _Rep_type::size_type size_type; - typedef typename _Rep_type::difference_type difference_type; - typedef typename _Rep_type::allocator_type allocator_type; - -// allocation/deallocation - - multimap() : _M_t(_Compare(), allocator_type()) { } - explicit multimap(const _Compare& __comp, - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { } - - template <class _InputIterator> - multimap(_InputIterator __first, _InputIterator __last) - : _M_t(_Compare(), allocator_type()) - { _M_t.insert_equal(__first, __last); } - - template <class _InputIterator> - multimap(_InputIterator __first, _InputIterator __last, - const _Compare& __comp, - const allocator_type& __a = allocator_type()) - : _M_t(__comp, __a) { _M_t.insert_equal(__first, __last); } - multimap(const multimap<_Key,_Tp,_Compare,_Alloc>& __x) : _M_t(__x._M_t) { } - - multimap<_Key,_Tp,_Compare,_Alloc>& - operator=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x) { - _M_t = __x._M_t; - return *this; - } - - // accessors: - - key_compare key_comp() const { return _M_t.key_comp(); } - value_compare value_comp() const { return value_compare(_M_t.key_comp()); } - allocator_type get_allocator() const { return _M_t.get_allocator(); } - + // Forward declaration of operators < and ==, needed for friend declaration. + + template <typename _Key, typename _Tp, + typename _Compare = less<_Key>, + typename _Alloc = allocator<pair<const _Key, _Tp> > > + class multimap; + + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool operator==(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y); + + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool operator<(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y); + /** - * Returns a read/write iterator that points to the first pair in the - * multimap. Iteration is done in ascending order according to the keys. - */ - iterator begin() { return _M_t.begin(); } - - /** - * Returns a read-only (constant) iterator that points to the first pair - * in the multimap. Iteration is done in ascending order according to the - * keys. - */ - const_iterator begin() const { return _M_t.begin(); } - - /** - * Returns a read/write iterator that points one past the last pair in the - * multimap. Iteration is done in ascending order according to the keys. - */ - iterator end() { return _M_t.end(); } - - /** - * Returns a read-only (constant) iterator that points one past the last - * pair in the multimap. Iteration is done in ascending order according - * to the keys. - */ - const_iterator end() const { return _M_t.end(); } - - /** - * Returns a read/write reverse iterator that points to the last pair in - * the multimap. Iteration is done in descending order according to the - * keys. - */ - reverse_iterator rbegin() { return _M_t.rbegin(); } - - /** - * Returns a read-only (constant) reverse iterator that points to the last - * pair in the multimap. Iteration is done in descending order according - * to the keys. - */ - const_reverse_iterator rbegin() const { return _M_t.rbegin(); } - - /** - * Returns a read/write reverse iterator that points to one before the - * first pair in the multimap. Iteration is done in descending order - * according to the keys. - */ - reverse_iterator rend() { return _M_t.rend(); } - - /** - * Returns a read-only (constant) reverse iterator that points to one - * before the first pair in the multimap. Iteration is done in descending - * order according to the keys. - */ - const_reverse_iterator rend() const { return _M_t.rend(); } - - /** Returns true if the map is empty. (Thus begin() would equal end().) */ - bool empty() const { return _M_t.empty(); } - - /** Returns the size of the map. */ - size_type size() const { return _M_t.size(); } - - /** Returns the maximum size of the map. */ - size_type max_size() const { return _M_t.max_size(); } - - void swap(multimap<_Key,_Tp,_Compare,_Alloc>& __x) { _M_t.swap(__x._M_t); } - - // insert/erase - /** - * @brief Inserts a std::pair into the multimap. - * @param x Pair to be inserted (see std::make_pair for easy creation of - * pairs). - * @return An iterator that points to the inserted (key,value) pair. + * @brief A standard container made up of (key,value) pairs, which can be + * retrieved based on a key, in logarithmic time. * - * This function inserts a (key, value) pair into the multimap. Contrary - * to a std::map the multimap does not rely on unique keys and thus a - * multiple pairs with the same key can be inserted. - */ - iterator insert(const value_type& __x) { return _M_t.insert_equal(__x); } - - /** - * @brief Inserts a std::pair into the multimap. - * @param position An iterator that serves as a hint as to where the - * pair should be inserted. - * @param x Pair to be inserted (see std::make_pair for easy creation of - * pairs). - * @return An iterator that points to the inserted (key,value) pair. + * @ingroup Containers + * @ingroup Assoc_containers * - * This function inserts a (key, value) pair into the multimap. Contrary - * to a std::map the multimap does not rely on unique keys and thus a - * multiple pairs with the same key can be inserted. - * Note that the first parameter is only a hint and can potentially - * improve the performance of the insertion process. A bad hint would - * cause no gains in efficiency. - */ - iterator insert(iterator __position, const value_type& __x) { - return _M_t.insert_equal(__position, __x); - } - - /** - * @brief A template function that attemps to insert elements from - * another range (possibly another multimap or standard container). - * @param first Iterator pointing to the start of the range to be - * inserted. - * @param last Iterator pointing to the end of the range to be inserted. - */ - template <class _InputIterator> - void insert(_InputIterator __first, _InputIterator __last) { - _M_t.insert_equal(__first, __last); - } - - /** - * @brief Erases an element from a multimap. - * @param position An iterator pointing to the element to be erased. - * - * This function erases an element, pointed to by the given iterator, from - * a mutlimap. Note that this function only erases the element, and that - * if the element is itself a pointer, the pointed-to memory is not - * touched in any way. Managing the pointer is the user's responsibilty. - */ - void erase(iterator __position) { _M_t.erase(__position); } - - /** - * @brief Erases an element according to the provided key. - * @param x Key of element to be erased. - * @return Doc me! (Number of elements erased?) + * Meets the requirements of a <a href="tables.html#65">container</a>, a + * <a href="tables.html#66">reversible container</a>, and an + * <a href="tables.html#69">associative container</a> (using equivalent + * keys). For a @c multimap<Key,T> the key_type is Key, the mapped_type + * is T, and the value_type is std::pair<const Key,T>. * - * This function erases all elements, located by the given key, from a - * multimap. - * Note that this function only erases the element, and that if - * the element is itself a pointer, the pointed-to memory is not touched - * in any way. Managing the pointer is the user's responsibilty. - */ - size_type erase(const key_type& __x) { return _M_t.erase(__x); } - - /** - * @brief Erases a [first,last) range of elements from a multimap. - * @param first Iterator pointing to the start of the range to be erased. - * @param last Iterator pointing to the end of the range to be erased. - * - * This function erases a sequence of elements from a multimap. - * Note that this function only erases the elements, and that if - * the elements themselves are pointers, the pointed-to memory is not - * touched in any way. Managing the pointer is the user's responsibilty. - */ - void erase(iterator __first, iterator __last) - { _M_t.erase(__first, __last); } - - /** Erases all elements in a multimap. Note that this function only erases - * the elements, and that if the elements themselves are pointers, the - * pointed-to memory is not touched in any way. Managing the pointer is - * the user's responsibilty. - */ - void clear() { _M_t.clear(); } - - // multimap operations: - - /** - * @brief Tries to locate an element in a multimap. - * @param x Key of (key, value) pair to be located. - * @return Iterator pointing to sought-after (first matching?) element, - * or end() if not found. - * - * This function takes a key and tries to locate the element with which - * the key matches. If successful the function returns an iterator - * pointing to the sought after pair. If unsuccessful it returns the - * one past the end ( end() ) iterator. - */ - iterator find(const key_type& __x) { return _M_t.find(__x); } - - /** - * @brief Tries to locate an element in a multimap. - * @param x Key of (key, value) pair to be located. - * @return Read-only (constant) iterator pointing to sought-after (first - * matching?) element, or end() if not found. - * - * This function takes a key and tries to locate the element with which - * the key matches. If successful the function returns a constant iterator - * pointing to the sought after pair. If unsuccessful it returns the - * one past the end ( end() ) iterator. - */ - const_iterator find(const key_type& __x) const { return _M_t.find(__x); } - - /** - * @brief Finds the number of elements with given key. - * @param x Key of (key, value) pairs to be located. - * @return Number of elements with specified key. - */ - size_type count(const key_type& __x) const { return _M_t.count(__x); } - - /** - * @brief Finds the beginning of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Iterator pointing to first element matching given key, or - * end() if not found. + * Multimaps support bidirectional iterators. * - * This function returns the first element of a subsequence of elements - * that matches the given key. If unsuccessful it returns an iterator - * pointing to the first element that has a greater value than given key - * or end() if no such element exists. + * @if maint + * The private tree data is declared exactly the same way for map and + * multimap; the distinction is made entirely in how the tree functions are + * called (*_unique versus *_equal, same as the standard). + * @endif */ - iterator lower_bound(const key_type& __x) {return _M_t.lower_bound(__x); } - + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + class multimap + { + // concept requirements + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + __glibcpp_class_requires4(_Compare, bool, _Key, _Key, _BinaryFunctionConcept) + + public: + typedef _Key key_type; + typedef _Tp mapped_type; + typedef pair<const _Key, _Tp> value_type; + typedef _Compare key_compare; + + class value_compare + : public binary_function<value_type, value_type, bool> + { + friend class multimap<_Key,_Tp,_Compare,_Alloc>; + protected: + _Compare comp; + value_compare(_Compare __c) : comp(__c) {} + public: + bool operator()(const value_type& __x, const value_type& __y) const + { return comp(__x.first, __y.first); } + }; + + private: + /// @if maint This turns a red-black tree into a [multi]map. @endif + typedef _Rb_tree<key_type, value_type, + _Select1st<value_type>, key_compare, _Alloc> _Rep_type; + /// @if maint The actual tree structure. @endif + _Rep_type _M_t; + + public: + // many of these are specified differently in ISO, but the following are + // "functionally equivalent" + typedef typename _Rep_type::allocator_type allocator_type; + typedef typename _Rep_type::reference reference; + typedef typename _Rep_type::const_reference const_reference; + typedef typename _Rep_type::iterator iterator; + typedef typename _Rep_type::const_iterator const_iterator; + typedef typename _Rep_type::size_type size_type; + typedef typename _Rep_type::difference_type difference_type; + typedef typename _Rep_type::pointer pointer; + typedef typename _Rep_type::const_pointer const_pointer; + typedef typename _Rep_type::reverse_iterator reverse_iterator; + typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; + + + // [23.3.2] construct/copy/destroy + // (get_allocator() is also listed in this section) + /** + * @brief Default constructor creates no elements. + */ + multimap() : _M_t(_Compare(), allocator_type()) { } + + // for some reason this was made a separate function + /** + * @brief Default constructor creates no elements. + */ + explicit + multimap(const _Compare& __comp, const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) { } + + /** + * @brief %Multimap copy constructor. + * @param x A %multimap of identical element and allocator types. + * + * The newly-created %multimap uses a copy of the allocation object used + * by @a x. + */ + multimap(const multimap& __x) + : _M_t(__x._M_t) { } + + /** + * @brief Builds a %multimap from a range. + * @param first An input iterator. + * @param last An input iterator. + * + * Create a %multimap consisting of copies of the elements from + * [first,last). This is linear in N if the range is already sorted, + * and NlogN otherwise (where N is distance(first,last)). + */ + template <typename _InputIterator> + multimap(_InputIterator __first, _InputIterator __last) + : _M_t(_Compare(), allocator_type()) + { _M_t.insert_equal(__first, __last); } + + /** + * @brief Builds a %multimap from a range. + * @param first An input iterator. + * @param last An input iterator. + * @param comp A comparison functor. + * @param a An allocator object. + * + * Create a %multimap consisting of copies of the elements from + * [first,last). This is linear in N if the range is already sorted, + * and NlogN otherwise (where N is distance(first,last)). + */ + template <typename _InputIterator> + multimap(_InputIterator __first, _InputIterator __last, + const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_t(__comp, __a) + { _M_t.insert_equal(__first, __last); } + + // FIXME There is no dtor declared, but we should have something generated + // by Doxygen. I don't know what tags to add to this paragraph to make + // that happen: + /** + * The dtor only erases the elements, and note that if the elements + * themselves are pointers, the pointed-to memory is not touched in any + * way. Managing the pointer is the user's responsibilty. + */ + + /** + * @brief %Multimap assignment operator. + * @param x A %multimap of identical element and allocator types. + * + * All the elements of @a x are copied, but unlike the copy constructor, + * the allocator object is not copied. + */ + multimap& + operator=(const multimap& __x) + { + _M_t = __x._M_t; + return *this; + } + + /// Get a copy of the memory allocation object. + allocator_type + get_allocator() const { return _M_t.get_allocator(); } + + // iterators + /** + * Returns a read/write iterator that points to the first pair in the + * %multimap. Iteration is done in ascending order according to the keys. + */ + iterator + begin() { return _M_t.begin(); } + + /** + * Returns a read-only (constant) iterator that points to the first pair + * in the %multimap. Iteration is done in ascending order according to the + * keys. + */ + const_iterator + begin() const { return _M_t.begin(); } + + /** + * Returns a read/write iterator that points one past the last pair in the + * %multimap. Iteration is done in ascending order according to the keys. + */ + iterator + end() { return _M_t.end(); } + + /** + * Returns a read-only (constant) iterator that points one past the last + * pair in the %multimap. Iteration is done in ascending order according + * to the keys. + */ + const_iterator + end() const { return _M_t.end(); } + + /** + * Returns a read/write reverse iterator that points to the last pair in + * the %multimap. Iteration is done in descending order according to the + * keys. + */ + reverse_iterator + rbegin() { return _M_t.rbegin(); } + + /** + * Returns a read-only (constant) reverse iterator that points to the last + * pair in the %multimap. Iteration is done in descending order according + * to the keys. + */ + const_reverse_iterator + rbegin() const { return _M_t.rbegin(); } + + /** + * Returns a read/write reverse iterator that points to one before the + * first pair in the %multimap. Iteration is done in descending order + * according to the keys. + */ + reverse_iterator + rend() { return _M_t.rend(); } + + /** + * Returns a read-only (constant) reverse iterator that points to one + * before the first pair in the %multimap. Iteration is done in descending + * order according to the keys. + */ + const_reverse_iterator + rend() const { return _M_t.rend(); } + + // capacity + /** Returns true if the %multimap is empty. */ + bool + empty() const { return _M_t.empty(); } + + /** Returns the size of the %multimap. */ + size_type + size() const { return _M_t.size(); } + + /** Returns the maximum size of the %multimap. */ + size_type + max_size() const { return _M_t.max_size(); } + + // modifiers + /** + * @brief Inserts a std::pair into the %multimap. + * @param x Pair to be inserted (see std::make_pair for easy creation of + * pairs). + * @return An iterator that points to the inserted (key,value) pair. + * + * This function inserts a (key, value) pair into the %multimap. Contrary + * to a std::map the %multimap does not rely on unique keys and thus + * multiple pairs with the same key can be inserted. + * + * Insertion requires logarithmic time. + */ + iterator + insert(const value_type& __x) { return _M_t.insert_equal(__x); } + + /** + * @brief Inserts a std::pair into the %multimap. + * @param position An iterator that serves as a hint as to where the + * pair should be inserted. + * @param x Pair to be inserted (see std::make_pair for easy creation of + * pairs). + * @return An iterator that points to the inserted (key,value) pair. + * + * This function inserts a (key, value) pair into the %multimap. Contrary + * to a std::map the %multimap does not rely on unique keys and thus + * multiple pairs with the same key can be inserted. + * Note that the first parameter is only a hint and can potentially + * improve the performance of the insertion process. A bad hint would + * cause no gains in efficiency. + * + * See http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4 + * for more on "hinting". + * + * Insertion requires logarithmic time (if the hint is not taken). + */ + iterator + insert(iterator __position, const value_type& __x) + { return _M_t.insert_equal(__position, __x); } + + /** + * @brief A template function that attemps to insert a range of elements. + * @param first Iterator pointing to the start of the range to be + * inserted. + * @param last Iterator pointing to the end of the range. + * + * Complexity similar to that of the range constructor. + */ + template <typename _InputIterator> + void + insert(_InputIterator __first, _InputIterator __last) + { _M_t.insert_equal(__first, __last); } + + /** + * @brief Erases an element from a %multimap. + * @param position An iterator pointing to the element to be erased. + * + * This function erases an element, pointed to by the given iterator, from + * a %multimap. Note that this function only erases the element, and that + * if the element is itself a pointer, the pointed-to memory is not + * touched in any way. Managing the pointer is the user's responsibilty. + */ + void + erase(iterator __position) { _M_t.erase(__position); } + + /** + * @brief Erases elements according to the provided key. + * @param x Key of element to be erased. + * @return The number of elements erased. + * + * This function erases all elements located by the given key from a + * %multimap. + * Note that this function only erases the element, and that if + * the element is itself a pointer, the pointed-to memory is not touched + * in any way. Managing the pointer is the user's responsibilty. + */ + size_type + erase(const key_type& __x) { return _M_t.erase(__x); } + + /** + * @brief Erases a [first,last) range of elements from a %multimap. + * @param first Iterator pointing to the start of the range to be erased. + * @param last Iterator pointing to the end of the range to be erased. + * + * This function erases a sequence of elements from a %multimap. + * Note that this function only erases the elements, and that if + * the elements themselves are pointers, the pointed-to memory is not + * touched in any way. Managing the pointer is the user's responsibilty. + */ + void + erase(iterator __first, iterator __last) { _M_t.erase(__first, __last); } + + /** + * @brief Swaps data with another %multimap. + * @param x A %multimap of the same element and allocator types. + * + * This exchanges the elements between two multimaps in constant time. + * (It is only swapping a pointer, an integer, and an instance of + * the @c Compare type (which itself is often stateless and empty), so it + * should be quite fast.) + * Note that the global std::swap() function is specialized such that + * std::swap(m1,m2) will feed to this function. + */ + void + swap(multimap& __x) { _M_t.swap(__x._M_t); } + + /** + * Erases all elements in a %multimap. Note that this function only erases + * the elements, and that if the elements themselves are pointers, the + * pointed-to memory is not touched in any way. Managing the pointer is + * the user's responsibilty. + */ + void + clear() { _M_t.clear(); } + + // observers + /** + * Returns the key comparison object out of which the %multimap + * was constructed. + */ + key_compare + key_comp() const { return _M_t.key_comp(); } + + /** + * Returns a value comparison object, built from the key comparison + * object out of which the %multimap was constructed. + */ + value_compare + value_comp() const { return value_compare(_M_t.key_comp()); } + + // multimap operations + /** + * @brief Tries to locate an element in a %multimap. + * @param x Key of (key, value) pair to be located. + * @return Iterator pointing to sought-after element, + * or end() if not found. + * + * This function takes a key and tries to locate the element with which + * the key matches. If successful the function returns an iterator + * pointing to the sought after %pair. If unsuccessful it returns the + * past-the-end ( @c end() ) iterator. + */ + iterator + find(const key_type& __x) { return _M_t.find(__x); } + + /** + * @brief Tries to locate an element in a %multimap. + * @param x Key of (key, value) pair to be located. + * @return Read-only (constant) iterator pointing to sought-after + * element, or end() if not found. + * + * This function takes a key and tries to locate the element with which + * the key matches. If successful the function returns a constant iterator + * pointing to the sought after %pair. If unsuccessful it returns the + * past-the-end ( @c end() ) iterator. + */ + const_iterator + find(const key_type& __x) const { return _M_t.find(__x); } + + /** + * @brief Finds the number of elements with given key. + * @param x Key of (key, value) pairs to be located. + * @return Number of elements with specified key. + */ + size_type + count(const key_type& __x) const { return _M_t.count(__x); } + + /** + * @brief Finds the beginning of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Iterator pointing to first element matching given key, or + * end() if not found. + * + * This function returns the first element of a subsequence of elements + * that matches the given key. If unsuccessful it returns an iterator + * pointing to the first element that has a greater value than given key + * or end() if no such element exists. + */ + iterator + lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } + + /** + * @brief Finds the beginning of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Read-only (constant) iterator pointing to first element + * matching given key, or end() if not found. + * + * This function returns the first element of a subsequence of elements + * that matches the given key. If unsuccessful the iterator will point + * to the next greatest element or, if no such greater element exists, to + * end(). + */ + const_iterator + lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } + + /** + * @brief Finds the end of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Iterator pointing to last element matching given key. + */ + iterator + upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } + + /** + * @brief Finds the end of a subsequence matching given key. + * @param x Key of (key, value) pair to be located. + * @return Read-only (constant) iterator pointing to last element matching + * given key. + */ + const_iterator + upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } + + /** + * @brief Finds a subsequence matching given key. + * @param x Key of (key, value) pairs to be located. + * @return Pair of iterators that possibly points to the subsequence + * matching given key. + * + * This function returns a pair of which the first + * element possibly points to the first element matching the given key + * and the second element possibly points to the last element matching the + * given key. If unsuccessful the first element of the returned pair will + * contain an iterator pointing to the next greatest element or, if no such + * greater element exists, to end(). + */ + pair<iterator,iterator> + equal_range(const key_type& __x) { return _M_t.equal_range(__x); } + + /** + * @brief Finds a subsequence matching given key. + * @param x Key of (key, value) pairs to be located. + * @return Pair of read-only (constant) iterators that possibly points to + * the subsequence matching given key. + * + * This function returns a pair of which the first + * element possibly points to the first element matching the given key + * and the second element possibly points to the last element matching the + * given key. If unsuccessful the first element of the returned pair will + * contain an iterator pointing to the next greatest element or, if no such + * a greater element exists, to end(). + */ + pair<const_iterator,const_iterator> + equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } + + template <typename _K1, typename _T1, typename _C1, typename _A1> + friend bool operator== (const multimap<_K1,_T1,_C1,_A1>&, + const multimap<_K1,_T1,_C1,_A1>&); + template <typename _K1, typename _T1, typename _C1, typename _A1> + friend bool operator< (const multimap<_K1,_T1,_C1,_A1>&, + const multimap<_K1,_T1,_C1,_A1>&); + }; + + /** - * @brief Finds the beginning of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Read-only (constant) iterator pointing to first element - * matching given key, or end() if not found. + * @brief Multimap equality comparison. + * @param x A %multimap. + * @param y A %multimap of the same type as @a x. + * @return True iff the size and elements of the maps are equal. * - * This function returns the first element of a subsequence of elements - * that matches the given key. If unsuccessful the iterator will point - * to the next greatest element or, if no such greater element exists, to - * end(). - */ - const_iterator lower_bound(const key_type& __x) const { - return _M_t.lower_bound(__x); - } - - /** - * @brief Finds the end of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Iterator pointing to last element matching given key. + * This is an equivalence relation. It is linear in the size of the + * multimaps. Multimaps are considered equivalent if their sizes are equal, + * and if corresponding elements compare equal. */ - iterator upper_bound(const key_type& __x) {return _M_t.upper_bound(__x); } - - /** - * @brief Finds the end of a subsequence matching given key. - * @param x Key of (key, value) pair to be located. - * @return Read-only (constant) iterator pointing to last element matching - * given key. - */ - const_iterator upper_bound(const key_type& __x) const { - return _M_t.upper_bound(__x); - } - + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator==(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y) + { + return __x._M_t == __y._M_t; + } + /** - * @brief Finds a subsequence matching given key. - * @param x Key of (key, value) pairs to be located. - * @return Pair of iterators that possibly points to the subsequence - * matching given key. + * @brief Multimap ordering relation. + * @param x A %multimap. + * @param y A %multimap of the same type as @a x. + * @return True iff @a x is lexographically less than @a y. * - * This function improves on lower_bound() and upper_bound() by giving a more - * elegant and efficient solution. It returns a pair of which the first - * element possibly points to the first element matching the given key - * and the second element possibly points to the last element matching the - * given key. If unsuccessful the first element of the returned pair will - * contain an iterator pointing to the next greatest element or, if no such - * greater element exists, to end(). - */ - pair<iterator,iterator> equal_range(const key_type& __x) { - return _M_t.equal_range(__x); - } - - /** - * @brief Finds a subsequence matching given key. - * @param x Key of (key, value) pairs to be located. - * @return Pair of read-only (constant) iterators that possibly points to - * the subsequence matching given key. + * This is a total ordering relation. It is linear in the size of the + * multimaps. The elements must be comparable with @c <. * - * This function improves on lower_bound() and upper_bound() by giving a more - * elegant and efficient solution. It returns a pair of which the first - * element possibly points to the first element matching the given key - * and the second element possibly points to the last element matching the - * given key. If unsuccessful the first element of the returned pair will - * contain an iterator pointing to the next greatest element or, if no such - * a greater element exists, to end(). + * See std::lexographical_compare() for how the determination is made. */ - pair<const_iterator,const_iterator> equal_range(const key_type& __x) const { - return _M_t.equal_range(__x); - } - - template <class _K1, class _T1, class _C1, class _A1> - friend bool operator== (const multimap<_K1, _T1, _C1, _A1>&, - const multimap<_K1, _T1, _C1, _A1>&); - template <class _K1, class _T1, class _C1, class _A1> - friend bool operator< (const multimap<_K1, _T1, _C1, _A1>&, - const multimap<_K1, _T1, _C1, _A1>&); -}; - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator==(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y) { - return __x._M_t == __y._M_t; -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator<(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y) { - return __x._M_t < __y._M_t; -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator!=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y) { - return !(__x == __y); -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator>(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y) { - return __y < __x; -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator<=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y) { - return !(__y < __x); -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline bool operator>=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, - const multimap<_Key,_Tp,_Compare,_Alloc>& __y) { - return !(__x < __y); -} - -template <class _Key, class _Tp, class _Compare, class _Alloc> -inline void swap(multimap<_Key,_Tp,_Compare,_Alloc>& __x, - multimap<_Key,_Tp,_Compare,_Alloc>& __y) { - __x.swap(__y); -} - + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y) + { return __x._M_t < __y._M_t; } + + /// Based on operator== + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator!=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y) + { return !(__x == __y); } + + /// Based on operator< + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y) + { return __y < __x; } + + /// Based on operator< + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y) + { return !(__y < __x); } + + /// Based on operator< + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>=(const multimap<_Key,_Tp,_Compare,_Alloc>& __x, + const multimap<_Key,_Tp,_Compare,_Alloc>& __y) + { return !(__x < __y); } + + /// See std::multimap::swap(). + template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline void + swap(multimap<_Key,_Tp,_Compare,_Alloc>& __x, + multimap<_Key,_Tp,_Compare,_Alloc>& __y) + { __x.swap(__y); } } // namespace std #endif /* __GLIBCPP_INTERNAL_MULTIMAP_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/bits/stl_queue.h b/contrib/libstdc++/include/bits/stl_queue.h index 5503640..ff2ba26 100644 --- a/contrib/libstdc++/include/bits/stl_queue.h +++ b/contrib/libstdc++/include/bits/stl_queue.h @@ -1,6 +1,6 @@ // Queue implementation -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 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 @@ -65,180 +65,366 @@ namespace std { - -// Forward declarations of operators < and ==, needed for friend declaration. - -template <class _Tp, - class _Sequence = deque<_Tp> > -class queue; - -template <class _Tp, class _Seq> -inline bool operator==(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&); - -template <class _Tp, class _Seq> -inline bool operator<(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&); - - -template <class _Tp, class _Sequence> -class queue -{ - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - __glibcpp_class_requires(_Sequence, _FrontInsertionSequenceConcept) - __glibcpp_class_requires(_Sequence, _BackInsertionSequenceConcept) - typedef typename _Sequence::value_type _Sequence_value_type; - __glibcpp_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept); - - template <class _Tp1, class _Seq1> - friend bool operator== (const queue<_Tp1, _Seq1>&, - const queue<_Tp1, _Seq1>&); - template <class _Tp1, class _Seq1> - friend bool operator< (const queue<_Tp1, _Seq1>&, - const queue<_Tp1, _Seq1>&); -public: - typedef typename _Sequence::value_type value_type; - typedef typename _Sequence::size_type size_type; - typedef _Sequence container_type; - - typedef typename _Sequence::reference reference; - typedef typename _Sequence::const_reference const_reference; -protected: - _Sequence c; -public: - explicit queue(const _Sequence& __c = _Sequence()) : c(__c) {} - - bool empty() const { return c.empty(); } - size_type size() const { return c.size(); } - reference front() { return c.front(); } - const_reference front() const { return c.front(); } - reference back() { return c.back(); } - const_reference back() const { return c.back(); } - void push(const value_type& __x) { c.push_back(__x); } - void pop() { c.pop_front(); } -}; - -template <class _Tp, class _Sequence> -bool -operator==(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y) -{ - return __x.c == __y.c; -} - -template <class _Tp, class _Sequence> -bool -operator<(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y) -{ - return __x.c < __y.c; -} - -template <class _Tp, class _Sequence> -bool -operator!=(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y) -{ - return !(__x == __y); -} - -template <class _Tp, class _Sequence> -bool -operator>(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y) -{ - return __y < __x; -} - -template <class _Tp, class _Sequence> -bool -operator<=(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y) -{ - return !(__y < __x); -} - -template <class _Tp, class _Sequence> -bool -operator>=(const queue<_Tp, _Sequence>& __x, const queue<_Tp, _Sequence>& __y) -{ - return !(__x < __y); -} - -template <class _Tp, - class _Sequence = vector<_Tp>, - class _Compare = less<typename _Sequence::value_type> > -class priority_queue -{ - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - __glibcpp_class_requires(_Sequence, _SequenceConcept) - __glibcpp_class_requires(_Sequence, _RandomAccessContainerConcept) - typedef typename _Sequence::value_type _Sequence_value_type; - __glibcpp_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept); - __glibcpp_class_requires4(_Compare, bool, _Tp, _Tp, _BinaryFunctionConcept); - -public: - typedef typename _Sequence::value_type value_type; - typedef typename _Sequence::size_type size_type; - typedef _Sequence container_type; - - typedef typename _Sequence::reference reference; - typedef typename _Sequence::const_reference const_reference; -protected: - _Sequence c; - _Compare comp; -public: - explicit priority_queue(const _Compare& __x = _Compare(), - const _Sequence& __s = _Sequence()) - : c(__s), comp(__x) - { make_heap(c.begin(), c.end(), comp); } - - template <class _InputIterator> - priority_queue(_InputIterator __first, _InputIterator __last, - const _Compare& __x = _Compare(), - const _Sequence& __s = _Sequence()) - : c(__s), comp(__x) - { - c.insert(c.end(), __first, __last); - make_heap(c.begin(), c.end(), comp); - } - - bool empty() const { return c.empty(); } - size_type size() const { return c.size(); } - const_reference top() const { return c.front(); } - - void - push(const value_type& __x) + // Forward declarations of operators < and ==, needed for friend declaration. + + template <typename _Tp, typename _Sequence = deque<_Tp> > + class queue; + + template <typename _Tp, typename _Seq> + inline bool operator==(const queue<_Tp,_Seq>&, const queue<_Tp,_Seq>&); + + template <typename _Tp, typename _Seq> + inline bool operator<(const queue<_Tp,_Seq>&, const queue<_Tp,_Seq>&); + + + /** + * @brief A standard container giving FIFO behavior. + * + * @ingroup Containers + * @ingroup Sequences + * + * Meets many of the requirements of a + * <a href="tables.html#65">container</a>, + * but does not define anything to do with iterators. Very few of the + * other standard container interfaces are defined. + * + * This is not a true container, but an @e adaptor. It holds another + * container, and provides a wrapper interface to that container. The + * wrapper is what enforces strict first-in-first-out %queue behavior. + * + * The second template parameter defines the type of the underlying + * sequence/container. It defaults to std::deque, but it can be any type + * that supports @c front, @c back, @c push_back, and @c pop_front, + * such as std::list or an appropriate user-defined type. + * + * Members not found in "normal" containers are @c container_type, + * which is a typedef for the second Sequence parameter, and @c push and + * @c pop, which are standard %queue/FIFO operations. + */ + template <typename _Tp, typename _Sequence> + class queue { - try - { - c.push_back(__x); - push_heap(c.begin(), c.end(), comp); - } - catch(...) - { - c.clear(); - __throw_exception_again; - } - } - - void - pop() + // concept requirements + typedef typename _Sequence::value_type _Sequence_value_type; + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + __glibcpp_class_requires(_Sequence, _FrontInsertionSequenceConcept) + __glibcpp_class_requires(_Sequence, _BackInsertionSequenceConcept) + __glibcpp_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept) + + template <typename _Tp1, typename _Seq1> + friend bool operator== (const queue<_Tp1, _Seq1>&, + const queue<_Tp1, _Seq1>&); + template <typename _Tp1, typename _Seq1> + friend bool operator< (const queue<_Tp1, _Seq1>&, + const queue<_Tp1, _Seq1>&); + + public: + typedef typename _Sequence::value_type value_type; + typedef typename _Sequence::reference reference; + typedef typename _Sequence::const_reference const_reference; + typedef typename _Sequence::size_type size_type; + typedef _Sequence container_type; + + protected: + /** + * 'c' is the underlying container. Maintainers wondering why this isn't + * uglified as per style guidelines should note that this name is + * specified in the standard, [23.2.3.1]. (Why? Presumably for the same + * reason that it's protected instead of private: to allow derivation. + * But none of the other containers allow for derivation. Odd.) + */ + _Sequence c; + + public: + /** + * @brief Default constructor creates no elements. + */ + explicit + queue(const _Sequence& __c = _Sequence()) + : c(__c) {} + + /** + * Returns true if the %queue is empty. + */ + bool + empty() const { return c.empty(); } + + /** Returns the number of elements in the %queue. */ + size_type + size() const { return c.size(); } + + /** + * Returns a read/write reference to the data at the first element of the + * %queue. + */ + reference + front() { return c.front(); } + + /** + * Returns a read-only (constant) reference to the data at the first + * element of the %queue. + */ + const_reference + front() const { return c.front(); } + + /** + * Returns a read/write reference to the data at the last element of the + * %queue. + */ + reference + back() { return c.back(); } + + /** + * Returns a read-only (constant) reference to the data at the last + * element of the %queue. + */ + const_reference + back() const { return c.back(); } + + /** + * @brief Add data to the end of the %queue. + * @param x Data to be added. + * + * This is a typical %queue operation. The function creates an element at + * the end of the %queue and assigns the given data to it. + * The time complexity of the operation depends on the underlying + * sequence. + */ + void + push(const value_type& __x) { c.push_back(__x); } + + /** + * @brief Removes first element. + * + * This is a typical %queue operation. It shrinks the %queue by one. + * The time complexity of the operation depends on the underlying + * sequence. + * + * Note that no data is returned, and if the first element's data is + * needed, it should be retrieved before pop() is called. + */ + void + pop() { c.pop_front(); } + }; + + + /** + * @brief Queue equality comparison. + * @param x A %queue. + * @param y A %queue of the same type as @a x. + * @return True iff the size and elements of the queues are equal. + * + * This is an equivalence relation. Complexity and semantics depend on the + * underlying sequence type, but the expected rules are: this relation is + * linear in the size of the sequences, and queues are considered equivalent + * if their sequences compare equal. + */ + template <typename _Tp, typename _Sequence> + inline bool + operator==(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y) + { return __x.c == __y.c; } + + /** + * @brief Queue ordering relation. + * @param x A %queue. + * @param y A %queue of the same type as @a x. + * @return True iff @a x is lexographically less than @a y. + * + * This is an total ordering relation. Complexity and semantics depend on + * the underlying sequence type, but the expected rules are: this relation + * is linear in the size of the sequences, the elements must be comparable + * with @c <, and std::lexographical_compare() is usually used to make the + * determination. + */ + template <typename _Tp, typename _Sequence> + inline bool + operator<(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y) + { return __x.c < __y.c; } + + /// Based on operator== + template <typename _Tp, typename _Sequence> + inline bool + operator!=(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y) + { return !(__x == __y); } + + /// Based on operator< + template <typename _Tp, typename _Sequence> + inline bool + operator>(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y) + { return __y < __x; } + + /// Based on operator< + template <typename _Tp, typename _Sequence> + inline bool + operator<=(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y) + { return !(__y < __x); } + + /// Based on operator< + template <typename _Tp, typename _Sequence> + inline bool + operator>=(const queue<_Tp,_Sequence>& __x, const queue<_Tp,_Sequence>& __y) + { return !(__x < __y); } + + + /** + * @brief A standard container automatically sorting its contents. + * + * @ingroup Containers + * @ingroup Sequences + * + * This is not a true container, but an @e adaptor. It holds another + * container, and provides a wrapper interface to that container. The + * wrapper is what enforces sorting and first-in-first-out %queue behavior. + * Very few of the standard container/sequence interface requirements are + * met (e.g., iterators). + * + * The second template parameter defines the type of the underlying + * sequence/container. It defaults to std::vector, but it can be any type + * that supports @c front(), @c push_back, @c pop_back, and random-access + * iterators, such as std::deque or an appropriate user-defined type. + * + * The third template parameter supplies the means of making priority + * comparisons. It defaults to @c less<value_type> but can be anything + * defining a strict weak ordering. + * + * Members not found in "normal" containers are @c container_type, + * which is a typedef for the second Sequence parameter, and @c push, + * @c pop, and @c top, which are standard %queue/FIFO operations. + * + * @note No equality/comparison operators are provided for %priority_queue. + * + * @note Sorting of the elements takes place as they are added to, and + * removed from, the %priority_queue using the %priority_queue's + * member functions. If you access the elements by other means, and + * change their data such that the sorting order would be different, + * the %priority_queue will not re-sort the elements for you. (How + * could it know to do so?) + */ + template <typename _Tp, typename _Sequence = vector<_Tp>, + typename _Compare = less<typename _Sequence::value_type> > + class priority_queue { - try - { - pop_heap(c.begin(), c.end(), comp); - c.pop_back(); - } - catch(...) - { - c.clear(); - __throw_exception_again; + // concept requirements + typedef typename _Sequence::value_type _Sequence_value_type; + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + __glibcpp_class_requires(_Sequence, _SequenceConcept) + __glibcpp_class_requires(_Sequence, _RandomAccessContainerConcept) + __glibcpp_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept) + __glibcpp_class_requires4(_Compare, bool, _Tp, _Tp, _BinaryFunctionConcept) + + public: + typedef typename _Sequence::value_type value_type; + typedef typename _Sequence::reference reference; + typedef typename _Sequence::const_reference const_reference; + typedef typename _Sequence::size_type size_type; + typedef _Sequence container_type; + + protected: + // See queue::c for notes on these names. + _Sequence c; + _Compare comp; + + public: + /** + * @brief Default constructor creates no elements. + */ + explicit + priority_queue(const _Compare& __x = _Compare(), + const _Sequence& __s = _Sequence()) + : c(__s), comp(__x) + { make_heap(c.begin(), c.end(), comp); } + + /** + * @brief Builds a %queue from a range. + * @param first An input iterator. + * @param last An input iterator. + * @param x A comparison functor describing a strict weak ordering. + * @param s An initial sequence with which to start. + * + * Begins by copying @a s, inserting a copy of the elements from + * @a [first,last) into the copy of @a s, then ordering the copy + * according to @a x. + * + * For more information on function objects, see the documentation on + * @link s20_3_1_base functor base classes@endlink. + */ + template <typename _InputIterator> + priority_queue(_InputIterator __first, _InputIterator __last, + const _Compare& __x = _Compare(), + const _Sequence& __s = _Sequence()) + : c(__s), comp(__x) + { + c.insert(c.end(), __first, __last); + make_heap(c.begin(), c.end(), comp); } - } -}; - -// no equality is provided - + + /** + * Returns true if the %queue is empty. + */ + bool + empty() const { return c.empty(); } + + /** Returns the number of elements in the %queue. */ + size_type + size() const { return c.size(); } + + /** + * Returns a read-only (constant) reference to the data at the first + * element of the %queue. + */ + const_reference + top() const { return c.front(); } + + /** + * @brief Add data to the %queue. + * @param x Data to be added. + * + * This is a typical %queue operation. + * The time complexity of the operation depends on the underlying + * sequence. + */ + void + push(const value_type& __x) + { + try + { + c.push_back(__x); + push_heap(c.begin(), c.end(), comp); + } + catch(...) + { + c.clear(); + __throw_exception_again; + } + } + + /** + * @brief Removes first element. + * + * This is a typical %queue operation. It shrinks the %queue by one. + * The time complexity of the operation depends on the underlying + * sequence. + * + * Note that no data is returned, and if the first element's data is + * needed, it should be retrieved before pop() is called. + */ + void + pop() + { + try + { + pop_heap(c.begin(), c.end(), comp); + c.pop_back(); + } + catch(...) + { + c.clear(); + __throw_exception_again; + } + } + }; + + // No equality/comparison operators are provided for priority_queue. } // namespace std #endif /* __GLIBCPP_INTERNAL_QUEUE_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/bits/stl_stack.h b/contrib/libstdc++/include/bits/stl_stack.h index 0a80b10..7f2496c 100644 --- a/contrib/libstdc++/include/bits/stl_stack.h +++ b/contrib/libstdc++/include/bits/stl_stack.h @@ -1,6 +1,6 @@ // Stack implementation -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 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 @@ -65,96 +65,186 @@ namespace std { - -// Forward declarations of operators == and <, needed for friend declaration. - -template <class _Tp, - class _Sequence = deque<_Tp> > -class stack; - -template <class _Tp, class _Seq> -bool operator==(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y); - -template <class _Tp, class _Seq> -bool operator<(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y); - - -template <class _Tp, class _Sequence> -class stack -{ - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - __glibcpp_class_requires(_Sequence, _BackInsertionSequenceConcept) - typedef typename _Sequence::value_type _Sequence_value_type; - __glibcpp_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept); - - template <class _Tp1, class _Seq1> - friend bool operator== (const stack<_Tp1, _Seq1>&, - const stack<_Tp1, _Seq1>&); - template <class _Tp1, class _Seq1> - friend bool operator< (const stack<_Tp1, _Seq1>&, - const stack<_Tp1, _Seq1>&); -public: - typedef typename _Sequence::value_type value_type; - typedef typename _Sequence::size_type size_type; - typedef _Sequence container_type; - - typedef typename _Sequence::reference reference; - typedef typename _Sequence::const_reference const_reference; -protected: - _Sequence c; -public: - stack() : c() {} - explicit stack(const _Sequence& __s) : c(__s) {} - - bool empty() const { return c.empty(); } - size_type size() const { return c.size(); } - reference top() { return c.back(); } - const_reference top() const { return c.back(); } - void push(const value_type& __x) { c.push_back(__x); } - void pop() { c.pop_back(); } -}; - -template <class _Tp, class _Seq> -bool operator==(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) -{ - return __x.c == __y.c; -} - -template <class _Tp, class _Seq> -bool operator<(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) -{ - return __x.c < __y.c; -} - -template <class _Tp, class _Seq> -bool operator!=(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) -{ - return !(__x == __y); -} - -template <class _Tp, class _Seq> -bool operator>(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) -{ - return __y < __x; -} - -template <class _Tp, class _Seq> -bool operator<=(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) -{ - return !(__y < __x); -} - -template <class _Tp, class _Seq> -bool operator>=(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) -{ - return !(__x < __y); -} - + // Forward declarations of operators == and <, needed for friend declaration. + + template <typename _Tp, typename _Sequence = deque<_Tp> > + class stack; + + template <typename _Tp, typename _Seq> + inline bool operator==(const stack<_Tp,_Seq>& __x, + const stack<_Tp,_Seq>& __y); + + template <typename _Tp, typename _Seq> + inline bool operator<(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y); + + + /** + * @brief A standard container giving FILO behavior. + * + * @ingroup Containers + * @ingroup Sequences + * + * Meets many of the requirements of a + * <a href="tables.html#65">container</a>, + * but does not define anything to do with iterators. Very few of the + * other standard container interfaces are defined. + * + * This is not a true container, but an @e adaptor. It holds another + * container, and provides a wrapper interface to that container. The + * wrapper is what enforces strict first-in-last-out %stack behavior. + * + * The second template parameter defines the type of the underlying + * sequence/container. It defaults to std::deque, but it can be any type + * that supports @c back, @c push_back, and @c pop_front, such as + * std::list, std::vector, or an appropriate user-defined type. + * + * Members not found in "normal" containers are @c container_type, + * which is a typedef for the second Sequence parameter, and @c push, + * @c pop, and @c top, which are standard %stack/FILO operations. + */ + template <typename _Tp, typename _Sequence> + class stack + { + // concept requirements + typedef typename _Sequence::value_type _Sequence_value_type; + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + __glibcpp_class_requires(_Sequence, _BackInsertionSequenceConcept) + __glibcpp_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept) + + template <typename _Tp1, typename _Seq1> + friend bool operator== (const stack<_Tp1, _Seq1>&, + const stack<_Tp1, _Seq1>&); + template <typename _Tp1, typename _Seq1> + friend bool operator< (const stack<_Tp1, _Seq1>&, + const stack<_Tp1, _Seq1>&); + + public: + typedef typename _Sequence::value_type value_type; + typedef typename _Sequence::reference reference; + typedef typename _Sequence::const_reference const_reference; + typedef typename _Sequence::size_type size_type; + typedef _Sequence container_type; + + protected: + // See queue::c for notes on this name. + _Sequence c; + + public: + // XXX removed old def ctor, added def arg to this one to match 14882 + /** + * @brief Default constructor creates no elements. + */ + explicit + stack(const _Sequence& __c = _Sequence()) + : c(__c) {} + + /** + * Returns true if the %stack is empty. + */ + bool + empty() const { return c.empty(); } + + /** Returns the number of elements in the %stack. */ + size_type + size() const { return c.size(); } + + /** + * Returns a read/write reference to the data at the first element of the + * %stack. + */ + reference + top() { return c.back(); } + + /** + * Returns a read-only (constant) reference to the data at the first + * element of the %stack. + */ + const_reference + top() const { return c.back(); } + + /** + * @brief Add data to the top of the %stack. + * @param x Data to be added. + * + * This is a typical %stack operation. The function creates an element at + * the top of the %stack and assigns the given data to it. + * The time complexity of the operation depends on the underlying + * sequence. + */ + void + push(const value_type& __x) { c.push_back(__x); } + + /** + * @brief Removes first element. + * + * This is a typical %stack operation. It shrinks the %stack by one. + * The time complexity of the operation depends on the underlying + * sequence. + * + * Note that no data is returned, and if the first element's data is + * needed, it should be retrieved before pop() is called. + */ + void + pop() { c.pop_back(); } + }; + + + /** + * @brief Stack equality comparison. + * @param x A %stack. + * @param y A %stack of the same type as @a x. + * @return True iff the size and elements of the stacks are equal. + * + * This is an equivalence relation. Complexity and semantics depend on the + * underlying sequence type, but the expected rules are: this relation is + * linear in the size of the sequences, and stacks are considered equivalent + * if their sequences compare equal. + */ + template <typename _Tp, typename _Seq> + inline bool + operator==(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) + { return __x.c == __y.c; } + + /** + * @brief Stack ordering relation. + * @param x A %stack. + * @param y A %stack of the same type as @a x. + * @return True iff @a x is lexographically less than @a y. + * + * This is an total ordering relation. Complexity and semantics depend on + * the underlying sequence type, but the expected rules are: this relation + * is linear in the size of the sequences, the elements must be comparable + * with @c <, and std::lexographical_compare() is usually used to make the + * determination. + */ + template <typename _Tp, typename _Seq> + inline bool + operator<(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) + { return __x.c < __y.c; } + + /// Based on operator== + template <typename _Tp, typename _Seq> + inline bool + operator!=(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) + { return !(__x == __y); } + + /// Based on operator< + template <typename _Tp, typename _Seq> + inline bool + operator>(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) + { return __y < __x; } + + /// Based on operator< + template <typename _Tp, typename _Seq> + inline bool + operator<=(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) + { return !(__y < __x); } + + /// Based on operator< + template <typename _Tp, typename _Seq> + inline bool + operator>=(const stack<_Tp,_Seq>& __x, const stack<_Tp,_Seq>& __y) + { return !(__x < __y); } } // namespace std #endif /* __GLIBCPP_INTERNAL_STACK_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/bits/stl_threads.h b/contrib/libstdc++/include/bits/stl_threads.h index 0150cd5..b21ebdd 100644 --- a/contrib/libstdc++/include/bits/stl_threads.h +++ b/contrib/libstdc++/include/bits/stl_threads.h @@ -1,6 +1,6 @@ // Threading support -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 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 @@ -126,6 +126,7 @@ namespace std return __result; } #endif +} //namespace std // Locking class. Note that this class *does not have a // constructor*. It must be initialized either statically, with @@ -141,13 +142,18 @@ namespace std // functions, and no private or protected members. #if !defined(__GTHREAD_MUTEX_INIT) && defined(__GTHREAD_MUTEX_INIT_FUNCTION) +namespace __gnu_cxx +{ extern __gthread_mutex_t _GLIBCPP_mutex; extern __gthread_mutex_t *_GLIBCPP_mutex_address; extern __gthread_once_t _GLIBCPP_once; extern void _GLIBCPP_mutex_init (void); extern void _GLIBCPP_mutex_address_init (void); +} #endif +namespace std +{ struct _STL_mutex_lock { // The class must be statically initialized with __STL_MUTEX_INITIALIZER. @@ -164,22 +170,24 @@ namespace std // There should be no code in this path given the usage rules above. #elif defined(__GTHREAD_MUTEX_INIT_FUNCTION) if (_M_init_flag) return; - if (__gthread_once (&_GLIBCPP_once, _GLIBCPP_mutex_init) != 0 + if (__gthread_once (&__gnu_cxx::_GLIBCPP_once, + __gnu_cxx::_GLIBCPP_mutex_init) != 0 && __gthread_active_p ()) abort (); - __gthread_mutex_lock (&_GLIBCPP_mutex); + __gthread_mutex_lock (&__gnu_cxx::_GLIBCPP_mutex); if (!_M_init_flag) { // Even though we have a global lock, we use __gthread_once to be // absolutely certain the _M_lock mutex is only initialized once on // multiprocessor systems. - _GLIBCPP_mutex_address = &_M_lock; - if (__gthread_once (&_M_once, _GLIBCPP_mutex_address_init) != 0 + __gnu_cxx::_GLIBCPP_mutex_address = &_M_lock; + if (__gthread_once (&_M_once, + __gnu_cxx::_GLIBCPP_mutex_address_init) != 0 && __gthread_active_p ()) abort (); _M_init_flag = 1; } - __gthread_mutex_unlock (&_GLIBCPP_mutex); + __gthread_mutex_unlock (&__gnu_cxx::_GLIBCPP_mutex); #endif } diff --git a/contrib/libstdc++/include/bits/stl_tree.h b/contrib/libstdc++/include/bits/stl_tree.h index d2ae142..1e7fdf5 100644 --- a/contrib/libstdc++/include/bits/stl_tree.h +++ b/contrib/libstdc++/include/bits/stl_tree.h @@ -457,7 +457,7 @@ namespace std if (__w->_M_right == 0 || __w->_M_right->_M_color == _M_black) { - if (__w->_M_left) __w->_M_left->_M_color = _M_black; + __w->_M_left->_M_color = _M_black; __w->_M_color = _M_red; _Rb_tree_rotate_right(__w, __root); __w = __x_parent->_M_right; @@ -494,7 +494,7 @@ namespace std { if (__w->_M_left == 0 || __w->_M_left->_M_color == _M_black) { - if (__w->_M_right) __w->_M_right->_M_color = _M_black; + __w->_M_right->_M_color = _M_black; __w->_M_color = _M_red; _Rb_tree_rotate_left(__w, __root); __w = __x_parent->_M_left; @@ -702,8 +702,8 @@ namespace std typedef _Rb_tree_iterator<value_type, const_reference, const_pointer> const_iterator; - typedef reverse_iterator<const_iterator> const_reverse_iterator; - typedef reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; private: iterator diff --git a/contrib/libstdc++/include/bits/stl_vector.h b/contrib/libstdc++/include/bits/stl_vector.h index ef3b1c2..5354732 100644 --- a/contrib/libstdc++/include/bits/stl_vector.h +++ b/contrib/libstdc++/include/bits/stl_vector.h @@ -67,1019 +67,926 @@ namespace std { - -// The vector base class serves two purposes. First, its constructor -// and destructor allocate (but don't initialize) storage. This makes -// exception safety easier. Second, the base class encapsulates all of -// the differences between SGI-style allocators and standard-conforming -// allocators. - -// Base class for ordinary allocators. -template <class _Tp, class _Allocator, bool _IsStatic> -class _Vector_alloc_base { -public: - typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type - allocator_type; - allocator_type get_allocator() const { return _M_data_allocator; } - - _Vector_alloc_base(const allocator_type& __a) - : _M_data_allocator(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0) - {} - -protected: - allocator_type _M_data_allocator; - _Tp* _M_start; - _Tp* _M_finish; - _Tp* _M_end_of_storage; - - _Tp* _M_allocate(size_t __n) - { return _M_data_allocator.allocate(__n); } - void _M_deallocate(_Tp* __p, size_t __n) - { if (__p) _M_data_allocator.deallocate(__p, __n); } -}; - -// Specialization for allocators that have the property that we don't -// actually have to store an allocator object. -template <class _Tp, class _Allocator> -class _Vector_alloc_base<_Tp, _Allocator, true> { -public: - typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type - allocator_type; - allocator_type get_allocator() const { return allocator_type(); } - - _Vector_alloc_base(const allocator_type&) - : _M_start(0), _M_finish(0), _M_end_of_storage(0) - {} - -protected: - _Tp* _M_start; - _Tp* _M_finish; - _Tp* _M_end_of_storage; - - typedef typename _Alloc_traits<_Tp, _Allocator>::_Alloc_type _Alloc_type; - _Tp* _M_allocate(size_t __n) - { return _Alloc_type::allocate(__n); } - void _M_deallocate(_Tp* __p, size_t __n) - { _Alloc_type::deallocate(__p, __n);} -}; - -template <class _Tp, class _Alloc> -struct _Vector_base - : public _Vector_alloc_base<_Tp, _Alloc, - _Alloc_traits<_Tp, _Alloc>::_S_instanceless> -{ - typedef _Vector_alloc_base<_Tp, _Alloc, - _Alloc_traits<_Tp, _Alloc>::_S_instanceless> - _Base; - typedef typename _Base::allocator_type allocator_type; - - _Vector_base(const allocator_type& __a) : _Base(__a) {} - _Vector_base(size_t __n, const allocator_type& __a) : _Base(__a) { - _M_start = _M_allocate(__n); - _M_finish = _M_start; - _M_end_of_storage = _M_start + __n; - } - - ~_Vector_base() { _M_deallocate(_M_start, _M_end_of_storage - _M_start); } -}; - - -/** - * @brief A standard container which offers fixed time access to individual - * elements in any order. - * - * @ingroup Containers - * @ingroup Sequences - * - * Meets the requirements of a <a href="tables.html#65">container</a>, a - * <a href="tables.html#66">reversible container</a>, and a - * <a href="tables.html#67">sequence</a>, including the - * <a href="tables.html#68">optional sequence requirements</a> with the - * %exception of @c push_front and @c pop_front. - * - * In some terminology a vector can be described as a dynamic C-style array, - * it offers fast and efficient access to individual elements in any order - * and saves the user from worrying about memory and size allocation. - * Subscripting ( [] ) access is also provided as with C-style arrays. -*/ -template <class _Tp, class _Alloc = allocator<_Tp> > -class vector : protected _Vector_base<_Tp, _Alloc> -{ - // concept requirements - __glibcpp_class_requires(_Tp, _SGIAssignableConcept) - -private: - typedef _Vector_base<_Tp, _Alloc> _Base; - typedef vector<_Tp, _Alloc> vector_type; -public: - typedef _Tp value_type; - typedef value_type* pointer; - typedef const value_type* const_pointer; - typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator; - typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type> - const_iterator; - typedef value_type& reference; - typedef const value_type& const_reference; - typedef size_t size_type; - typedef ptrdiff_t difference_type; - - typedef typename _Base::allocator_type allocator_type; - allocator_type get_allocator() const { return _Base::get_allocator(); } - - typedef reverse_iterator<const_iterator> const_reverse_iterator; - typedef reverse_iterator<iterator> reverse_iterator; - -protected: - using _Base::_M_allocate; - using _Base::_M_deallocate; - using _Base::_M_start; - using _Base::_M_finish; - using _Base::_M_end_of_storage; - -protected: - void _M_insert_aux(iterator __position, const _Tp& __x); - void _M_insert_aux(iterator __position); - -public: - /** - * Returns a read/write iterator that points to the first element in the - * vector. Iteration is done in ordinary element order. - */ - iterator begin() { return iterator (_M_start); } - - /** - * Returns a read-only (constant) iterator that points to the first element - * in the vector. Iteration is done in ordinary element order. - */ - const_iterator begin() const - { return const_iterator (_M_start); } - + /// @if maint Primary default version. @endif /** - * Returns a read/write iterator that points one past the last element in - * the vector. Iteration is done in ordinary element order. + * @if maint + * See bits/stl_deque.h's _Deque_alloc_base for an explanation. + * @endif */ - iterator end() { return iterator (_M_finish); } - - /** - * Returns a read-only (constant) iterator that points one past the last - * element in the vector. Iteration is done in ordinary element order. - */ - const_iterator end() const { return const_iterator (_M_finish); } - - /** - * Returns a read/write reverse iterator that points to the last element in - * the vector. Iteration is done in reverse element order. - */ - reverse_iterator rbegin() - { return reverse_iterator(end()); } - - /** - * Returns a read-only (constant) reverse iterator that points to the last - * element in the vector. Iteration is done in reverse element order. - */ - const_reverse_iterator rbegin() const - { return const_reverse_iterator(end()); } - - /** - * Returns a read/write reverse iterator that points to one before the - * first element in the vector. Iteration is done in reverse element - * order. - */ - reverse_iterator rend() - { return reverse_iterator(begin()); } - - /** - * Returns a read-only (constant) reverse iterator that points to one - * before the first element in the vector. Iteration is done in reverse - * element order. - */ - const_reverse_iterator rend() const - { return const_reverse_iterator(begin()); } - - /** Returns the number of elements in the vector. */ - size_type size() const - { return size_type(end() - begin()); } - - /** Returns the size of the largest possible vector. */ - size_type max_size() const - { return size_type(-1) / sizeof(_Tp); } - - /** - * Returns the amount of memory that has been alocated for the current - * elements (?). - */ - size_type capacity() const - { return size_type(const_iterator(_M_end_of_storage) - begin()); } - - /** - * Returns true if the vector is empty. (Thus begin() would equal end().) - */ - bool empty() const - { return begin() == end(); } - + template<typename _Tp, typename _Allocator, bool _IsStatic> + class _Vector_alloc_base + { + public: + typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type + allocator_type; + + allocator_type + get_allocator() const { return _M_data_allocator; } + + _Vector_alloc_base(const allocator_type& __a) + : _M_data_allocator(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0) + { } + + protected: + allocator_type _M_data_allocator; + _Tp* _M_start; + _Tp* _M_finish; + _Tp* _M_end_of_storage; + + _Tp* + _M_allocate(size_t __n) { return _M_data_allocator.allocate(__n); } + + void + _M_deallocate(_Tp* __p, size_t __n) + { if (__p) _M_data_allocator.deallocate(__p, __n); } + }; + + /// @if maint Specialization for instanceless allocators. @endif + template<typename _Tp, typename _Allocator> + class _Vector_alloc_base<_Tp, _Allocator, true> + { + public: + typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type + allocator_type; + + allocator_type + get_allocator() const { return allocator_type(); } + + _Vector_alloc_base(const allocator_type&) + : _M_start(0), _M_finish(0), _M_end_of_storage(0) + { } + + protected: + _Tp* _M_start; + _Tp* _M_finish; + _Tp* _M_end_of_storage; + + typedef typename _Alloc_traits<_Tp, _Allocator>::_Alloc_type _Alloc_type; + + _Tp* + _M_allocate(size_t __n) { return _Alloc_type::allocate(__n); } + + void + _M_deallocate(_Tp* __p, size_t __n) { _Alloc_type::deallocate(__p, __n);} + }; + + /** - * @brief Subscript access to the data contained in the vector. - * @param n The element for which data should be accessed. - * @return Read/write reference to data. - * - * This operator allows for easy, array-style, data access. - * Note that data access with this operator is unchecked and out_of_range - * lookups are not defined. (For checked lookups see at().) + * @if maint + * See bits/stl_deque.h's _Deque_base for an explanation. + * @endif */ - reference operator[](size_type __n) { return *(begin() + __n); } - + template<typename _Tp, typename _Alloc> + struct _Vector_base + : public _Vector_alloc_base<_Tp, _Alloc, + _Alloc_traits<_Tp, _Alloc>::_S_instanceless> + { + public: + typedef _Vector_alloc_base<_Tp, _Alloc, + _Alloc_traits<_Tp, _Alloc>::_S_instanceless> + _Base; + typedef typename _Base::allocator_type allocator_type; + + _Vector_base(const allocator_type& __a) + : _Base(__a) { } + + _Vector_base(size_t __n, const allocator_type& __a) + : _Base(__a) + { + _M_start = _M_allocate(__n); + _M_finish = _M_start; + _M_end_of_storage = _M_start + __n; + } + + ~_Vector_base() + { _M_deallocate(_M_start, _M_end_of_storage - _M_start); } + }; + + /** - * @brief Subscript access to the data contained in the vector. - * @param n The element for which data should be accessed. - * @return Read-only (constant) reference to data. + * @brief A standard container which offers fixed time access to individual + * elements in any order. * - * This operator allows for easy, array-style, data access. - * Note that data access with this operator is unchecked and out_of_range - * lookups are not defined. (For checked lookups see at().) - */ - const_reference operator[](size_type __n) const { return *(begin() + __n); } - - void _M_range_check(size_type __n) const { - if (__n >= this->size()) - __throw_out_of_range("vector"); - } - - /** - * @brief Provides access to the data contained in the vector. - * @param n The element for which data should be accessed. - * @return Read/write reference to data. + * @ingroup Containers + * @ingroup Sequences * - * This function provides for safer data access. The parameter is first - * checked that it is in the range of the vector. The function throws - * out_of_range if the check fails. - */ - reference at(size_type __n) - { _M_range_check(__n); return (*this)[__n]; } - - /** - * @brief Provides access to the data contained in the vector. - * @param n The element for which data should be accessed. - * @return Read-only (constant) reference to data. + * Meets the requirements of a <a href="tables.html#65">container</a>, a + * <a href="tables.html#66">reversible container</a>, and a + * <a href="tables.html#67">sequence</a>, including the + * <a href="tables.html#68">optional sequence requirements</a> with the + * %exception of @c push_front and @c pop_front. * - * This function provides for safer data access. The parameter is first - * checked that it is in the range of the vector. The function throws - * out_of_range if the check fails. + * In some terminology a %vector can be described as a dynamic C-style array, + * it offers fast and efficient access to individual elements in any order + * and saves the user from worrying about memory and size allocation. + * Subscripting ( @c [] ) access is also provided as with C-style arrays. */ - const_reference at(size_type __n) const - { _M_range_check(__n); return (*this)[__n]; } - - - explicit vector(const allocator_type& __a = allocator_type()) - : _Base(__a) {} - - vector(size_type __n, const _Tp& __value, - const allocator_type& __a = allocator_type()) - : _Base(__n, __a) - { _M_finish = uninitialized_fill_n(_M_start, __n, __value); } - - explicit vector(size_type __n) - : _Base(__n, allocator_type()) - { _M_finish = uninitialized_fill_n(_M_start, __n, _Tp()); } - - vector(const vector<_Tp, _Alloc>& __x) - : _Base(__x.size(), __x.get_allocator()) - { _M_finish = uninitialized_copy(__x.begin(), __x.end(), _M_start); } - - // Check whether it's an integral type. If so, it's not an iterator. - template <class _InputIterator> - vector(_InputIterator __first, _InputIterator __last, - const allocator_type& __a = allocator_type()) + template<typename _Tp, typename _Alloc = allocator<_Tp> > + class vector : protected _Vector_base<_Tp, _Alloc> + { + // Concept requirements. + __glibcpp_class_requires(_Tp, _SGIAssignableConcept) + + typedef _Vector_base<_Tp, _Alloc> _Base; + typedef vector<_Tp, _Alloc> vector_type; + + public: + typedef _Tp value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator; + typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type> + const_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef typename _Base::allocator_type allocator_type; + + protected: + /** @if maint + * These two functions and three data members are all from the + * top-most base class, which varies depending on the type of + * %allocator. They should be pretty self-explanatory, as + * %vector uses a simple contiguous allocation scheme. @endif + */ + using _Base::_M_allocate; + using _Base::_M_deallocate; + using _Base::_M_start; + using _Base::_M_finish; + using _Base::_M_end_of_storage; + + public: + // [23.2.4.1] construct/copy/destroy + // (assign() and get_allocator() are also listed in this section) + /** + * @brief Default constructor creates no elements. + */ + explicit + vector(const allocator_type& __a = allocator_type()) + : _Base(__a) { } + + /** + * @brief Create a %vector with copies of an exemplar element. + * @param n The number of elements to initially create. + * @param value An element to copy. + * + * This constructor fills the %vector with @a n copies of @a value. + */ + vector(size_type __n, const value_type& __value, + const allocator_type& __a = allocator_type()) + : _Base(__n, __a) + { _M_finish = uninitialized_fill_n(_M_start, __n, __value); } + + /** + * @brief Create a %vector with default elements. + * @param n The number of elements to initially create. + * + * This constructor fills the %vector with @a n copies of a + * default-constructed element. + */ + explicit + vector(size_type __n) + : _Base(__n, allocator_type()) + { _M_finish = uninitialized_fill_n(_M_start, __n, value_type()); } + + /** + * @brief %Vector copy constructor. + * @param x A %vector of identical element and allocator types. + * + * The newly-created %vector uses a copy of the allocation + * object used by @a x. All the elements of @a x are copied, + * but any extra memory in + * @a x (for fast expansion) will not be copied. + */ + vector(const vector& __x) + : _Base(__x.size(), __x.get_allocator()) + { _M_finish = uninitialized_copy(__x.begin(), __x.end(), _M_start); } + + /** + * @brief Builds a %vector from a range. + * @param first An input iterator. + * @param last An input iterator. + * + * Create a %vector consisting of copies of the elements from + * [first,last). + * + * If the iterators are forward, bidirectional, or random-access, then + * this will call the elements' copy constructor N times (where N is + * distance(first,last)) and do no memory reallocation. But if only + * input iterators are used, then this will do at most 2N calls to the + * copy constructor, and logN memory reallocations. + */ + template<typename _InputIterator> + vector(_InputIterator __first, _InputIterator __last, + const allocator_type& __a = allocator_type()) : _Base(__a) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_initialize_aux(__first, __last, _Integral()); - } - - template <class _Integer> - void _M_initialize_aux(_Integer __n, _Integer __value, __true_type) - { - _M_start = _M_allocate(__n); - _M_end_of_storage = _M_start + __n; - _M_finish = uninitialized_fill_n(_M_start, __n, __value); - } - - template<class _InputIterator> - void - _M_initialize_aux(_InputIterator __first, _InputIterator __last, __false_type) - { - typedef typename iterator_traits<_InputIterator>::iterator_category _IterCategory; + { + // Check whether it's an integral type. If so, it's not an iterator. + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_initialize_dispatch(__first, __last, _Integral()); + } + + /** + * The dtor only erases the elements, and note that if the elements + * themselves are pointers, the pointed-to memory is not touched in any + * way. Managing the pointer is the user's responsibilty. + */ + ~vector() { _Destroy(_M_start, _M_finish); } + + /** + * @brief %Vector assignment operator. + * @param x A %vector of identical element and allocator types. + * + * All the elements of @a x are copied, but any extra memory in + * @a x (for fast expansion) will not be copied. Unlike the + * copy constructor, the allocator object is not copied. + */ + vector& + operator=(const vector& __x); + + /** + * @brief Assigns a given value to a %vector. + * @param n Number of elements to be assigned. + * @param val Value to be assigned. + * + * This function fills a %vector with @a n copies of the given + * value. Note that the assignment completely changes the + * %vector and that the resulting %vector's size is the same as + * the number of elements assigned. Old data may be lost. + */ + void + assign(size_type __n, const value_type& __val) + { _M_fill_assign(__n, __val); } + + /** + * @brief Assigns a range to a %vector. + * @param first An input iterator. + * @param last An input iterator. + * + * This function fills a %vector with copies of the elements in the + * range [first,last). + * + * Note that the assignment completely changes the %vector and + * that the resulting %vector's size is the same as the number + * of elements assigned. Old data may be lost. + */ + template<typename _InputIterator> + void + assign(_InputIterator __first, _InputIterator __last) + { + // Check whether it's an integral type. If so, it's not an iterator. + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_assign_dispatch(__first, __last, _Integral()); + } + + /// Get a copy of the memory allocation object. + allocator_type + get_allocator() const { return _Base::get_allocator(); } + + // iterators + /** + * Returns a read/write iterator that points to the first element in the + * %vector. Iteration is done in ordinary element order. + */ + iterator + begin() { return iterator (_M_start); } + + /** + * Returns a read-only (constant) iterator that points to the + * first element in the %vector. Iteration is done in ordinary + * element order. + */ + const_iterator + begin() const { return const_iterator (_M_start); } + + /** + * Returns a read/write iterator that points one past the last + * element in the %vector. Iteration is done in ordinary + * element order. + */ + iterator + end() { return iterator (_M_finish); } + + /** + * Returns a read-only (constant) iterator that points one past the last + * element in the %vector. Iteration is done in ordinary element order. + */ + const_iterator + end() const { return const_iterator (_M_finish); } + + /** + * Returns a read/write reverse iterator that points to the + * last element in the %vector. Iteration is done in reverse + * element order. + */ + reverse_iterator + rbegin() { return reverse_iterator(end()); } + + /** + * Returns a read-only (constant) reverse iterator that points + * to the last element in the %vector. Iteration is done in + * reverse element order. + */ + const_reverse_iterator + rbegin() const { return const_reverse_iterator(end()); } + + /** + * Returns a read/write reverse iterator that points to one before the + * first element in the %vector. Iteration is done in reverse element + * order. + */ + reverse_iterator + rend() { return reverse_iterator(begin()); } + + /** + * Returns a read-only (constant) reverse iterator that points + * to one before the first element in the %vector. Iteration + * is done in reverse element order. + */ + const_reverse_iterator + rend() const { return const_reverse_iterator(begin()); } + + // [23.2.4.2] capacity + /** Returns the number of elements in the %vector. */ + size_type + size() const { return size_type(end() - begin()); } + + /** Returns the size() of the largest possible %vector. */ + size_type + max_size() const { return size_type(-1) / sizeof(value_type); } + + /** + * @brief Resizes the %vector to the specified number of elements. + * @param new_size Number of elements the %vector should contain. + * @param x Data with which new elements should be populated. + * + * This function will %resize the %vector to the specified + * number of elements. If the number is smaller than the + * %vector's current size the %vector is truncated, otherwise + * the %vector is extended and new elements are populated with + * given data. + */ + void + resize(size_type __new_size, const value_type& __x) + { + if (__new_size < size()) + erase(begin() + __new_size, end()); + else + insert(end(), __new_size - size(), __x); + } + + /** + * @brief Resizes the %vector to the specified number of elements. + * @param new_size Number of elements the %vector should contain. + * + * This function will resize the %vector to the specified + * number of elements. If the number is smaller than the + * %vector's current size the %vector is truncated, otherwise + * the %vector is extended and new elements are + * default-constructed. + */ + void + resize(size_type __new_size) { resize(__new_size, value_type()); } + + /** + * Returns the total number of elements that the %vector can hold before + * needing to allocate more memory. + */ + size_type + capacity() const + { return size_type(const_iterator(_M_end_of_storage) - begin()); } + + /** + * Returns true if the %vector is empty. (Thus begin() would + * equal end().) + */ + bool + empty() const { return begin() == end(); } + + /** + * @brief Attempt to preallocate enough memory for specified number of + * elements. + * @param n Number of elements required. + * @throw std::length_error If @a n exceeds @c max_size(). + * + * This function attempts to reserve enough memory for the + * %vector to hold the specified number of elements. If the + * number requested is more than max_size(), length_error is + * thrown. + * + * The advantage of this function is that if optimal code is a + * necessity and the user can determine the number of elements + * that will be required, the user can reserve the memory in + * %advance, and thus prevent a possible reallocation of memory + * and copying of %vector data. + */ + void + reserve(size_type __n); + + // element access + /** + * @brief Subscript access to the data contained in the %vector. + * @param n The index of the element for which data should be accessed. + * @return Read/write reference to data. + * + * This operator allows for easy, array-style, data access. + * Note that data access with this operator is unchecked and + * out_of_range lookups are not defined. (For checked lookups + * see at().) + */ + reference + operator[](size_type __n) { return *(begin() + __n); } + + /** + * @brief Subscript access to the data contained in the %vector. + * @param n The index of the element for which data should be + * accessed. + * @return Read-only (constant) reference to data. + * + * This operator allows for easy, array-style, data access. + * Note that data access with this operator is unchecked and + * out_of_range lookups are not defined. (For checked lookups + * see at().) + */ + const_reference + operator[](size_type __n) const { return *(begin() + __n); } + + protected: + /// @if maint Safety check used only from at(). @endif + void + _M_range_check(size_type __n) const + { + if (__n >= this->size()) + __throw_out_of_range("vector [] access out of range"); + } + + public: + /** + * @brief Provides access to the data contained in the %vector. + * @param n The index of the element for which data should be + * accessed. + * @return Read/write reference to data. + * @throw std::out_of_range If @a n is an invalid index. + * + * This function provides for safer data access. The parameter is first + * checked that it is in the range of the vector. The function throws + * out_of_range if the check fails. + */ + reference + at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } + + /** + * @brief Provides access to the data contained in the %vector. + * @param n The index of the element for which data should be + * accessed. + * @return Read-only (constant) reference to data. + * @throw std::out_of_range If @a n is an invalid index. + * + * This function provides for safer data access. The parameter + * is first checked that it is in the range of the vector. The + * function throws out_of_range if the check fails. + */ + const_reference + at(size_type __n) const { _M_range_check(__n); return (*this)[__n]; } + + /** + * Returns a read/write reference to the data at the first + * element of the %vector. + */ + reference + front() { return *begin(); } + + /** + * Returns a read-only (constant) reference to the data at the first + * element of the %vector. + */ + const_reference + front() const { return *begin(); } + + /** + * Returns a read/write reference to the data at the last element of the + * %vector. + */ + reference + back() { return *(end() - 1); } + + /** + * Returns a read-only (constant) reference to the data at the last + * element of the %vector. + */ + const_reference + back() const { return *(end() - 1); } + + // [23.2.4.3] modifiers + /** + * @brief Add data to the end of the %vector. + * @param x Data to be added. + * + * This is a typical stack operation. The function creates an + * element at the end of the %vector and assigns the given data + * to it. Due to the nature of a %vector this operation can be + * done in constant time if the %vector has preallocated space + * available. + */ + void + push_back(const value_type& __x) + { + if (_M_finish != _M_end_of_storage) + { + _Construct(_M_finish, __x); + ++_M_finish; + } + else + _M_insert_aux(end(), __x); + } + + /** + * @brief Removes last element. + * + * This is a typical stack operation. It shrinks the %vector by one. + * + * Note that no data is returned, and if the last element's data is + * needed, it should be retrieved before pop_back() is called. + */ + void + pop_back() + { + --_M_finish; + _Destroy(_M_finish); + } + + /** + * @brief Inserts given value into %vector before specified iterator. + * @param position An iterator into the %vector. + * @param x Data to be inserted. + * @return An iterator that points to the inserted data. + * + * This function will insert a copy of the given value before + * the specified location. Note that this kind of operation + * could be expensive for a %vector and if it is frequently + * used the user should consider using std::list. + */ + iterator + insert(iterator __position, const value_type& __x); + +#ifdef _GLIBCPP_DEPRECATED + /** + * @brief Inserts an element into the %vector. + * @param position An iterator into the %vector. + * @return An iterator that points to the inserted element. + * + * This function will insert a default-constructed element + * before the specified location. You should consider using + * insert(position,value_type()) instead. Note that this kind + * of operation could be expensive for a vector and if it is + * frequently used the user should consider using std::list. + * + * @note This was deprecated in 3.2 and will be removed in 3.4. + * You must define @c _GLIBCPP_DEPRECATED to make this visible + * in 3.2; see c++config.h. + */ + iterator + insert(iterator __position) + { return insert(__position, value_type()); } +#endif + + /** + * @brief Inserts a number of copies of given data into the %vector. + * @param position An iterator into the %vector. + * @param n Number of elements to be inserted. + * @param x Data to be inserted. + * + * This function will insert a specified number of copies of + * the given data before the location specified by @a position. + * + * Note that this kind of operation could be expensive for a + * %vector and if it is frequently used the user should + * consider using std::list. + */ + void + insert(iterator __pos, size_type __n, const value_type& __x) + { _M_fill_insert(__pos, __n, __x); } + + /** + * @brief Inserts a range into the %vector. + * @param pos An iterator into the %vector. + * @param first An input iterator. + * @param last An input iterator. + * + * This function will insert copies of the data in the range + * [first,last) into the %vector before the location specified + * by @a pos. + * + * Note that this kind of operation could be expensive for a + * %vector and if it is frequently used the user should + * consider using std::list. + */ + template<typename _InputIterator> + void + insert(iterator __pos, _InputIterator __first, _InputIterator __last) + { + // Check whether it's an integral type. If so, it's not an iterator. + typedef typename _Is_integer<_InputIterator>::_Integral _Integral; + _M_insert_dispatch(__pos, __first, __last, _Integral()); + } + + /** + * @brief Remove element at given position. + * @param position Iterator pointing to element to be erased. + * @return An iterator pointing to the next element (or end()). + * + * This function will erase the element at the given position and thus + * shorten the %vector by one. + * + * Note This operation could be expensive and if it is + * frequently used the user should consider using std::list. + * The user is also cautioned that this function only erases + * the element, and that if the element is itself a pointer, + * the pointed-to memory is not touched in any way. Managing + * the pointer is the user's responsibilty. + */ + iterator + erase(iterator __position); + + /** + * @brief Remove a range of elements. + * @param first Iterator pointing to the first element to be erased. + * @param last Iterator pointing to one past the last element to be + * erased. + * @return An iterator pointing to the element pointed to by @a last + * prior to erasing (or end()). + * + * This function will erase the elements in the range [first,last) and + * shorten the %vector accordingly. + * + * Note This operation could be expensive and if it is + * frequently used the user should consider using std::list. + * The user is also cautioned that this function only erases + * the elements, and that if the elements themselves are + * pointers, the pointed-to memory is not touched in any way. + * Managing the pointer is the user's responsibilty. + */ + iterator + erase(iterator __first, iterator __last); + + /** + * @brief Swaps data with another %vector. + * @param x A %vector of the same element and allocator types. + * + * This exchanges the elements between two vectors in constant time. + * (Three pointers, so it should be quite fast.) + * Note that the global std::swap() function is specialized such that + * std::swap(v1,v2) will feed to this function. + */ + void + swap(vector& __x) + { + std::swap(_M_start, __x._M_start); + std::swap(_M_finish, __x._M_finish); + std::swap(_M_end_of_storage, __x._M_end_of_storage); + } + + /** + * Erases all the elements. Note that this function only erases the + * elements, and that if the elements themselves are pointers, the + * pointed-to memory is not touched in any way. Managing the pointer is + * the user's responsibilty. + */ + void + clear() { erase(begin(), end()); } + + protected: + /** + * @if maint + * Memory expansion handler. Uses the member allocation function to + * obtain @a n bytes of memory, and then copies [first,last) into it. + * @endif + */ + template<typename _ForwardIterator> + pointer + _M_allocate_and_copy(size_type __n, + _ForwardIterator __first, _ForwardIterator __last) + { + pointer __result = _M_allocate(__n); + try + { + uninitialized_copy(__first, __last, __result); + return __result; + } + catch(...) + { + _M_deallocate(__result, __n); + __throw_exception_again; + } + } + + + // Internal constructor functions follow. + + // Called by the range constructor to implement [23.1.1]/9 + template<typename _Integer> + void + _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) + { + _M_start = _M_allocate(__n); + _M_end_of_storage = _M_start + __n; + _M_finish = uninitialized_fill_n(_M_start, __n, __value); + } + + // Called by the range constructor to implement [23.1.1]/9 + template<typename _InputIter> + void + _M_initialize_dispatch(_InputIter __first, _InputIter __last, + __false_type) + { + typedef typename iterator_traits<_InputIter>::iterator_category + _IterCategory; _M_range_initialize(__first, __last, _IterCategory()); } - - ~vector() - { _Destroy(_M_start, _M_finish); } - - vector<_Tp, _Alloc>& operator=(const vector<_Tp, _Alloc>& __x); - - /** - * @brief Attempt to preallocate enough memory for specified number of - * elements. - * @param n Number of elements required - * - * This function attempts to reserve enough memory for the vector to hold - * the specified number of elements. If the number requested is more than - * max_size() length_error is thrown. - * - * The advantage of this function is that if optimal code is a necessity - * and the user can determine the number of elements that will be required - * the user can reserve the memory and thus prevent a possible - * reallocation of memory and copy of vector data. - */ - void reserve(size_type __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); - _M_deallocate(_M_start, _M_end_of_storage - _M_start); - _M_start = __tmp; - _M_finish = __tmp + __old_size; - _M_end_of_storage = _M_start + __n; - } - } - - // assign(), a generalized assignment member function. Two - // versions: one that takes a count, and one that takes a range. - // The range version is a member template, so we dispatch on whether - // or not the type is an integer. - - /** - * @brief Assigns a given value or range to a vector. - * @param n Number of elements to be assigned. - * @param val Value to be assigned. - * - * This function can be used to assign a range to a vector or fill it - * with a specified number of copies of the given value. - * Note that the assignment completely changes the vector and that the - * resulting vector's size is the same as the number of elements assigned. - * Old data may be lost. - */ - void assign(size_type __n, const _Tp& __val) { _M_fill_assign(__n, __val); } - void _M_fill_assign(size_type __n, const _Tp& __val); - - template<class _InputIterator> - void - assign(_InputIterator __first, _InputIterator __last) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_assign_dispatch(__first, __last, _Integral()); - } - - template<class _Integer> - void - _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) - { _M_fill_assign((size_type) __n, (_Tp) __val); } - - template<class _InputIter> - void - _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type) - { - typedef typename iterator_traits<_InputIter>::iterator_category _IterCategory; - _M_assign_aux(__first, __last, _IterCategory()); - } - - template <class _InputIterator> - void - _M_assign_aux(_InputIterator __first, _InputIterator __last, - input_iterator_tag); - - template <class _ForwardIterator> - void - _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, - forward_iterator_tag); - - /** - * Returns a read/write reference to the data at the first element of the - * vector. - */ - reference front() { return *begin(); } - - /** - * Returns a read-only (constant) reference to the data at the first - * element of the vector. - */ - const_reference front() const { return *begin(); } - - /** - * Returns a read/write reference to the data at the last element of the - * vector. - */ - reference back() { return *(end() - 1); } - - /** - * Returns a read-only (constant) reference to the data at the first - * element of the vector. - */ - const_reference back() const { return *(end() - 1); } - - /** - * @brief Add data to the end of the vector. - * @param x Data to be added. - * - * This is a typical stack operation. The function creates an element at - * the end of the vector and assigns the given data to it. - * Due to the nature of a vector this operation can be done in constant - * time if the vector has preallocated space available. - */ - void - push_back(const _Tp& __x) - { - if (_M_finish != _M_end_of_storage) { - _Construct(_M_finish, __x); - ++_M_finish; - } - else - _M_insert_aux(end(), __x); - } - + + // Called by the second initialize_dispatch above + template<typename _InputIterator> + void + _M_range_initialize(_InputIterator __first, + _InputIterator __last, input_iterator_tag) + { + for ( ; __first != __last; ++__first) + push_back(*__first); + } + + // Called by the second initialize_dispatch above + template<typename _ForwardIterator> + void + _M_range_initialize(_ForwardIterator __first, + _ForwardIterator __last, forward_iterator_tag) + { + size_type __n = distance(__first, __last); + _M_start = _M_allocate(__n); + _M_end_of_storage = _M_start + __n; + _M_finish = uninitialized_copy(__first, __last, _M_start); + } + + + // Internal assign functions follow. The *_aux functions do the actual + // assignment work for the range versions. + + // Called by the range assign to implement [23.1.1]/9 + template<typename _Integer> + void + _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) + { + _M_fill_assign(static_cast<size_type>(__n), + static_cast<value_type>(__val)); + } + + // Called by the range assign to implement [23.1.1]/9 + template<typename _InputIter> + void + _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type) + { + typedef typename iterator_traits<_InputIter>::iterator_category + _IterCategory; + _M_assign_aux(__first, __last, _IterCategory()); + } + + // Called by the second assign_dispatch above + template<typename _InputIterator> + void + _M_assign_aux(_InputIterator __first, _InputIterator __last, + input_iterator_tag); + + // Called by the second assign_dispatch above + template<typename _ForwardIterator> + void + _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, + forward_iterator_tag); + + // Called by assign(n,t), and the range assign when it turns out + // to be the same thing. + void + _M_fill_assign(size_type __n, const value_type& __val); + + + // Internal insert functions follow. + + // Called by the range insert to implement [23.1.1]/9 + template<typename _Integer> + void + _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, + __true_type) + { + _M_fill_insert(__pos, static_cast<size_type>(__n), + static_cast<value_type>(__val)); + } + + // Called by the range insert to implement [23.1.1]/9 + template<typename _InputIterator> + void + _M_insert_dispatch(iterator __pos, _InputIterator __first, + _InputIterator __last, __false_type) + { + typedef typename iterator_traits<_InputIterator>::iterator_category + _IterCategory; + _M_range_insert(__pos, __first, __last, _IterCategory()); + } + + // Called by the second insert_dispatch above + template<typename _InputIterator> + void + _M_range_insert(iterator __pos, _InputIterator __first, + _InputIterator __last, input_iterator_tag); + + // Called by the second insert_dispatch above + template<typename _ForwardIterator> + void + _M_range_insert(iterator __pos, _ForwardIterator __first, + _ForwardIterator __last, forward_iterator_tag); + + // Called by insert(p,n,x), and the range insert when it turns out to be + // the same thing. + void + _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); + + // Called by insert(p,x) + void + _M_insert_aux(iterator __position, const value_type& __x); + #ifdef _GLIBCPP_DEPRECATED - /** - * Add an element to the end of the vector. The element is - * default-constructed. - * - * @note You must define _GLIBCPP_DEPRECATED to make this visible; see - * c++config.h. - */ - void - push_back() - { - if (_M_finish != _M_end_of_storage) { - _Construct(_M_finish); - ++_M_finish; - } - else - _M_insert_aux(end()); - } + // Unused now (same situation as in deque) + void _M_insert_aux(iterator __position); #endif - - void - swap(vector<_Tp, _Alloc>& __x) - { - std::swap(_M_start, __x._M_start); - std::swap(_M_finish, __x._M_finish); - std::swap(_M_end_of_storage, __x._M_end_of_storage); - } - + }; + + /** - * @brief Inserts given value into vector at specified element. - * @param position An iterator that points to the element where data - * should be inserted. - * @param x Data to be inserted. - * @return An iterator that points to the inserted data. + * @brief Vector equality comparison. + * @param x A %vector. + * @param y A %vector of the same type as @a x. + * @return True iff the size and elements of the vectors are equal. * - * This function will insert the given value into the specified location. - * Note that this kind of operation could be expensive for a vector and if - * it is frequently used the user should consider using std::list. + * This is an equivalence relation. It is linear in the size of the + * vectors. Vectors are considered equivalent if their sizes are equal, + * and if corresponding elements compare equal. */ - iterator - insert(iterator __position, const _Tp& __x) - { - size_type __n = __position - begin(); - if (_M_finish != _M_end_of_storage && __position == end()) { - _Construct(_M_finish, __x); - ++_M_finish; - } - else - _M_insert_aux(iterator(__position), __x); - return begin() + __n; - } - - /** - * @brief Inserts an empty element into the vector. - * @param position An iterator that points to the element where empty - * element should be inserted. - * @param x Data to be inserted. - * @return An iterator that points to the inserted element. - * - * This function will insert an empty element into the specified location. - * Note that this kind of operation could be expensive for a vector and if - * it is frequently used the user should consider using std::list. - */ - iterator - insert(iterator __position) - { - size_type __n = __position - begin(); - if (_M_finish != _M_end_of_storage && __position == end()) { - _Construct(_M_finish); - ++_M_finish; - } - else - _M_insert_aux(iterator(__position)); - return begin() + __n; - } - - // Check whether it's an integral type. If so, it's not an iterator. - template<class _InputIterator> - void - insert(iterator __pos, _InputIterator __first, _InputIterator __last) - { - typedef typename _Is_integer<_InputIterator>::_Integral _Integral; - _M_insert_dispatch(__pos, __first, __last, _Integral()); - } - - template <class _Integer> - void - _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, __true_type) - { _M_fill_insert(__pos, static_cast<size_type>(__n), static_cast<_Tp>(__val)); } - - template<class _InputIterator> - void - _M_insert_dispatch(iterator __pos, - _InputIterator __first, _InputIterator __last, - __false_type) - { - typedef typename iterator_traits<_InputIterator>::iterator_category _IterCategory; - _M_range_insert(__pos, __first, __last, _IterCategory()); + template<typename _Tp, typename _Alloc> + inline bool + operator==(const vector<_Tp,_Alloc>& __x, const vector<_Tp,_Alloc>& __y) + { + return __x.size() == __y.size() && + equal(__x.begin(), __x.end(), __y.begin()); } - - /** - * @brief Inserts a number of copies of given data into the vector. - * @param position An iterator that points to the element where data - * should be inserted. - * @param n Amount of elements to be inserted. - * @param x Data to be inserted. - * - * This function will insert a specified number of copies of the given data - * into the specified location. - * - * Note that this kind of operation could be expensive for a vector and if - * it is frequently used the user should consider using std::list. - */ - void insert (iterator __pos, size_type __n, const _Tp& __x) - { _M_fill_insert(__pos, __n, __x); } - - void _M_fill_insert (iterator __pos, size_type __n, const _Tp& __x); - + /** - * @brief Removes last element from vector. + * @brief Vector ordering relation. + * @param x A %vector. + * @param y A %vector of the same type as @a x. + * @return True iff @a x is lexographically less than @a y. * - * This is a typical stack operation. It allows us to shrink the vector by - * one. + * This is a total ordering relation. It is linear in the size of the + * vectors. The elements must be comparable with @c <. * - * Note that no data is returned and if last element's data is needed it - * should be retrieved before pop_back() is called. + * See std::lexographical_compare() for how the determination is made. */ - void pop_back() { - --_M_finish; - _Destroy(_M_finish); - } - - /** - * @brief Remove element at given position - * @param position Iterator pointing to element to be erased. - * @return Doc Me! (Iterator pointing to new element at old location?) - * - * This function will erase the element at the given position and thus - * shorten the vector by one. - * - * Note This operation could be expensive and if it is frequently used the - * user should consider using std::list. The user is also cautioned that - * this function only erases the element, and that if the element is itself - * a pointer, the pointed-to memory is not touched in any way. Managing - * the pointer is the user's responsibilty. - */ - iterator erase(iterator __position) { - if (__position + 1 != end()) - copy(__position + 1, end(), __position); - --_M_finish; - _Destroy(_M_finish); - return __position; - } - - /** - * @brief Remove a range of elements from a vector. - * @param first Iterator pointing to the first element to be erased. - * @param last Iterator pointing to the last element to be erased. - * @return Doc Me! (Iterator pointing to new element at old location?) - * - * This function will erase the elements in the given range and shorten the - * vector accordingly. - * - * Note This operation could be expensive and if it is frequently used the - * user should consider using std::list. The user is also cautioned that - * this function only erases the elements, and that if the elements - * themselves are pointers, the pointed-to memory is not touched in any - * way. Managing the pointer is the user's responsibilty. - */ - iterator erase(iterator __first, iterator __last) { - iterator __i(copy(__last, end(), __first)); - _Destroy(__i, end()); - _M_finish = _M_finish - (__last - __first); - return __first; - } - - /** - * @brief Resizes the vector to the specified number of elements. - * @param new_size Number of elements the vector should contain. - * @param x Data with which new elements should be populated. - * - * This function will resize the vector to the specified number of - * elements. If the number is smaller than the vector's current size the - * vector is truncated, otherwise the vector is extended and new elements - * are populated with given data. - */ - void resize(size_type __new_size, const _Tp& __x) { - if (__new_size < size()) - erase(begin() + __new_size, end()); - else - insert(end(), __new_size - size(), __x); - } - - /** - * @brief Resizes the vector to the specified number of elements. - * @param new_size Number of elements the vector should contain. - * - * This function will resize the vector to the specified number of - * elements. If the number is smaller than the vector's current size the - * vector is truncated, otherwise the vector is extended and new elements - * are left uninitialized. - */ - void resize(size_type __new_size) { resize(__new_size, _Tp()); } - - /** - * Erases all elements in vector. Note that this function only erases the - * elements, and that if the elements themselves are pointers, the - * pointed-to memory is not touched in any way. Managing the pointer is - * the user's responsibilty. - */ - void clear() { erase(begin(), end()); } - -protected: - - template <class _ForwardIterator> - pointer _M_allocate_and_copy(size_type __n, _ForwardIterator __first, - _ForwardIterator __last) - { - pointer __result = _M_allocate(__n); - try { - uninitialized_copy(__first, __last, __result); - return __result; - } - catch(...) - { - _M_deallocate(__result, __n); - __throw_exception_again; - } - } - - template <class _InputIterator> - void _M_range_initialize(_InputIterator __first, - _InputIterator __last, input_iterator_tag) - { - for ( ; __first != __last; ++__first) - push_back(*__first); - } - - // This function is only called by the constructor. - template <class _ForwardIterator> - void _M_range_initialize(_ForwardIterator __first, - _ForwardIterator __last, forward_iterator_tag) - { - size_type __n = distance(__first, __last); - _M_start = _M_allocate(__n); - _M_end_of_storage = _M_start + __n; - _M_finish = uninitialized_copy(__first, __last, _M_start); - } - - template <class _InputIterator> - void _M_range_insert(iterator __pos, - _InputIterator __first, _InputIterator __last, - input_iterator_tag); - - template <class _ForwardIterator> - void _M_range_insert(iterator __pos, - _ForwardIterator __first, _ForwardIterator __last, - forward_iterator_tag); -}; - -template <class _Tp, class _Alloc> -inline bool -operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) -{ - return __x.size() == __y.size() && - equal(__x.begin(), __x.end(), __y.begin()); -} - -template <class _Tp, class _Alloc> -inline bool -operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) -{ - return lexicographical_compare(__x.begin(), __x.end(), - __y.begin(), __y.end()); -} - -template <class _Tp, class _Alloc> -inline void swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) -{ - __x.swap(__y); -} - -template <class _Tp, class _Alloc> -inline bool -operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { - return !(__x == __y); -} - -template <class _Tp, class _Alloc> -inline bool -operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { - return __y < __x; -} - -template <class _Tp, class _Alloc> -inline bool -operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { - return !(__y < __x); -} - -template <class _Tp, class _Alloc> -inline bool -operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) { - return !(__x < __y); -} - -template <class _Tp, class _Alloc> -vector<_Tp,_Alloc>& -vector<_Tp,_Alloc>::operator=(const vector<_Tp, _Alloc>& __x) -{ - if (&__x != this) { - const size_type __xlen = __x.size(); - if (__xlen > capacity()) { - pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), __x.end()); - _Destroy(_M_start, _M_finish); - _M_deallocate(_M_start, _M_end_of_storage - _M_start); - _M_start = __tmp; - _M_end_of_storage = _M_start + __xlen; - } - else if (size() >= __xlen) { - iterator __i(copy(__x.begin(), __x.end(), begin())); - _Destroy(__i, end()); - } - else { - copy(__x.begin(), __x.begin() + size(), _M_start); - uninitialized_copy(__x.begin() + size(), __x.end(), _M_finish); - } - _M_finish = _M_start + __xlen; - } - return *this; -} - -template <class _Tp, class _Alloc> -void vector<_Tp, _Alloc>::_M_fill_assign(size_t __n, const value_type& __val) -{ - if (__n > capacity()) { - vector<_Tp, _Alloc> __tmp(__n, __val, get_allocator()); - __tmp.swap(*this); - } - else if (__n > size()) { - fill(begin(), end(), __val); - _M_finish = uninitialized_fill_n(_M_finish, __n - size(), __val); - } - else - erase(fill_n(begin(), __n, __val), end()); -} - -template <class _Tp, class _Alloc> template <class _InputIter> -void vector<_Tp, _Alloc>::_M_assign_aux(_InputIter __first, _InputIter __last, - input_iterator_tag) { - iterator __cur(begin()); - for ( ; __first != __last && __cur != end(); ++__cur, ++__first) - *__cur = *__first; - if (__first == __last) - erase(__cur, end()); - else - insert(end(), __first, __last); -} - -template <class _Tp, class _Alloc> template <class _ForwardIter> -void -vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIter __first, _ForwardIter __last, - forward_iterator_tag) { - size_type __len = distance(__first, __last); - - if (__len > capacity()) { - pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); - _Destroy(_M_start, _M_finish); - _M_deallocate(_M_start, _M_end_of_storage - _M_start); - _M_start = __tmp; - _M_end_of_storage = _M_finish = _M_start + __len; - } - else if (size() >= __len) { - iterator __new_finish(copy(__first, __last, _M_start)); - _Destroy(__new_finish, end()); - _M_finish = __new_finish.base(); - } - else { - _ForwardIter __mid = __first; - advance(__mid, size()); - copy(__first, __mid, _M_start); - _M_finish = uninitialized_copy(__mid, __last, _M_finish); - } -} - -template <class _Tp, class _Alloc> -void -vector<_Tp, _Alloc>::_M_insert_aux(iterator __position, const _Tp& __x) -{ - if (_M_finish != _M_end_of_storage) { - _Construct(_M_finish, *(_M_finish - 1)); - ++_M_finish; - _Tp __x_copy = __x; - copy_backward(__position, iterator(_M_finish - 2), iterator(_M_finish- 1)); - *__position = __x_copy; - } - else { - const size_type __old_size = size(); - const size_type __len = __old_size != 0 ? 2 * __old_size : 1; - iterator __new_start(_M_allocate(__len)); - iterator __new_finish(__new_start); - try { - __new_finish = uninitialized_copy(iterator(_M_start), __position, - __new_start); - _Construct(__new_finish.base(), __x); - ++__new_finish; - __new_finish = uninitialized_copy(__position, iterator(_M_finish), - __new_finish); - } - catch(...) - { - _Destroy(__new_start,__new_finish); - _M_deallocate(__new_start.base(),__len); - __throw_exception_again; - } - _Destroy(begin(), end()); - _M_deallocate(_M_start, _M_end_of_storage - _M_start); - _M_start = __new_start.base(); - _M_finish = __new_finish.base(); - _M_end_of_storage = __new_start.base() + __len; - } -} - -template <class _Tp, class _Alloc> -void -vector<_Tp, _Alloc>::_M_insert_aux(iterator __position) -{ - if (_M_finish != _M_end_of_storage) { - _Construct(_M_finish, *(_M_finish - 1)); - ++_M_finish; - copy_backward(__position, iterator(_M_finish - 2), - iterator(_M_finish - 1)); - *__position = _Tp(); - } - else { - const size_type __old_size = size(); - const size_type __len = __old_size != 0 ? 2 * __old_size : 1; - pointer __new_start = _M_allocate(__len); - pointer __new_finish = __new_start; - try { - __new_finish = uninitialized_copy(iterator(_M_start), __position, - __new_start); - _Construct(__new_finish); - ++__new_finish; - __new_finish = uninitialized_copy(__position, iterator(_M_finish), - __new_finish); - } - catch(...) - { - _Destroy(__new_start,__new_finish); - _M_deallocate(__new_start,__len); - __throw_exception_again; - } - _Destroy(begin(), end()); - _M_deallocate(_M_start, _M_end_of_storage - _M_start); - _M_start = __new_start; - _M_finish = __new_finish; - _M_end_of_storage = __new_start + __len; - } -} - -template <class _Tp, class _Alloc> -void vector<_Tp, _Alloc>::_M_fill_insert(iterator __position, size_type __n, - const _Tp& __x) -{ - if (__n != 0) { - if (size_type(_M_end_of_storage - _M_finish) >= __n) { - _Tp __x_copy = __x; - const size_type __elems_after = end() - __position; - iterator __old_finish(_M_finish); - if (__elems_after > __n) { - uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); - _M_finish += __n; - copy_backward(__position, __old_finish - __n, __old_finish); - fill(__position, __position + __n, __x_copy); - } - else { - uninitialized_fill_n(_M_finish, __n - __elems_after, __x_copy); - _M_finish += __n - __elems_after; - uninitialized_copy(__position, __old_finish, _M_finish); - _M_finish += __elems_after; - fill(__position, __old_finish, __x_copy); - } - } - else { - const size_type __old_size = size(); - const size_type __len = __old_size + max(__old_size, __n); - iterator __new_start(_M_allocate(__len)); - iterator __new_finish(__new_start); - try { - __new_finish = uninitialized_copy(begin(), __position, __new_start); - __new_finish = uninitialized_fill_n(__new_finish, __n, __x); - __new_finish - = uninitialized_copy(__position, end(), __new_finish); - } - catch(...) - { - _Destroy(__new_start,__new_finish); - _M_deallocate(__new_start.base(),__len); - __throw_exception_again; - } - _Destroy(_M_start, _M_finish); - _M_deallocate(_M_start, _M_end_of_storage - _M_start); - _M_start = __new_start.base(); - _M_finish = __new_finish.base(); - _M_end_of_storage = __new_start.base() + __len; - } - } -} - -template <class _Tp, class _Alloc> template <class _InputIterator> -void -vector<_Tp, _Alloc>::_M_range_insert(iterator __pos, - _InputIterator __first, - _InputIterator __last, - input_iterator_tag) -{ - for ( ; __first != __last; ++__first) { - __pos = insert(__pos, *__first); - ++__pos; - } -} - -template <class _Tp, class _Alloc> template <class _ForwardIterator> -void -vector<_Tp, _Alloc>::_M_range_insert(iterator __position, - _ForwardIterator __first, - _ForwardIterator __last, - forward_iterator_tag) -{ - if (__first != __last) { - size_type __n = distance(__first, __last); - if (size_type(_M_end_of_storage - _M_finish) >= __n) { - const size_type __elems_after = end() - __position; - iterator __old_finish(_M_finish); - if (__elems_after > __n) { - uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); - _M_finish += __n; - copy_backward(__position, __old_finish - __n, __old_finish); - copy(__first, __last, __position); - } - else { - _ForwardIterator __mid = __first; - advance(__mid, __elems_after); - uninitialized_copy(__mid, __last, _M_finish); - _M_finish += __n - __elems_after; - uninitialized_copy(__position, __old_finish, _M_finish); - _M_finish += __elems_after; - copy(__first, __mid, __position); - } - } - else { - const size_type __old_size = size(); - const size_type __len = __old_size + max(__old_size, __n); - iterator __new_start(_M_allocate(__len)); - iterator __new_finish(__new_start); - try { - __new_finish = uninitialized_copy(iterator(_M_start), - __position, __new_start); - __new_finish = uninitialized_copy(__first, __last, __new_finish); - __new_finish - = uninitialized_copy(__position, iterator(_M_finish), __new_finish); - } - catch(...) - { - _Destroy(__new_start,__new_finish); - _M_deallocate(__new_start.base(), __len); - __throw_exception_again; - } - _Destroy(_M_start, _M_finish); - _M_deallocate(_M_start, _M_end_of_storage - _M_start); - _M_start = __new_start.base(); - _M_finish = __new_finish.base(); - _M_end_of_storage = __new_start.base() + __len; + template<typename _Tp, typename _Alloc> + inline bool + operator<(const vector<_Tp,_Alloc>& __x, const vector<_Tp,_Alloc>& __y) + { + return lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); } - } -} - + + /// Based on operator== + template<typename _Tp, typename _Alloc> + inline bool + operator!=(const vector<_Tp,_Alloc>& __x, const vector<_Tp,_Alloc>& __y) + { return !(__x == __y); } + + /// Based on operator< + template<typename _Tp, typename _Alloc> + inline bool + operator>(const vector<_Tp,_Alloc>& __x, const vector<_Tp,_Alloc>& __y) + { return __y < __x; } + + /// Based on operator< + template<typename _Tp, typename _Alloc> + inline bool + operator<=(const vector<_Tp,_Alloc>& __x, const vector<_Tp,_Alloc>& __y) + { return !(__y < __x); } + + /// Based on operator< + template<typename _Tp, typename _Alloc> + inline bool + operator>=(const vector<_Tp,_Alloc>& __x, const vector<_Tp,_Alloc>& __y) + { return !(__x < __y); } + + /// See std::vector::swap(). + template<typename _Tp, typename _Alloc> + inline void + swap(vector<_Tp,_Alloc>& __x, vector<_Tp,_Alloc>& __y) + { __x.swap(__y); } } // namespace std #endif /* __GLIBCPP_INTERNAL_VECTOR_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/bits/streambuf.tcc b/contrib/libstdc++/include/bits/streambuf.tcc index 5f57df5..be85862 100644 --- a/contrib/libstdc++/include/bits/streambuf.tcc +++ b/contrib/libstdc++/include/bits/streambuf.tcc @@ -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 @@ -67,8 +67,7 @@ namespace std { int_type __ret; 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) + if (!__testpos || !traits_type::eq(__c, this->gptr()[-1])) __ret = this->pbackfail(traits_type::to_int_type(__c)); else { @@ -199,54 +198,46 @@ namespace std basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout) { - typedef typename _Traits::int_type int_type; - - streamsize __ret = 0; - streamsize __bufsize = __sbin->in_avail(); - streamsize __xtrct; - bool __testput = __sbout->_M_mode & ios_base::out; - try - { - while (__testput && __bufsize != -1) - { - if (__bufsize != 0 && __sbin->gptr() != NULL - && __sbin->gptr() + __bufsize <= __sbin->egptr()) - { - __xtrct = __sbout->sputn(__sbin->gptr(), __bufsize); - __ret += __xtrct; - __sbin->_M_in_cur_move(__xtrct); - if (__xtrct != __bufsize) - break; - } - else - { - 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) - break; - } - if (_Traits::eq_int_type(__sbin->sgetc(), _Traits::eof())) - break; - __bufsize = __sbin->in_avail(); - } - } - catch(exception& __fail) - { - __ios.setstate(ios_base::failbit); - if ((__ios.exceptions() & ios_base::failbit) != 0) - __throw_exception_again; - } - return __ret; - } + streamsize __ret = 0; + try + { + typename _Traits::int_type __c = __sbin->sgetc(); + while (!_Traits::eq_int_type(__c, _Traits::eof())) + { + const size_t __n = __sbin->_M_in_end - __sbin->_M_in_cur; + if (__n > 1) + { + const size_t __wrote = __sbout->sputn(__sbin->_M_in_cur, + __n); + __sbin->_M_in_cur_move(__wrote); + __ret += __wrote; + if (__wrote < __n) + break; + __c = __sbin->underflow(); + } + else + { + __c = __sbout->sputc(_Traits::to_char_type(__c)); + if (_Traits::eq_int_type(__c, _Traits::eof())) + break; + ++__ret; + __c = __sbin->snextc(); + } + } + } + catch(exception& __fail) + { + __ios.setstate(ios_base::failbit); + if ((__ios.exceptions() & ios_base::failbit) != 0) + __throw_exception_again; + } + return __ret; + } // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template class basic_streambuf<char>; extern template streamsize @@ -260,6 +251,7 @@ namespace std __copy_streambufs(basic_ios<wchar_t>&, basic_streambuf<wchar_t>*, basic_streambuf<wchar_t>*); #endif +#endif } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/streambuf_iterator.h b/contrib/libstdc++/include/bits/streambuf_iterator.h index 152df9c..d482aba 100644 --- a/contrib/libstdc++/include/bits/streambuf_iterator.h +++ b/contrib/libstdc++/include/bits/streambuf_iterator.h @@ -1,6 +1,6 @@ // Streambuf iterators -// 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 @@ -28,8 +28,6 @@ // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. -// XXX Should specialize copy, find algorithms for streambuf iterators. - /** @file streambuf_iterator.h * This is an internal header file, included by other library headers. * You should not attempt to use it directly. @@ -40,6 +38,10 @@ #pragma GCC system_header +#include <streambuf> + +// NB: Should specialize copy, find algorithms for streambuf iterators. + namespace std { // 24.5.3 Template class istreambuf_iterator @@ -166,7 +168,6 @@ namespace std bool _M_failed; public: - inline ostreambuf_iterator(ostream_type& __s) throw () : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } @@ -174,7 +175,13 @@ namespace std : _M_sbuf(__s), _M_failed(!_M_sbuf) { } ostreambuf_iterator& - operator=(_CharT __c); + operator=(_CharT __c) + { + if (!_M_failed && + _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) + _M_failed = true; + return *this; + } ostreambuf_iterator& operator*() throw() @@ -191,16 +198,15 @@ namespace std bool failed() const throw() { return _M_failed; } - }; - template<typename _CharT, typename _Traits> - inline ostreambuf_iterator<_CharT, _Traits>& - ostreambuf_iterator<_CharT, _Traits>::operator=(_CharT __c) - { - if (!_M_failed && - _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof())) - _M_failed = true; - return *this; - } + ostreambuf_iterator& + _M_put(const _CharT* __ws, streamsize __len) + { + if (__builtin_expect(!_M_failed, true) && + __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len, false)) + _M_failed = true; + return *this; + } + }; } // namespace std #endif diff --git a/contrib/libstdc++/include/bits/valarray_array.h b/contrib/libstdc++/include/bits/valarray_array.h index 48dd2aa..c880478 100644 --- a/contrib/libstdc++/include/bits/valarray_array.h +++ b/contrib/libstdc++/include/bits/valarray_array.h @@ -603,16 +603,16 @@ _Array_augmented_##_Name (_Array<_Tp> __a, _Array<bool> __m, \ } \ } - _DEFINE_ARRAY_FUNCTION(+, plus) - _DEFINE_ARRAY_FUNCTION(-, minus) - _DEFINE_ARRAY_FUNCTION(*, multiplies) - _DEFINE_ARRAY_FUNCTION(/, divides) - _DEFINE_ARRAY_FUNCTION(%, modulus) - _DEFINE_ARRAY_FUNCTION(^, xor) - _DEFINE_ARRAY_FUNCTION(|, or) - _DEFINE_ARRAY_FUNCTION(&, and) - _DEFINE_ARRAY_FUNCTION(<<, shift_left) - _DEFINE_ARRAY_FUNCTION(>>, shift_right) + _DEFINE_ARRAY_FUNCTION(+, __plus) + _DEFINE_ARRAY_FUNCTION(-, __minus) + _DEFINE_ARRAY_FUNCTION(*, __multiplies) + _DEFINE_ARRAY_FUNCTION(/, __divides) + _DEFINE_ARRAY_FUNCTION(%, __modulus) + _DEFINE_ARRAY_FUNCTION(^, __bitwise_xor) + _DEFINE_ARRAY_FUNCTION(|, __bitwise_or) + _DEFINE_ARRAY_FUNCTION(&, __bitwise_and) + _DEFINE_ARRAY_FUNCTION(<<, __shift_left) + _DEFINE_ARRAY_FUNCTION(>>, __shift_right) #undef _DEFINE_VALARRAY_FUNCTION diff --git a/contrib/libstdc++/include/bits/valarray_meta.h b/contrib/libstdc++/include/bits/valarray_meta.h index f2926c0..29a2dac 100644 --- a/contrib/libstdc++/include/bits/valarray_meta.h +++ b/contrib/libstdc++/include/bits/valarray_meta.h @@ -41,469 +41,601 @@ namespace std { + // + // Implementing a loosened valarray return value is tricky. + // First we need to meet 26.3.1/3: we should not add more than + // two levels of template nesting. Therefore we resort to template + // template to "flatten" loosened return value types. + // At some point we use partial specialization to remove one level + // template nesting due to _Expr<> + // + + // This class is NOT defined. It doesn't need to. + template<typename _Tp1, typename _Tp2> class _Constant; + + // Implementations of unary functions applied to valarray<>s. + // I use hard-coded object functions here instead of a generic + // approach like pointers to function: + // 1) correctness: some functions take references, others values. + // we can't deduce the correct type afterwards. + // 2) efficiency -- object functions can be easily inlined + // 3) be Koenig-lookup-friendly + + struct __abs + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return abs(__t); } + }; - // - // Implementing a loosened valarray return value is tricky. - // First we need to meet 26.3.1/3: we should not add more than - // two levels of template nesting. Therefore we resort to template - // template to "flatten" loosened return value types. - // At some point we use partial specialization to remove one level - // template nesting due to _Expr<> - // - + struct __cos + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return cos(__t); } + }; - // This class is NOT defined. It doesn't need to. - template<typename _Tp1, typename _Tp2> class _Constant; + struct __acos + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return acos(__t); } + }; - // - // Unary function application closure. - // - template<class _Dom> class _UnFunBase { - public: - typedef typename _Dom::value_type value_type; - typedef value_type _Vt; - - _UnFunBase (const _Dom& __e, _Vt __f(_Vt)) - : _M_expr(__e), _M_func(__f) {} - - _Vt operator[] (size_t __i) const { return _M_func(_M_expr[__i]); } - size_t size () const { return _M_expr.size(); } - - private: - const _Dom& _M_expr; - _Vt (*_M_func)(_Vt); - }; + struct __cosh + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return cosh(__t); } + }; - template<template<class, class> class _Meta, class _Dom> - class _UnFunClos; - - template<class _Dom> - struct _UnFunClos<_Expr,_Dom> : _UnFunBase<_Dom> { - typedef _UnFunBase<_Dom> _Base; - typedef typename _Base::value_type value_type; - - _UnFunClos (const _Dom& __e, value_type __f(value_type)) - : _Base (__e, __f) {} - }; - + struct __sin + { template<typename _Tp> - struct _UnFunClos<_ValArray,_Tp> : _UnFunBase<valarray<_Tp> > { - typedef _UnFunBase<valarray<_Tp> > _Base; - typedef typename _Base::value_type value_type; - - _UnFunClos (const valarray<_Tp>& __v, _Tp __f(_Tp)) - : _Base (__v, __f) {} - }; + _Tp operator()(const _Tp& __t) const { return sin(__t); } + }; - // - // Binary function application closure. - // - template<template<class, class> class _Meta1, - template<class, class> class Meta2, - class _Dom1, class _Dom2> class _BinFunClos; - - template<class _Dom1, class _Dom2> class _BinFunBase { - public: - typedef typename _Dom1::value_type value_type; - typedef value_type _Vt; + struct __asin + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return asin(__t); } + }; - _BinFunBase (const _Dom1& __e1, const _Dom2& __e2, - _Vt __f (_Vt, _Vt)) - : _M_expr1 (__e1), _M_expr2 (__e2), _M_func (__f) {} + struct __sinh + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return sinh(__t); } + }; - value_type operator[] (size_t __i) const - { return _M_func (_M_expr1[__i], _M_expr2[__i]); } - size_t size () const { return _M_expr1.size (); } + struct __tan + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return tan(__t); } + }; - private: - const _Dom1& _M_expr1; - const _Dom2& _M_expr2; - _Vt (*_M_func)(_Vt, _Vt); - }; + struct __atan + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return atan(__t); } + }; - template<class _Dom> class _BinFunBase1 { - public: - typedef typename _Dom::value_type value_type ; - typedef value_type _Vt; + struct __tanh + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return tanh(__t); } + }; - _BinFunBase1 (const _Vt& __c, const _Dom& __e, _Vt __f(_Vt, _Vt)) - : _M_expr1 (__c), _M_expr2 (__e), _M_func (__f) {} + struct __exp + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return exp(__t); } + }; - value_type operator[] (size_t __i) const - { return _M_func (_M_expr1, _M_expr2[__i]); } - size_t size () const { return _M_expr2.size (); } + struct __log + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return log(__t); } + }; - private: - const _Vt& _M_expr1; - const _Dom& _M_expr2; - _Vt (*_M_func)(_Vt, _Vt); - }; + struct __log10 + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return log10(__t); } + }; - template<class _Dom> class _BinFunBase2 { - public: - typedef typename _Dom::value_type value_type; - typedef value_type _Vt; + struct __sqrt + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return sqrt(__t); } + }; - _BinFunBase2 (const _Dom& __e, const _Vt& __c, _Vt __f(_Vt, _Vt)) - : _M_expr1 (__e), _M_expr2 (__c), _M_func (__f) {} + // In the past, we used to tailor operator applications semantics + // to the specialization of standard function objects (i.e. plus<>, etc.) + // That is incorrect. Therefore we provide our own surrogates. - value_type operator[] (size_t __i) const - { return _M_func (_M_expr1[__i], _M_expr2); } - size_t size () const { return _M_expr1.size (); } + struct __unary_plus + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return +__t; } + }; - private: - const _Dom& _M_expr1; - const _Vt& _M_expr2; - _Vt (*_M_func)(_Vt, _Vt); - }; + struct __negate + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return -__t; } + }; - template<class _Dom1, class _Dom2> - struct _BinFunClos<_Expr,_Expr,_Dom1,_Dom2> : _BinFunBase<_Dom1,_Dom2> { - typedef _BinFunBase<_Dom1,_Dom2> _Base; - typedef typename _Base::value_type value_type; - typedef value_type _Tp; + struct __bitwise_not + { + template<typename _Tp> + _Tp operator()(const _Tp& __t) const { return ~__t; } + }; - _BinFunClos (const _Dom1& __e1, const _Dom2& __e2, - _Tp __f(_Tp, _Tp)) - : _Base (__e1, __e2, __f) {} - }; + struct __plus + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x + __y; } + }; + struct __minus + { template<typename _Tp> - struct _BinFunClos<_ValArray,_ValArray,_Tp,_Tp> - : _BinFunBase<valarray<_Tp>, valarray<_Tp> > { - typedef _BinFunBase<valarray<_Tp>, valarray<_Tp> > _Base; - typedef _Tp value_type; + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x - __y; } + }; - _BinFunClos (const valarray<_Tp>& __v, const valarray<_Tp>& __w, - _Tp __f(_Tp, _Tp)) - : _Base (__v, __w, __f) {} - }; - - template<class _Dom> - struct _BinFunClos<_Expr,_ValArray,_Dom,typename _Dom::value_type> - : _BinFunBase<_Dom,valarray<typename _Dom::value_type> > { - typedef typename _Dom::value_type _Tp; - typedef _BinFunBase<_Dom,valarray<_Tp> > _Base; - typedef _Tp value_type; + struct __multiplies + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x * __y; } + }; - _BinFunClos (const _Dom& __e, const valarray<_Tp>& __v, - _Tp __f(_Tp, _Tp)) - : _Base (__e, __v, __f) {} - }; + struct __divides + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x / __y; } + }; - template<class _Dom> - struct _BinFunClos<_ValArray,_Expr,typename _Dom::value_type,_Dom> - : _BinFunBase<valarray<typename _Dom::value_type>,_Dom> { - typedef typename _Dom::value_type _Tp; - typedef _BinFunBase<_Dom,valarray<_Tp> > _Base; - typedef _Tp value_type; + struct __modulus + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x % __y; } + }; + + struct __bitwise_xor + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x ^ __y; } + }; + + struct __bitwise_and + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x & __y; } + }; + + struct __bitwise_or + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x | __y; } + }; + + struct __shift_left + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x << __y; } + }; + + struct __shift_right + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return __x >> __y; } + }; + + struct __logical_and + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x && __y; } + }; + + struct __logical_or + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x || __y; } + }; + + struct __logical_not + { + template<typename _Tp> + bool operator()(const _Tp& __x) const { return !__x; } + }; + + struct __equal_to + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x == __y; } + }; + + struct __not_equal_to + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x != __y; } + }; - _BinFunClos (const valarray<_Tp>& __v, const _Dom& __e, - _Tp __f(_Tp, _Tp)) - : _Base (__v, __e, __f) {} + struct __less + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x < __y; } + }; + + struct __greater + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x > __y; } + }; + + struct __less_equal + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x <= __y; } + }; + + struct __greater_equal + { + template<typename _Tp> + bool operator()(const _Tp& __x, const _Tp& __y) const + { return __x >= __y; } + }; + + // The few binary functions we miss. + struct __atan2 + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return atan2(__x, __y); } + }; + + struct __pow + { + template<typename _Tp> + _Tp operator()(const _Tp& __x, const _Tp& __y) const + { return pow(__x, __y); } + }; + + + // We need these bits in order to recover the return type of + // some functions/operators now that we're no longer using + // function templates. + template<typename, typename _Tp> + struct __fun + { + typedef _Tp result_type; }; - template<class _Dom> - struct _BinFunClos<_Expr,_Constant,_Dom,typename _Dom::value_type> - : _BinFunBase2<_Dom> { - typedef typename _Dom::value_type _Tp; - typedef _Tp value_type; - typedef _BinFunBase2<_Dom> _Base; + // several specializations for relational operators. + template<typename _Tp> + struct __fun<__logical_not, _Tp> + { + typedef bool result_type; + }; - _BinFunClos (const _Dom& __e, const _Tp& __t, _Tp __f (_Tp, _Tp)) - : _Base (__e, __t, __f) {} + template<typename _Tp> + struct __fun<__logical_and, _Tp> + { + typedef bool result_type; }; - template<class _Dom> - struct _BinFunClos<_Constant,_Expr,_Dom,typename _Dom::value_type> - : _BinFunBase1<_Dom> { - typedef typename _Dom::value_type _Tp; - typedef _Tp value_type; - typedef _BinFunBase1<_Dom> _Base; + template<typename _Tp> + struct __fun<__logical_or, _Tp> + { + typedef bool result_type; + }; - _BinFunClos (const _Tp& __t, const _Dom& __e, _Tp __f (_Tp, _Tp)) - : _Base (__t, __e, __f) {} + template<typename _Tp> + struct __fun<__less, _Tp> + { + typedef bool result_type; }; - template<typename _Tp> - struct _BinFunClos<_ValArray,_Constant,_Tp,_Tp> - : _BinFunBase2<valarray<_Tp> > { - typedef _BinFunBase2<valarray<_Tp> > _Base; - typedef _Tp value_type; + template<typename _Tp> + struct __fun<__greater, _Tp> + { + typedef bool result_type; + }; - _BinFunClos (const valarray<_Tp>& __v, const _Tp& __t, - _Tp __f(_Tp, _Tp)) - : _Base (__v, __t, __f) {} + template<typename _Tp> + struct __fun<__less_equal, _Tp> + { + typedef bool result_type; }; - template<typename _Tp> - struct _BinFunClos<_Constant,_ValArray,_Tp,_Tp> - : _BinFunBase1<valarray<_Tp> > { - typedef _BinFunBase1<valarray<_Tp> > _Base; - typedef _Tp value_type; + template<typename _Tp> + struct __fun<__greater_equal, _Tp> + { + typedef bool result_type; + }; + + template<typename _Tp> + struct __fun<__equal_to, _Tp> + { + typedef bool result_type; + }; - _BinFunClos (const _Tp& __t, const valarray<_Tp>& __v, - _Tp __f (_Tp, _Tp)) - : _Base (__t, __v, __f) {} + template<typename _Tp> + struct __fun<__not_equal_to, _Tp> + { + typedef bool result_type; }; // // Apply function taking a value/const reference closure // - template<typename _Dom, typename _Arg> class _FunBase { + template<typename _Dom, typename _Arg> + class _FunBase + { public: - typedef typename _Dom::value_type value_type; + typedef typename _Dom::value_type value_type; + + _FunBase(const _Dom& __e, value_type __f(_Arg)) + : _M_expr(__e), _M_func(__f) {} - _FunBase (const _Dom& __e, value_type __f(_Arg)) - : _M_expr (__e), _M_func (__f) {} + value_type operator[](size_t __i) const + { return _M_func (_M_expr[__i]); } - value_type operator[] (size_t __i) const - { return _M_func (_M_expr[__i]); } - size_t size() const { return _M_expr.size ();} + size_t size() const { return _M_expr.size ();} private: const _Dom& _M_expr; value_type (*_M_func)(_Arg); }; - template<class _Dom> - struct _ValFunClos<_Expr,_Dom> - : _FunBase<_Dom, typename _Dom::value_type> { - typedef _FunBase<_Dom, typename _Dom::value_type> _Base; - typedef typename _Base::value_type value_type; - typedef value_type _Tp; + template<class _Dom> + struct _ValFunClos<_Expr,_Dom> : _FunBase<_Dom, typename _Dom::value_type> + { + typedef _FunBase<_Dom, typename _Dom::value_type> _Base; + typedef typename _Base::value_type value_type; + typedef value_type _Tp; - _ValFunClos (const _Dom& __e, _Tp __f (_Tp)) : _Base (__e, __f) {} + _ValFunClos(const _Dom& __e, _Tp __f(_Tp)) : _Base(__e, __f) {} }; - template<typename _Tp> - struct _ValFunClos<_ValArray,_Tp> - : _FunBase<valarray<_Tp>, _Tp> { - typedef _FunBase<valarray<_Tp>, _Tp> _Base; - typedef _Tp value_type; - - _ValFunClos (const valarray<_Tp>& __v, _Tp __f(_Tp)) - : _Base (__v, __f) {} + template<typename _Tp> + struct _ValFunClos<_ValArray,_Tp> : _FunBase<valarray<_Tp>, _Tp> + { + typedef _FunBase<valarray<_Tp>, _Tp> _Base; + typedef _Tp value_type; + + _ValFunClos(const valarray<_Tp>& __v, _Tp __f(_Tp)) : _Base(__v, __f) {} }; - template<class _Dom> + template<class _Dom> struct _RefFunClos<_Expr,_Dom> : - _FunBase<_Dom, const typename _Dom::value_type&> { - typedef _FunBase<_Dom, const typename _Dom::value_type&> _Base; - typedef typename _Base::value_type value_type; - typedef value_type _Tp; - - _RefFunClos (const _Dom& __e, _Tp __f (const _Tp&)) - : _Base (__e, __f) {} + _FunBase<_Dom, const typename _Dom::value_type&> + { + typedef _FunBase<_Dom, const typename _Dom::value_type&> _Base; + typedef typename _Base::value_type value_type; + typedef value_type _Tp; + + _RefFunClos(const _Dom& __e, _Tp __f(const _Tp&)) + : _Base(__e, __f) {} }; - template<typename _Tp> - struct _RefFunClos<_ValArray,_Tp> - : _FunBase<valarray<_Tp>, const _Tp&> { - typedef _FunBase<valarray<_Tp>, const _Tp&> _Base; - typedef _Tp value_type; - - _RefFunClos (const valarray<_Tp>& __v, _Tp __f(const _Tp&)) - : _Base (__v, __f) {} + template<typename _Tp> + struct _RefFunClos<_ValArray,_Tp> : _FunBase<valarray<_Tp>, const _Tp&> + { + typedef _FunBase<valarray<_Tp>, const _Tp&> _Base; + typedef _Tp value_type; + + _RefFunClos(const valarray<_Tp>& __v, _Tp __f(const _Tp&)) + : _Base(__v, __f) {} }; - // - // Unary expression closure. - // + // + // Unary expression closure. + // - template<template<class> class _Oper, typename _Arg> - class _UnBase { + template<class _Oper, class _Arg> + class _UnBase + { public: - typedef _Oper<typename _Arg::value_type> _Op; - typedef typename _Op::result_type value_type; + typedef typename _Arg::value_type _Vt; + typedef typename __fun<_Oper, _Vt>::result_type value_type; + + _UnBase(const _Arg& __e) : _M_expr(__e) {} + + value_type operator[](size_t __i) const + { return _Oper()(_M_expr[__i]); } - _UnBase (const _Arg& __e) : _M_expr(__e) {} - value_type operator[] (size_t) const; - size_t size () const { return _M_expr.size (); } + size_t size() const { return _M_expr.size(); } private: - const _Arg& _M_expr; + const _Arg& _M_expr; }; - template<template<class> class _Oper, typename _Arg> - inline typename _UnBase<_Oper, _Arg>::value_type - _UnBase<_Oper, _Arg>::operator[] (size_t __i) const - { return _Op() (_M_expr[__i]); } - - template<template<class> class _Oper, class _Dom> - struct _UnClos<_Oper, _Expr, _Dom> : _UnBase<_Oper, _Dom> { - typedef _Dom _Arg; - typedef _UnBase<_Oper, _Dom> _Base; - typedef typename _Base::value_type value_type; - - _UnClos (const _Arg& __e) : _Base(__e) {} + template<class _Oper, class _Dom> + struct _UnClos<_Oper, _Expr, _Dom> : _UnBase<_Oper, _Dom> + { + typedef _Dom _Arg; + typedef _UnBase<_Oper, _Dom> _Base; + typedef typename _Base::value_type value_type; + + _UnClos(const _Arg& __e) : _Base(__e) {} }; - template<template<class> class _Oper, typename _Tp> - struct _UnClos<_Oper, _ValArray, _Tp> : _UnBase<_Oper, valarray<_Tp> > { - typedef valarray<_Tp> _Arg; - typedef _UnBase<_Oper, valarray<_Tp> > _Base; - typedef typename _Base::value_type value_type; - - _UnClos (const _Arg& __e) : _Base(__e) {} + template<class _Oper, typename _Tp> + struct _UnClos<_Oper, _ValArray, _Tp> : _UnBase<_Oper, valarray<_Tp> > + { + typedef valarray<_Tp> _Arg; + typedef _UnBase<_Oper, valarray<_Tp> > _Base; + typedef typename _Base::value_type value_type; + + _UnClos(const _Arg& __e) : _Base(__e) {} }; - // - // Binary expression closure. - // + // + // Binary expression closure. + // - template<template<class> class _Oper, - typename _FirstArg, typename _SecondArg> - class _BinBase { + template<class _Oper, class _FirstArg, class _SecondArg> + class _BinBase + { public: - typedef _Oper<typename _FirstArg::value_type> _Op; - typedef typename _Op::result_type value_type; + typedef typename _FirstArg::value_type _Vt; + typedef typename __fun<_Oper, _Vt>::result_type value_type; - _BinBase (const _FirstArg& __e1, const _SecondArg& __e2) - : _M_expr1 (__e1), _M_expr2 (__e2) {} - value_type operator[] (size_t) const; - size_t size () const { return _M_expr1.size (); } + _BinBase(const _FirstArg& __e1, const _SecondArg& __e2) + : _M_expr1(__e1), _M_expr2(__e2) {} + + value_type operator[](size_t __i) const + { return _Oper()(_M_expr1[__i], _M_expr2[__i]); } + + size_t size() const { return _M_expr1.size(); } private: - const _FirstArg& _M_expr1; - const _SecondArg& _M_expr2; + const _FirstArg& _M_expr1; + const _SecondArg& _M_expr2; }; - template<template<class> class _Oper, - typename _FirstArg, typename _SecondArg> - inline typename _BinBase<_Oper,_FirstArg,_SecondArg>::value_type - _BinBase<_Oper,_FirstArg,_SecondArg>::operator[] (size_t __i) const - { return _Op() (_M_expr1[__i], _M_expr2[__i]); } - - template<template<class> class _Oper, class _Clos> - class _BinBase2 { + template<class _Oper, class _Clos> + class _BinBase2 + { public: - typedef typename _Clos::value_type _Vt; - typedef _Oper<_Vt> _Op; - typedef typename _Op::result_type value_type; + typedef typename _Clos::value_type _Vt; + typedef typename __fun<_Oper, _Vt>::result_type value_type; - _BinBase2 (const _Clos& __e, const _Vt& __t) - : _M_expr1 (__e), _M_expr2 (__t) {} - value_type operator[] (size_t) const; - size_t size () const { return _M_expr1.size (); } + _BinBase2(const _Clos& __e, const _Vt& __t) + : _M_expr1(__e), _M_expr2(__t) {} - private: - const _Clos& _M_expr1; - const _Vt& _M_expr2; - }; + value_type operator[](size_t __i) const + { return _Oper()(_M_expr1[__i], _M_expr2); } - template<template<class> class _Oper, class _Clos> - inline typename _BinBase2<_Oper,_Clos>::value_type - _BinBase2<_Oper,_Clos>::operator[] (size_t __i) const - { return _Op() (_M_expr1[__i], _M_expr2); } + size_t size() const { return _M_expr1.size(); } + private: + const _Clos& _M_expr1; + const _Vt& _M_expr2; + }; - template<template<class> class _Oper, class _Clos> - class _BinBase1 { + template<class _Oper, class _Clos> + class _BinBase1 + { public: - typedef typename _Clos::value_type _Vt; - typedef _Oper<_Vt> _Op; - typedef typename _Op::result_type value_type; + typedef typename _Clos::value_type _Vt; + typedef typename __fun<_Oper, _Vt>::result_type value_type; + + _BinBase1(const _Vt& __t, const _Clos& __e) + : _M_expr1(__t), _M_expr2(__e) {} - _BinBase1 (const _Vt& __t, const _Clos& __e) - : _M_expr1 (__t), _M_expr2 (__e) {} - value_type operator[] (size_t) const; - size_t size () const { return _M_expr2.size (); } + value_type operator[](size_t __i) const + { return _Oper()(_M_expr1, _M_expr2[__i]); } + + size_t size() const { return _M_expr2.size(); } private: - const _Vt& _M_expr1; - const _Clos& _M_expr2; + const _Vt& _M_expr1; + const _Clos& _M_expr2; }; - - template<template<class> class _Oper, class _Clos> - inline typename - _BinBase1<_Oper,_Clos>::value_type - _BinBase1<_Oper,_Clos>:: operator[] (size_t __i) const - { return _Op() (_M_expr1, _M_expr2[__i]); } - - template<template<class> class _Oper, class _Dom1, class _Dom2> - struct _BinClos<_Oper, _Expr, _Expr, _Dom1, _Dom2> - : _BinBase<_Oper,_Dom1,_Dom2> { - typedef _BinBase<_Oper,_Dom1,_Dom2> _Base; - typedef typename _Base::value_type value_type; + template<class _Oper, class _Dom1, class _Dom2> + struct _BinClos<_Oper, _Expr, _Expr, _Dom1, _Dom2> + : _BinBase<_Oper,_Dom1,_Dom2> + { + typedef _BinBase<_Oper,_Dom1,_Dom2> _Base; + typedef typename _Base::value_type value_type; - _BinClos(const _Dom1& __e1, const _Dom2& __e2) : _Base(__e1, __e2) {} + _BinClos(const _Dom1& __e1, const _Dom2& __e2) : _Base(__e1, __e2) {} }; - template<template<class> class _Oper, typename _Tp> + template<class _Oper, typename _Tp> struct _BinClos<_Oper,_ValArray,_ValArray,_Tp,_Tp> - : _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > { - typedef _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > _Base; - typedef _Tp value_type; + : _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > + { + typedef _BinBase<_Oper,valarray<_Tp>,valarray<_Tp> > _Base; + typedef _Tp value_type; - _BinClos (const valarray<_Tp>& __v, const valarray<_Tp>& __w) - : _Base (__v, __w) {} + _BinClos(const valarray<_Tp>& __v, const valarray<_Tp>& __w) + : _Base(__v, __w) {} }; - template<template<class> class _Oper, class _Dom> - struct _BinClos<_Oper,_Expr,_ValArray,_Dom,typename _Dom::value_type> - : _BinBase<_Oper,_Dom,valarray<typename _Dom::value_type> > { - typedef typename _Dom::value_type _Tp; - typedef _BinBase<_Oper,_Dom,valarray<_Tp> > _Base; - typedef typename _Base::value_type value_type; - - _BinClos(const _Dom& __e1, const valarray<_Tp>& __e2) - : _Base (__e1, __e2) {} + template<class _Oper, class _Dom> + struct _BinClos<_Oper,_Expr,_ValArray,_Dom,typename _Dom::value_type> + : _BinBase<_Oper,_Dom,valarray<typename _Dom::value_type> > + { + typedef typename _Dom::value_type _Tp; + typedef _BinBase<_Oper,_Dom,valarray<_Tp> > _Base; + typedef typename _Base::value_type value_type; + + _BinClos(const _Dom& __e1, const valarray<_Tp>& __e2) + : _Base(__e1, __e2) {} }; - template<template<class> class _Oper, class _Dom> + template<class _Oper, class _Dom> struct _BinClos<_Oper,_ValArray,_Expr,typename _Dom::value_type,_Dom> - : _BinBase<_Oper,valarray<typename _Dom::value_type>,_Dom> { - typedef typename _Dom::value_type _Tp; - typedef _BinBase<_Oper,valarray<_Tp>,_Dom> _Base; - typedef typename _Base::value_type value_type; - - _BinClos (const valarray<_Tp>& __e1, const _Dom& __e2) - : _Base (__e1, __e2) {} + : _BinBase<_Oper,valarray<typename _Dom::value_type>,_Dom> + { + typedef typename _Dom::value_type _Tp; + typedef _BinBase<_Oper,valarray<_Tp>,_Dom> _Base; + typedef typename _Base::value_type value_type; + + _BinClos(const valarray<_Tp>& __e1, const _Dom& __e2) + : _Base(__e1, __e2) {} }; - template<template<class> class _Oper, class _Dom> + template<class _Oper, class _Dom> struct _BinClos<_Oper,_Expr,_Constant,_Dom,typename _Dom::value_type> - : _BinBase2<_Oper,_Dom> { - typedef typename _Dom::value_type _Tp; - typedef _BinBase2<_Oper,_Dom> _Base; - typedef typename _Base::value_type value_type; - - _BinClos (const _Dom& __e1, const _Tp& __e2) : _Base (__e1, __e2) {} + : _BinBase2<_Oper,_Dom> + { + typedef typename _Dom::value_type _Tp; + typedef _BinBase2<_Oper,_Dom> _Base; + typedef typename _Base::value_type value_type; + + _BinClos(const _Dom& __e1, const _Tp& __e2) : _Base(__e1, __e2) {} }; - template<template<class> class _Oper, class _Dom> + template<class _Oper, class _Dom> struct _BinClos<_Oper,_Constant,_Expr,typename _Dom::value_type,_Dom> - : _BinBase1<_Oper,_Dom> { - typedef typename _Dom::value_type _Tp; - typedef _BinBase1<_Oper,_Dom> _Base; - typedef typename _Base::value_type value_type; - - _BinClos (const _Tp& __e1, const _Dom& __e2) : _Base (__e1, __e2) {} + : _BinBase1<_Oper,_Dom> + { + typedef typename _Dom::value_type _Tp; + typedef _BinBase1<_Oper,_Dom> _Base; + typedef typename _Base::value_type value_type; + + _BinClos(const _Tp& __e1, const _Dom& __e2) : _Base(__e1, __e2) {} }; - template<template<class> class _Oper, typename _Tp> + template<class _Oper, typename _Tp> struct _BinClos<_Oper,_ValArray,_Constant,_Tp,_Tp> - : _BinBase2<_Oper,valarray<_Tp> > { - typedef _BinBase2<_Oper,valarray<_Tp> > _Base; - typedef typename _Base::value_type value_type; - - _BinClos (const valarray<_Tp>& __v, const _Tp& __t) - : _Base (__v, __t) {} + : _BinBase2<_Oper,valarray<_Tp> > + { + typedef _BinBase2<_Oper,valarray<_Tp> > _Base; + typedef typename _Base::value_type value_type; + + _BinClos(const valarray<_Tp>& __v, const _Tp& __t) : _Base(__v, __t) {} }; - template<template<class> class _Oper, typename _Tp> + template<class _Oper, typename _Tp> struct _BinClos<_Oper,_Constant,_ValArray,_Tp,_Tp> - : _BinBase1<_Oper,valarray<_Tp> > { - typedef _BinBase1<_Oper,valarray<_Tp> > _Base; - typedef typename _Base::value_type value_type; - - _BinClos (const _Tp& __t, const valarray<_Tp>& __v) - : _Base (__t, __v) {} + : _BinBase1<_Oper,valarray<_Tp> > + { + typedef _BinBase1<_Oper,valarray<_Tp> > _Base; + typedef typename _Base::value_type value_type; + + _BinClos(const _Tp& __t, const valarray<_Tp>& __v) : _Base(__t, __v) {} }; @@ -643,317 +775,261 @@ namespace std : _Base (__a, __i) {} }; - // - // class _Expr - // - template<class _Clos, typename _Tp> class _Expr { + // + // class _Expr + // + template<class _Clos, typename _Tp> + class _Expr + { public: - typedef _Tp value_type; + typedef _Tp value_type; + + _Expr(const _Clos&); + + const _Clos& operator()() const; - _Expr (const _Clos&); - - const _Clos& operator() () const; - - value_type operator[] (size_t) const; - valarray<value_type> operator[] (slice) const; - valarray<value_type> operator[] (const gslice&) const; - valarray<value_type> operator[] (const valarray<bool>&) const; - valarray<value_type> operator[] (const valarray<size_t>&) const; + value_type operator[](size_t) const; + valarray<value_type> operator[](slice) const; + valarray<value_type> operator[](const gslice&) const; + valarray<value_type> operator[](const valarray<bool>&) const; + valarray<value_type> operator[](const valarray<size_t>&) const; - _Expr<_UnClos<_Unary_plus,std::_Expr,_Clos>, value_type> - operator+ () const; + _Expr<_UnClos<__unary_plus,std::_Expr,_Clos>, value_type> + operator+() const; - _Expr<_UnClos<negate,std::_Expr,_Clos>, value_type> - operator- () const; + _Expr<_UnClos<__negate,std::_Expr,_Clos>, value_type> + operator-() const; - _Expr<_UnClos<_Bitwise_not,std::_Expr,_Clos>, value_type> - operator~ () const; + _Expr<_UnClos<__bitwise_not,std::_Expr,_Clos>, value_type> + operator~() const; - _Expr<_UnClos<logical_not,std::_Expr,_Clos>, bool> - operator! () const; + _Expr<_UnClos<__logical_not,std::_Expr,_Clos>, bool> + operator!() const; - size_t size () const; - value_type sum () const; + size_t size() const; + value_type sum() const; - valarray<value_type> shift (int) const; - valarray<value_type> cshift (int) const; + valarray<value_type> shift(int) const; + valarray<value_type> cshift(int) const; value_type min() const; value_type max() const; - valarray<value_type> apply(value_type (*) (const value_type&)) const; - valarray<value_type> apply(value_type (*) (value_type)) const; + valarray<value_type> apply(value_type (*)(const value_type&)) const; + valarray<value_type> apply(value_type (*)(value_type)) const; private: - const _Clos _M_closure; + const _Clos _M_closure; }; - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline - _Expr<_Clos,_Tp>::_Expr (const _Clos& __c) : _M_closure(__c) {} + _Expr<_Clos,_Tp>::_Expr(const _Clos& __c) : _M_closure(__c) {} - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline const _Clos& - _Expr<_Clos,_Tp>::operator() () const + _Expr<_Clos,_Tp>::operator()() const { return _M_closure; } - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline _Tp - _Expr<_Clos,_Tp>::operator[] (size_t __i) const + _Expr<_Clos,_Tp>::operator[](size_t __i) const { return _M_closure[__i]; } - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline valarray<_Tp> - _Expr<_Clos,_Tp>::operator[] (slice __s) const + _Expr<_Clos,_Tp>::operator[](slice __s) const { return _M_closure[__s]; } - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline valarray<_Tp> - _Expr<_Clos,_Tp>::operator[] (const gslice& __gs) const + _Expr<_Clos,_Tp>::operator[](const gslice& __gs) const { return _M_closure[__gs]; } - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline valarray<_Tp> - _Expr<_Clos,_Tp>::operator[] (const valarray<bool>& __m) const + _Expr<_Clos,_Tp>::operator[](const valarray<bool>& __m) const { return _M_closure[__m]; } - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline valarray<_Tp> - _Expr<_Clos,_Tp>::operator[] (const valarray<size_t>& __i) const + _Expr<_Clos,_Tp>::operator[](const valarray<size_t>& __i) const { return _M_closure[__i]; } - template<class _Clos, typename _Tp> + template<class _Clos, typename _Tp> inline size_t - _Expr<_Clos,_Tp>::size () const { return _M_closure.size (); } + _Expr<_Clos,_Tp>::size() const { return _M_closure.size (); } template<class _Clos, typename _Tp> - inline valarray<_Tp> - _Expr<_Clos, _Tp>::shift(int __n) const - { return valarray<_Tp>(_M_closure).shift(__n); } + inline valarray<_Tp> + _Expr<_Clos, _Tp>::shift(int __n) const + { return valarray<_Tp>(_M_closure).shift(__n); } template<class _Clos, typename _Tp> - inline valarray<_Tp> - _Expr<_Clos, _Tp>::cshift(int __n) const - { return valarray<_Tp>(_M_closure).cshift(__n); } + inline valarray<_Tp> + _Expr<_Clos, _Tp>::cshift(int __n) const + { return valarray<_Tp>(_M_closure).cshift(__n); } template<class _Clos, typename _Tp> - inline valarray<_Tp> - _Expr<_Clos, _Tp>::apply(_Tp __f(const _Tp&)) const - { return valarray<_Tp>(_M_closure).apply(__f); } + inline valarray<_Tp> + _Expr<_Clos, _Tp>::apply(_Tp __f(const _Tp&)) const + { return valarray<_Tp>(_M_closure).apply(__f); } template<class _Clos, typename _Tp> - inline valarray<_Tp> - _Expr<_Clos, _Tp>::apply(_Tp __f(_Tp)) const - { return valarray<_Tp>(_M_closure).apply(__f); } + inline valarray<_Tp> + _Expr<_Clos, _Tp>::apply(_Tp __f(_Tp)) const + { return valarray<_Tp>(_M_closure).apply(__f); } - // XXX: replace this with a more robust summation algorithm. - template<class _Clos, typename _Tp> + // XXX: replace this with a more robust summation algorithm. + template<class _Clos, typename _Tp> inline _Tp - _Expr<_Clos,_Tp>::sum () const + _Expr<_Clos,_Tp>::sum() const { - size_t __n = _M_closure.size(); - if (__n == 0) return _Tp(); - else { - _Tp __s = _M_closure[--__n]; - while (__n != 0) __s += _M_closure[--__n]; - return __s; + size_t __n = _M_closure.size(); + if (__n == 0) + return _Tp(); + else + { + _Tp __s = _M_closure[--__n]; + while (__n != 0) + __s += _M_closure[--__n]; + return __s; } } template<class _Clos, typename _Tp> - inline _Tp - _Expr<_Clos, _Tp>::min() const - { return __valarray_min(_M_closure); } + inline _Tp + _Expr<_Clos, _Tp>::min() const + { return __valarray_min(_M_closure); } template<class _Clos, typename _Tp> - inline _Tp - _Expr<_Clos, _Tp>::max() const - { return __valarray_max(_M_closure); } + inline _Tp + _Expr<_Clos, _Tp>::max() const + { return __valarray_max(_M_closure); } - template<class _Dom, typename _Tp> - inline _Expr<_UnClos<logical_not,_Expr,_Dom>, bool> - _Expr<_Dom,_Tp>::operator! () const + template<class _Dom, typename _Tp> + inline _Expr<_UnClos<__logical_not,_Expr,_Dom>, bool> + _Expr<_Dom,_Tp>::operator!() const { - typedef _UnClos<logical_not,std::_Expr,_Dom> _Closure; - return _Expr<_Closure,_Tp> (_Closure(this->_M_closure)); + typedef _UnClos<__logical_not,std::_Expr,_Dom> _Closure; + return _Expr<_Closure,_Tp>(_Closure(this->_M_closure)); } -#define _DEFINE_EXPR_UNARY_OPERATOR(_Op, _Name) \ -template<class _Dom, typename _Tp> \ -inline _Expr<_UnClos<_Name,std::_Expr,_Dom>,_Tp> \ -_Expr<_Dom,_Tp>::operator _Op () const \ -{ \ - typedef _UnClos<_Name,std::_Expr,_Dom> _Closure; \ - return _Expr<_Closure,_Tp> (_Closure (this->_M_closure)); \ -} +#define _DEFINE_EXPR_UNARY_OPERATOR(_Op, _Name) \ + template<class _Dom, typename _Tp> \ + inline _Expr<_UnClos<_Name,std::_Expr,_Dom>,_Tp> \ + _Expr<_Dom,_Tp>::operator _Op() const \ + { \ + typedef _UnClos<_Name,std::_Expr,_Dom> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(this->_M_closure)); \ + } - _DEFINE_EXPR_UNARY_OPERATOR(+, _Unary_plus) - _DEFINE_EXPR_UNARY_OPERATOR(-, negate) - _DEFINE_EXPR_UNARY_OPERATOR(~, _Bitwise_not) + _DEFINE_EXPR_UNARY_OPERATOR(+, __unary_plus) + _DEFINE_EXPR_UNARY_OPERATOR(-, __negate) + _DEFINE_EXPR_UNARY_OPERATOR(~, __bitwise_not) #undef _DEFINE_EXPR_UNARY_OPERATOR #define _DEFINE_EXPR_BINARY_OPERATOR(_Op, _Name) \ -template<class _Dom1, class _Dom2> \ -inline _Expr<_BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2>, \ - typename _Name<typename _Dom1::value_type>::result_type> \ -operator _Op (const _Expr<_Dom1,typename _Dom1::value_type>& __v, \ - const _Expr<_Dom2,typename _Dom2::value_type>& __w) \ -{ \ + template<class _Dom1, class _Dom2> \ + inline _Expr<_BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2>, \ + typename __fun<_Name, typename _Dom1::value_type>::result_type>\ + operator _Op(const _Expr<_Dom1,typename _Dom1::value_type>& __v, \ + const _Expr<_Dom2,typename _Dom2::value_type>& __w) \ + { \ typedef typename _Dom1::value_type _Arg; \ - typedef typename _Name<_Arg>::result_type _Value; \ + typedef typename __fun<_Name, _Arg>::result_type _Value; \ typedef _BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2> _Closure; \ - return _Expr<_Closure,_Value> (_Closure (__v (), __w ())); \ -} \ + return _Expr<_Closure,_Value>(_Closure(__v(), __w())); \ + } \ \ template<class _Dom> \ -inline _Expr<_BinClos<_Name,_Expr,_Constant,_Dom,typename _Dom::value_type>, \ - typename _Name<typename _Dom::value_type>::result_type> \ -operator _Op (const _Expr<_Dom,typename _Dom::value_type>& __v, \ - const typename _Dom::value_type& __t) \ +inline _Expr<_BinClos<_Name,_Expr,_Constant,_Dom,typename _Dom::value_type>,\ + typename __fun<_Name, typename _Dom::value_type>::result_type>\ +operator _Op(const _Expr<_Dom,typename _Dom::value_type>& __v, \ + const typename _Dom::value_type& __t) \ { \ - typedef typename _Dom::value_type _Arg; \ - typedef typename _Name<_Arg>::result_type _Value; \ - typedef _BinClos<_Name,_Expr,_Constant,_Dom,_Arg> _Closure; \ - return _Expr<_Closure,_Value> (_Closure (__v (), __t)); \ + typedef typename _Dom::value_type _Arg; \ + typedef typename __fun<_Name, _Arg>::result_type _Value; \ + typedef _BinClos<_Name,_Expr,_Constant,_Dom,_Arg> _Closure; \ + return _Expr<_Closure,_Value>(_Closure(__v(), __t)); \ } \ \ template<class _Dom> \ -inline _Expr<_BinClos<_Name,_Constant,_Expr,typename _Dom::value_type,_Dom>, \ - typename _Name<typename _Dom::value_type>::result_type> \ -operator _Op (const typename _Dom::value_type& __t, \ - const _Expr<_Dom,typename _Dom::value_type>& __v) \ +inline _Expr<_BinClos<_Name,_Constant,_Expr,typename _Dom::value_type,_Dom>,\ + typename __fun<_Name, typename _Dom::value_type>::result_type>\ +operator _Op(const typename _Dom::value_type& __t, \ + const _Expr<_Dom,typename _Dom::value_type>& __v) \ { \ - typedef typename _Dom::value_type _Arg; \ - typedef typename _Name<_Arg>::result_type _Value; \ - typedef _BinClos<_Name,_Constant,_Expr,_Arg,_Dom> _Closure; \ - return _Expr<_Closure,_Value> (_Closure (__t, __v ())); \ + typedef typename _Dom::value_type _Arg; \ + typedef typename __fun<_Name, _Arg>::result_type _Value; \ + typedef _BinClos<_Name,_Constant,_Expr,_Arg,_Dom> _Closure; \ + return _Expr<_Closure,_Value>(_Closure(__t, __v())); \ } \ \ template<class _Dom> \ -inline _Expr<_BinClos<_Name,_Expr,_ValArray,_Dom,typename _Dom::value_type>, \ - typename _Name<typename _Dom::value_type>::result_type> \ -operator _Op (const _Expr<_Dom,typename _Dom::value_type>& __e, \ - const valarray<typename _Dom::value_type>& __v) \ +inline _Expr<_BinClos<_Name,_Expr,_ValArray,_Dom,typename _Dom::value_type>,\ + typename __fun<_Name, typename _Dom::value_type>::result_type>\ +operator _Op(const _Expr<_Dom,typename _Dom::value_type>& __e, \ + const valarray<typename _Dom::value_type>& __v) \ { \ - typedef typename _Dom::value_type _Arg; \ - typedef typename _Name<_Arg>::result_type _Value; \ - typedef _BinClos<_Name,_Expr,_ValArray,_Dom,_Arg> _Closure; \ - return _Expr<_Closure,_Value> (_Closure (__e (), __v)); \ + typedef typename _Dom::value_type _Arg; \ + typedef typename __fun<_Name, _Arg>::result_type _Value; \ + typedef _BinClos<_Name,_Expr,_ValArray,_Dom,_Arg> _Closure; \ + return _Expr<_Closure,_Value>(_Closure(__e(), __v)); \ } \ \ template<class _Dom> \ -inline _Expr<_BinClos<_Name,_ValArray,_Expr,typename _Dom::value_type,_Dom>, \ - typename _Name<typename _Dom::value_type>::result_type> \ -operator _Op (const valarray<typename _Dom::value_type>& __v, \ - const _Expr<_Dom,typename _Dom::value_type>& __e) \ +inline _Expr<_BinClos<_Name,_ValArray,_Expr,typename _Dom::value_type,_Dom>,\ + typename __fun<_Name, typename _Dom::value_type>::result_type>\ +operator _Op(const valarray<typename _Dom::value_type>& __v, \ + const _Expr<_Dom,typename _Dom::value_type>& __e) \ { \ - typedef typename _Dom::value_type _Tp; \ - typedef typename _Name<_Tp>::result_type _Value; \ - typedef _BinClos<_Name,_ValArray,_Expr,_Tp,_Dom> _Closure; \ - return _Expr<_Closure,_Value> (_Closure (__v, __e ())); \ + typedef typename _Dom::value_type _Tp; \ + typedef typename __fun<_Name, _Tp>::result_type _Value; \ + typedef _BinClos<_Name,_ValArray,_Expr,_Tp,_Dom> _Closure; \ + return _Expr<_Closure,_Value> (_Closure (__v, __e ())); \ } - _DEFINE_EXPR_BINARY_OPERATOR(+, plus) - _DEFINE_EXPR_BINARY_OPERATOR(-, minus) - _DEFINE_EXPR_BINARY_OPERATOR(*, multiplies) - _DEFINE_EXPR_BINARY_OPERATOR(/, divides) - _DEFINE_EXPR_BINARY_OPERATOR(%, modulus) - _DEFINE_EXPR_BINARY_OPERATOR(^, _Bitwise_xor) - _DEFINE_EXPR_BINARY_OPERATOR(&, _Bitwise_and) - _DEFINE_EXPR_BINARY_OPERATOR(|, _Bitwise_or) - _DEFINE_EXPR_BINARY_OPERATOR(<<, _Shift_left) - _DEFINE_EXPR_BINARY_OPERATOR(>>, _Shift_right) + _DEFINE_EXPR_BINARY_OPERATOR(+, __plus) + _DEFINE_EXPR_BINARY_OPERATOR(-, __minus) + _DEFINE_EXPR_BINARY_OPERATOR(*, __multiplies) + _DEFINE_EXPR_BINARY_OPERATOR(/, __divides) + _DEFINE_EXPR_BINARY_OPERATOR(%, __modulus) + _DEFINE_EXPR_BINARY_OPERATOR(^, __bitwise_xor) + _DEFINE_EXPR_BINARY_OPERATOR(&, __bitwise_and) + _DEFINE_EXPR_BINARY_OPERATOR(|, __bitwise_or) + _DEFINE_EXPR_BINARY_OPERATOR(<<, __shift_left) + _DEFINE_EXPR_BINARY_OPERATOR(>>, __shift_right) + _DEFINE_EXPR_BINARY_OPERATOR(&&, __logical_and) + _DEFINE_EXPR_BINARY_OPERATOR(||, __logical_or) + _DEFINE_EXPR_BINARY_OPERATOR(==, __equal_to) + _DEFINE_EXPR_BINARY_OPERATOR(!=, __not_equal_to) + _DEFINE_EXPR_BINARY_OPERATOR(<, __less) + _DEFINE_EXPR_BINARY_OPERATOR(>, __greater) + _DEFINE_EXPR_BINARY_OPERATOR(<=, __less_equal) + _DEFINE_EXPR_BINARY_OPERATOR(>=, __greater_equal) #undef _DEFINE_EXPR_BINARY_OPERATOR - -#define _DEFINE_EXPR_RELATIONAL_OPERATOR(_Op, _Name) \ -template<class _Dom1, class _Dom2> \ -inline _Expr<_BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2>, bool> \ -operator _Op (const _Expr<_Dom1,typename _Dom1::value_type>& __v, \ - const _Expr<_Dom2,typename _Dom2::value_type>& __w) \ -{ \ - typedef typename _Dom1::value_type _Arg; \ - typedef _BinClos<_Name,_Expr,_Expr,_Dom1,_Dom2> _Closure; \ - return _Expr<_Closure,bool> (_Closure (__v (), __w ())); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinClos<_Name,_Expr,_Constant,_Dom,typename _Dom::value_type>, \ - bool> \ -operator _Op (const _Expr<_Dom,typename _Dom::value_type>& __v, \ - const typename _Dom::value_type& __t) \ -{ \ - typedef typename _Dom::value_type _Arg; \ - typedef _BinClos<_Name,_Expr,_Constant,_Dom,_Arg> _Closure; \ - return _Expr<_Closure,bool> (_Closure (__v (), __t)); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinClos<_Name,_Constant,_Expr,typename _Dom::value_type,_Dom>, \ - bool> \ -operator _Op (const typename _Dom::value_type& __t, \ - const _Expr<_Dom,typename _Dom::value_type>& __v) \ -{ \ - typedef typename _Dom::value_type _Arg; \ - typedef _BinClos<_Name,_Constant,_Expr,_Arg,_Dom> _Closure; \ - return _Expr<_Closure,bool> (_Closure (__t, __v ())); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinClos<_Name,_Expr,_ValArray,_Dom,typename _Dom::value_type>, \ - bool> \ -operator _Op (const _Expr<_Dom,typename _Dom::value_type>& __e, \ - const valarray<typename _Dom::value_type>& __v) \ -{ \ - typedef typename _Dom::value_type _Tp; \ - typedef _BinClos<_Name,_Expr,_ValArray,_Dom,_Tp> _Closure; \ - return _Expr<_Closure,bool> (_Closure (__e (), __v)); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinClos<_Name,_ValArray,_Expr,typename _Dom::value_type,_Dom>, \ - bool> \ -operator _Op (const valarray<typename _Dom::value_type>& __v, \ - const _Expr<_Dom,typename _Dom::value_type>& __e) \ -{ \ - typedef typename _Dom::value_type _Tp; \ - typedef _BinClos<_Name,_ValArray,_Expr,_Tp,_Dom> _Closure; \ - return _Expr<_Closure,bool> (_Closure (__v, __e ())); \ -} - - _DEFINE_EXPR_RELATIONAL_OPERATOR(&&, logical_and) - _DEFINE_EXPR_RELATIONAL_OPERATOR(||, logical_or) - _DEFINE_EXPR_RELATIONAL_OPERATOR(==, equal_to) - _DEFINE_EXPR_RELATIONAL_OPERATOR(!=, not_equal_to) - _DEFINE_EXPR_RELATIONAL_OPERATOR(<, less) - _DEFINE_EXPR_RELATIONAL_OPERATOR(>, greater) - _DEFINE_EXPR_RELATIONAL_OPERATOR(<=, less_equal) - _DEFINE_EXPR_RELATIONAL_OPERATOR(>=, greater_equal) - -#undef _DEFINE_EXPR_RELATIONAL_OPERATOR - - - -#define _DEFINE_EXPR_UNARY_FUNCTION(_Name) \ -template<class _Dom> \ -inline _Expr<_UnFunClos<_Expr,_Dom>,typename _Dom::value_type> \ -_Name(const _Expr<_Dom,typename _Dom::value_type>& __e) \ -{ \ - typedef typename _Dom::value_type _Tp; \ - typedef _UnFunClos<_Expr,_Dom> _Closure; \ - return _Expr<_Closure,_Tp>(_Closure(__e(), (_Tp(*)(_Tp))(&_Name))); \ -} \ - \ -template<typename _Tp> \ -inline _Expr<_UnFunClos<_ValArray,_Tp>,_Tp> \ -_Name(const valarray<_Tp>& __v) \ -{ \ - typedef _UnFunClos<_ValArray,_Tp> _Closure; \ - return _Expr<_Closure,_Tp> (_Closure (__v, (_Tp(*)(_Tp))(&_Name))); \ -} +#define _DEFINE_EXPR_UNARY_FUNCTION(_Name) \ + template<class _Dom> \ + inline _Expr<_UnClos<__##_Name,_Expr,_Dom>,typename _Dom::value_type>\ + _Name(const _Expr<_Dom,typename _Dom::value_type>& __e) \ + { \ + typedef typename _Dom::value_type _Tp; \ + typedef _UnClos<__##_Name,_Expr,_Dom> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__e())); \ + } \ + \ + template<typename _Tp> \ + inline _Expr<_UnClos<__##_Name,_ValArray,_Tp>,_Tp> \ + _Name(const valarray<_Tp>& __v) \ + { \ + typedef _UnClos<__##_Name,_ValArray,_Tp> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__v)); \ + } _DEFINE_EXPR_UNARY_FUNCTION(abs) _DEFINE_EXPR_UNARY_FUNCTION(cos) @@ -972,93 +1048,89 @@ _Name(const valarray<_Tp>& __v) \ #undef _DEFINE_EXPR_UNARY_FUNCTION - -#define _DEFINE_EXPR_BINARY_FUNCTION(_Name) \ -template<class _Dom1, class _Dom2> \ -inline _Expr<_BinFunClos<_Expr,_Expr,_Dom1,_Dom2>,typename _Dom1::value_type>\ -_Name (const _Expr<_Dom1,typename _Dom1::value_type>& __e1, \ - const _Expr<_Dom2,typename _Dom2::value_type>& __e2) \ -{ \ - typedef typename _Dom1::value_type _Tp; \ - typedef _BinFunClos<_Expr,_Expr,_Dom1,_Dom2> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__e1 (), __e2 (), (_Tp(*)(_Tp, _Tp))(&_Name))); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinFunClos<_Expr,_ValArray,_Dom,typename _Dom::value_type>, \ - typename _Dom::value_type> \ -_Name (const _Expr<_Dom,typename _Dom::value_type>& __e, \ - const valarray<typename _Dom::value_type>& __v) \ -{ \ - typedef typename _Dom::value_type _Tp; \ - typedef _BinFunClos<_Expr,_ValArray,_Dom,_Tp> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__e (), __v, (_Tp(*)(_Tp, _Tp))(&_Name))); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinFunClos<_ValArray,_Expr,typename _Dom::value_type,_Dom>, \ - typename _Dom::value_type> \ -_Name (const valarray<typename _Dom::valarray>& __v, \ - const _Expr<_Dom,typename _Dom::value_type>& __e) \ -{ \ - typedef typename _Dom::value_type _Tp; \ - typedef _BinFunClos<_ValArray,_Expr,_Tp,_Dom> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__v, __e (), (_Tp(*)(_Tp, _Tp))(&_Name))); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinFunClos<_Expr,_Constant,_Dom,typename _Dom::value_type>, \ - typename _Dom::value_type> \ -_Name (const _Expr<_Dom, typename _Dom::value_type>& __e, \ - const typename _Dom::value_type& __t) \ -{ \ - typedef typename _Dom::value_type _Tp; \ - typedef _BinFunClos<_Expr,_Constant,_Dom,_Tp> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__e (), __t, (_Tp(*)(_Tp, _Tp))(&_Name))); \ -} \ - \ -template<class _Dom> \ -inline _Expr<_BinFunClos<_Constant,_Expr,typename _Dom::value_type,_Dom>, \ - typename _Dom::value_type> \ -_Name (const typename _Dom::value_type& __t, \ - const _Expr<_Dom,typename _Dom::value_type>& __e) \ -{ \ - typedef typename _Dom::value_type _Tp; \ - typedef _BinFunClos<_Constant,_Expr,_Tp,_Dom> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__t, __e (), (_Tp(*)(_Tp, _Tp))(&_Name))); \ -} \ - \ -template<typename _Tp> \ -inline _Expr<_BinFunClos<_ValArray,_ValArray,_Tp,_Tp>, _Tp> \ -_Name (const valarray<_Tp>& __v, const valarray<_Tp>& __w) \ -{ \ - typedef _BinFunClos<_ValArray,_ValArray,_Tp,_Tp> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__v, __w, (_Tp(*)(_Tp,_Tp))(&_Name))); \ -} \ - \ -template<typename _Tp> \ -inline _Expr<_BinFunClos<_ValArray,_Constant,_Tp,_Tp>,_Tp> \ -_Name (const valarray<_Tp>& __v, const _Tp& __t) \ -{ \ - typedef _BinFunClos<_ValArray,_Constant,_Tp,_Tp> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__v, __t, (_Tp(*)(_Tp,_Tp))(&_Name))); \ -} \ - \ -template<typename _Tp> \ -inline _Expr<_BinFunClos<_Constant,_ValArray,_Tp,_Tp>,_Tp> \ -_Name (const _Tp& __t, const valarray<_Tp>& __v) \ -{ \ - typedef _BinFunClos<_Constant,_ValArray,_Tp,_Tp> _Closure; \ - return _Expr<_Closure,_Tp> \ - (_Closure (__t, __v, (_Tp(*)(_Tp,_Tp))(&_Name))); \ -} +#define _DEFINE_EXPR_BINARY_FUNCTION(_Fun) \ + template<class _Dom1, class _Dom2> \ + inline _Expr<_BinClos<__##_Fun,_Expr,_Expr,_Dom1,_Dom2>, \ + typename _Dom1::value_type> \ + _Fun(const _Expr<_Dom1,typename _Dom1::value_type>& __e1, \ + const _Expr<_Dom2,typename _Dom2::value_type>& __e2) \ + { \ + typedef typename _Dom1::value_type _Tp; \ + typedef _BinClos<__##_Fun,_Expr,_Expr,_Dom1,_Dom2> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__e1(), __e2())); \ + } \ + \ + template<class _Dom> \ + inline _Expr<_BinClos<__##_Fun, _Expr, _ValArray, _Dom, \ + typename _Dom::value_type>, \ + typename _Dom::value_type> \ + _Fun(const _Expr<_Dom,typename _Dom::value_type>& __e, \ + const valarray<typename _Dom::value_type>& __v) \ + { \ + typedef typename _Dom::value_type _Tp; \ + typedef _BinClos<__##_Fun, _Expr, _ValArray, _Dom, _Tp> _Closure;\ + return _Expr<_Closure,_Tp>(_Closure(__e(), __v)); \ + } \ + \ + template<class _Dom> \ + inline _Expr<_BinClos<__##_Fun, _ValArray, _Expr, \ + typename _Dom::value_type,_Dom>, \ + typename _Dom::value_type> \ + _Fun(const valarray<typename _Dom::valarray>& __v, \ + const _Expr<_Dom,typename _Dom::value_type>& __e) \ + { \ + typedef typename _Dom::value_type _Tp; \ + typedef _BinClos<__##_Fun,_ValArray,_Expr,_Tp,_Dom> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__v, __e())); \ + } \ + \ + template<class _Dom> \ + inline _Expr<_BinClos<__##_Fun,_Expr,_Constant,_Dom, \ + typename _Dom::value_type>, \ + typename _Dom::value_type> \ + _Fun(const _Expr<_Dom, typename _Dom::value_type>& __e, \ + const typename _Dom::value_type& __t) \ + { \ + typedef typename _Dom::value_type _Tp; \ + typedef _BinClos<__##_Fun,_Expr,_Constant,_Dom,_Tp> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__e(), __t)); \ + } \ + \ + template<class _Dom> \ + inline _Expr<_BinClos<__##_Fun,_Constant,_Expr, \ + typename _Dom::value_type,_Dom>, \ + typename _Dom::value_type> \ + _Fun(const typename _Dom::value_type& __t, \ + const _Expr<_Dom,typename _Dom::value_type>& __e) \ + { \ + typedef typename _Dom::value_type _Tp; \ + typedef _BinClos<__##_Fun, _Constant,_Expr,_Tp,_Dom> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__t, __e())); \ + } \ + \ + template<typename _Tp> \ + inline _Expr<_BinClos<__##_Fun,_ValArray,_ValArray,_Tp,_Tp>, _Tp> \ + _Fun(const valarray<_Tp>& __v, const valarray<_Tp>& __w) \ + { \ + typedef _BinClos<__##_Fun,_ValArray,_ValArray,_Tp,_Tp> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__v, __w)); \ + } \ + \ + template<typename _Tp> \ + inline _Expr<_BinClos<__##_Fun,_ValArray,_Constant,_Tp,_Tp>,_Tp> \ + _Fun(const valarray<_Tp>& __v, const _Tp& __t) \ + { \ + typedef _BinClos<__##_Fun,_ValArray,_Constant,_Tp,_Tp> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__v, __t)); \ + } \ + \ + template<typename _Tp> \ + inline _Expr<_BinClos<__##_Fun,_Constant,_ValArray,_Tp,_Tp>,_Tp> \ + _Fun(const _Tp& __t, const valarray<_Tp>& __v) \ + { \ + typedef _BinClos<__##_Fun,_Constant,_ValArray,_Tp,_Tp> _Closure; \ + return _Expr<_Closure,_Tp>(_Closure(__t, __v)); \ + } _DEFINE_EXPR_BINARY_FUNCTION(atan2) _DEFINE_EXPR_BINARY_FUNCTION(pow) diff --git a/contrib/libstdc++/include/bits/vector.tcc b/contrib/libstdc++/include/bits/vector.tcc new file mode 100644 index 0000000..da5cf7e --- /dev/null +++ b/contrib/libstdc++/include/bits/vector.tcc @@ -0,0 +1,437 @@ +// Vector implementation (out of line) -*- C++ -*- + +// Copyright (C) 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, 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. + +/* + * + * Copyright (c) 1994 + * Hewlett-Packard Company + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Hewlett-Packard Company makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + * + * + * Copyright (c) 1996 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/** @file vector.tcc + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef __GLIBCPP_INTERNAL_VECTOR_TCC +#define __GLIBCPP_INTERNAL_VECTOR_TCC + +namespace std +{ + template<typename _Tp, typename _Alloc> + void + vector<_Tp,_Alloc>:: + reserve(size_type __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); + _M_deallocate(_M_start, _M_end_of_storage - _M_start); + _M_start = __tmp; + _M_finish = __tmp + __old_size; + _M_end_of_storage = _M_start + __n; + } + } + + template<typename _Tp, typename _Alloc> + typename vector<_Tp,_Alloc>::iterator + vector<_Tp,_Alloc>:: + insert(iterator __position, const value_type& __x) + { + size_type __n = __position - begin(); + if (_M_finish != _M_end_of_storage && __position == end()) + { + _Construct(_M_finish, __x); + ++_M_finish; + } + else + _M_insert_aux(__position, __x); + return begin() + __n; + } + + template<typename _Tp, typename _Alloc> + typename vector<_Tp,_Alloc>::iterator + vector<_Tp,_Alloc>:: + erase(iterator __position) + { + if (__position + 1 != end()) + copy(__position + 1, end(), __position); + --_M_finish; + _Destroy(_M_finish); + return __position; + } + + template<typename _Tp, typename _Alloc> + typename vector<_Tp,_Alloc>::iterator + vector<_Tp,_Alloc>:: + erase(iterator __first, iterator __last) + { + iterator __i(copy(__last, end(), __first)); + _Destroy(__i, end()); + _M_finish = _M_finish - (__last - __first); + return __first; + } + + template<typename _Tp, typename _Alloc> + vector<_Tp,_Alloc>& + vector<_Tp,_Alloc>:: + operator=(const vector<_Tp,_Alloc>& __x) + { + if (&__x != this) + { + const size_type __xlen = __x.size(); + if (__xlen > capacity()) + { + pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), __x.end()); + _Destroy(_M_start, _M_finish); + _M_deallocate(_M_start, _M_end_of_storage - _M_start); + _M_start = __tmp; + _M_end_of_storage = _M_start + __xlen; + } + else if (size() >= __xlen) + { + iterator __i(copy(__x.begin(), __x.end(), begin())); + _Destroy(__i, end()); + } + else + { + copy(__x.begin(), __x.begin() + size(), _M_start); + uninitialized_copy(__x.begin() + size(), __x.end(), _M_finish); + } + _M_finish = _M_start + __xlen; + } + return *this; + } + + template<typename _Tp, typename _Alloc> + void + vector<_Tp,_Alloc>:: + _M_fill_assign(size_t __n, const value_type& __val) + { + if (__n > capacity()) + { + vector __tmp(__n, __val, get_allocator()); + __tmp.swap(*this); + } + else if (__n > size()) + { + fill(begin(), end(), __val); + _M_finish = uninitialized_fill_n(_M_finish, __n - size(), __val); + } + else + erase(fill_n(begin(), __n, __val), end()); + } + + template<typename _Tp, typename _Alloc> template<typename _InputIter> + void + vector<_Tp,_Alloc>:: + _M_assign_aux(_InputIter __first, _InputIter __last, input_iterator_tag) + { + iterator __cur(begin()); + for ( ; __first != __last && __cur != end(); ++__cur, ++__first) + *__cur = *__first; + if (__first == __last) + erase(__cur, end()); + else + insert(end(), __first, __last); + } + + template<typename _Tp, typename _Alloc> template<typename _ForwardIter> + void + vector<_Tp,_Alloc>:: + _M_assign_aux(_ForwardIter __first, _ForwardIter __last, + forward_iterator_tag) + { + size_type __len = distance(__first, __last); + + if (__len > capacity()) + { + pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); + _Destroy(_M_start, _M_finish); + _M_deallocate(_M_start, _M_end_of_storage - _M_start); + _M_start = __tmp; + _M_end_of_storage = _M_finish = _M_start + __len; + } + else if (size() >= __len) + { + iterator __new_finish(copy(__first, __last, _M_start)); + _Destroy(__new_finish, end()); + _M_finish = __new_finish.base(); + } + else + { + _ForwardIter __mid = __first; + advance(__mid, size()); + copy(__first, __mid, _M_start); + _M_finish = uninitialized_copy(__mid, __last, _M_finish); + } + } + + template<typename _Tp, typename _Alloc> + void + vector<_Tp,_Alloc>:: + _M_insert_aux(iterator __position, const _Tp& __x) + { + if (_M_finish != _M_end_of_storage) + { + _Construct(_M_finish, *(_M_finish - 1)); + ++_M_finish; + _Tp __x_copy = __x; + copy_backward(__position, iterator(_M_finish-2), iterator(_M_finish-1)); + *__position = __x_copy; + } + else + { + const size_type __old_size = size(); + const size_type __len = __old_size != 0 ? 2 * __old_size : 1; + iterator __new_start(_M_allocate(__len)); + iterator __new_finish(__new_start); + try + { + __new_finish = uninitialized_copy(iterator(_M_start), __position, + __new_start); + _Construct(__new_finish.base(), __x); + ++__new_finish; + __new_finish = uninitialized_copy(__position, iterator(_M_finish), + __new_finish); + } + catch(...) + { + _Destroy(__new_start,__new_finish); + _M_deallocate(__new_start.base(),__len); + __throw_exception_again; + } + _Destroy(begin(), end()); + _M_deallocate(_M_start, _M_end_of_storage - _M_start); + _M_start = __new_start.base(); + _M_finish = __new_finish.base(); + _M_end_of_storage = __new_start.base() + __len; + } + } + + #ifdef _GLIBCPP_DEPRECATED + template<typename _Tp, typename _Alloc> + void + vector<_Tp,_Alloc>:: + _M_insert_aux(iterator __position) + { + if (_M_finish != _M_end_of_storage) + { + _Construct(_M_finish, *(_M_finish - 1)); + ++_M_finish; + copy_backward(__position, iterator(_M_finish - 2), + iterator(_M_finish - 1)); + *__position = value_type(); + } + else + { + const size_type __old_size = size(); + const size_type __len = __old_size != 0 ? 2 * __old_size : 1; + pointer __new_start = _M_allocate(__len); + pointer __new_finish = __new_start; + try + { + __new_finish = uninitialized_copy(iterator(_M_start), __position, + __new_start); + _Construct(__new_finish); + ++__new_finish; + __new_finish = uninitialized_copy(__position, iterator(_M_finish), + __new_finish); + } + catch(...) + { + _Destroy(__new_start,__new_finish); + _M_deallocate(__new_start,__len); + __throw_exception_again; + } + _Destroy(begin(), end()); + _M_deallocate(_M_start, _M_end_of_storage - _M_start); + _M_start = __new_start; + _M_finish = __new_finish; + _M_end_of_storage = __new_start + __len; + } + } + #endif + + template<typename _Tp, typename _Alloc> + void + vector<_Tp,_Alloc>:: + _M_fill_insert(iterator __position, size_type __n, const value_type& __x) + { + if (__n != 0) + { + if (size_type(_M_end_of_storage - _M_finish) >= __n) + { + value_type __x_copy = __x; + const size_type __elems_after = end() - __position; + iterator __old_finish(_M_finish); + if (__elems_after > __n) + { + uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); + _M_finish += __n; + copy_backward(__position, __old_finish - __n, __old_finish); + fill(__position, __position + __n, __x_copy); + } + else + { + uninitialized_fill_n(_M_finish, __n - __elems_after, __x_copy); + _M_finish += __n - __elems_after; + uninitialized_copy(__position, __old_finish, _M_finish); + _M_finish += __elems_after; + fill(__position, __old_finish, __x_copy); + } + } + else + { + const size_type __old_size = size(); + const size_type __len = __old_size + max(__old_size, __n); + iterator __new_start(_M_allocate(__len)); + iterator __new_finish(__new_start); + try + { + __new_finish = uninitialized_copy(begin(), __position, + __new_start); + __new_finish = uninitialized_fill_n(__new_finish, __n, __x); + __new_finish = uninitialized_copy(__position, end(), + __new_finish); + } + catch(...) + { + _Destroy(__new_start,__new_finish); + _M_deallocate(__new_start.base(),__len); + __throw_exception_again; + } + _Destroy(_M_start, _M_finish); + _M_deallocate(_M_start, _M_end_of_storage - _M_start); + _M_start = __new_start.base(); + _M_finish = __new_finish.base(); + _M_end_of_storage = __new_start.base() + __len; + } + } + } + + template<typename _Tp, typename _Alloc> template<typename _InputIterator> + void + vector<_Tp,_Alloc>:: + _M_range_insert(iterator __pos, + _InputIterator __first, _InputIterator __last, + input_iterator_tag) + { + for ( ; __first != __last; ++__first) + { + __pos = insert(__pos, *__first); + ++__pos; + } + } + + template<typename _Tp, typename _Alloc> template<typename _ForwardIterator> + void + vector<_Tp,_Alloc>:: + _M_range_insert(iterator __position,_ForwardIterator __first, + _ForwardIterator __last, forward_iterator_tag) + { + if (__first != __last) + { + size_type __n = distance(__first, __last); + if (size_type(_M_end_of_storage - _M_finish) >= __n) + { + const size_type __elems_after = end() - __position; + iterator __old_finish(_M_finish); + if (__elems_after > __n) + { + uninitialized_copy(_M_finish - __n, _M_finish, _M_finish); + _M_finish += __n; + copy_backward(__position, __old_finish - __n, __old_finish); + copy(__first, __last, __position); + } + else + { + _ForwardIterator __mid = __first; + advance(__mid, __elems_after); + uninitialized_copy(__mid, __last, _M_finish); + _M_finish += __n - __elems_after; + uninitialized_copy(__position, __old_finish, _M_finish); + _M_finish += __elems_after; + copy(__first, __mid, __position); + } + } + else + { + const size_type __old_size = size(); + const size_type __len = __old_size + max(__old_size, __n); + iterator __new_start(_M_allocate(__len)); + iterator __new_finish(__new_start); + try + { + __new_finish = uninitialized_copy(iterator(_M_start), + __position, __new_start); + __new_finish = uninitialized_copy(__first, __last, __new_finish); + __new_finish = uninitialized_copy(__position, iterator(_M_finish), + __new_finish); + } + catch(...) + { + _Destroy(__new_start,__new_finish); + _M_deallocate(__new_start.base(), __len); + __throw_exception_again; + } + _Destroy(_M_start, _M_finish); + _M_deallocate(_M_start, _M_end_of_storage - _M_start); + _M_start = __new_start.base(); + _M_finish = __new_finish.base(); + _M_end_of_storage = __new_start.base() + __len; + } + } + } +} // namespace std + +#endif /* __GLIBCPP_INTERNAL_VECTOR_TCC */ diff --git a/contrib/libstdc++/include/c_std/std_cmath.h b/contrib/libstdc++/include/c_std/std_cmath.h index b2f65c8..1264c4d 100644 --- a/contrib/libstdc++/include/c_std/std_cmath.h +++ b/contrib/libstdc++/include/c_std/std_cmath.h @@ -1,6 +1,6 @@ // -*- C++ -*- C forwarding header. -// 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 @@ -76,6 +76,91 @@ #undef tan #undef tanh +// ...and in the darkness bind them... +namespace __gnu_cxx +{ + namespace __c99_binding + { +#if _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK || \ + _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC + extern "C" float (acosf)(float); + extern "C" float (asinf)(float); + extern "C" float (atanf)(float); + extern "C" float (atan2f)(float, float); + extern "C" float (ceilf)(float); + extern "C" float (coshf)(float); + extern "C" float (expf)(float); + extern "C" float (floorf)(float); + extern "C" float (fmodf)(float, float); + extern "C" float (frexpf)(float, int*); + extern "C" float (ldexpf)(float, int); + extern "C" float (logf)(float); + extern "C" float (log10f)(float); + extern "C" float (modff)(float, float*); + extern "C" float (powf)(float, float); + extern "C" float (sinhf)(float); + extern "C" float (tanf)(float); + extern "C" float (tanhf)(float); +#endif +#if !_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC +#if _GLIBCPP_HAVE_ACOSF + using ::acosf; +#endif +#if _GLIBCPP_HAVE_ASINF + using ::asinf; +#endif +#if _GLIBCPP_HAVE_ATANF + using ::atanf; +#endif +#if _GLIBCPP_HAVE_ATAN2F + using ::atan2f; +#endif +#if _GLIBCPP_HAVE_CEILF + using ::ceilf; +#endif +#if _GLIBCPP_HAVE_COSHF + using ::coshf; +#endif +#if _GLIBCPP_HAVE_EXPF + using ::expf; +#endif +#if _GLIBCPP_HAVE_FLOORF + using ::floorf; +#endif +#if _GLIBCPP_HAVE_FMODF + using ::fmodf; +#endif +#if _GLIBCPP_HAVE_FREXPF + using ::frexpf; +#endif +#if _GLIBCPP_HAVE_LDEXPF + using ::ldexpf; +#endif +#if _GLIBCPP_HAVE_LOGF + using ::logf; +#endif +#if _GLIBCPP_HAVE_LOG10F + using ::log10f; +#endif +#if _GLIBCPP_HAVE_MODFF + using ::modff; +#endif +#if _GLIBCPP_HAVE_POWF + using ::powf; +#endif +#if _GLIBCPP_HAVE_SINHF + using ::sinhf; +#endif +#if _GLIBCPP_HAVE_TANF + using ::tanf; +#endif +#if _GLIBCPP_HAVE_TANHF + using ::tanhf; +#endif +#endif /* _GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC */ + } +} + namespace std { // Forward declaration of a helper function. This really should be @@ -96,7 +181,7 @@ namespace std #if _GLIBCPP_HAVE_ACOSF inline float - acos(float __x) { return ::acosf(__x); } + acos(float __x) { return __gnu_cxx::__c99_binding::acosf(__x); } #else inline float acos(float __x) { return ::acos(static_cast<double>(__x)); } @@ -116,7 +201,7 @@ namespace std #if _GLIBCPP_HAVE_ASINF inline float - asin(float __x) { return ::asinf(__x); } + asin(float __x) { return __gnu_cxx::__c99_binding::asinf(__x); } #else inline float asin(float __x) { return ::asin(static_cast<double>(__x)); } @@ -134,7 +219,7 @@ namespace std #if _GLIBCPP_HAVE_ATANF inline float - atan(float __x) { return ::atanf(__x); } + atan(float __x) { return __gnu_cxx::__c99_binding::atanf(__x); } #else inline float atan(float __x) { return ::atan(static_cast<double>(__x)); } @@ -152,7 +237,7 @@ namespace std #if _GLIBCPP_HAVE_ATAN2F inline float - atan2(float __y, float __x) { return ::atan2f(__y, __x); } + atan2(float __y, float __x) { return __gnu_cxx::__c99_binding::atan2f(__y, __x); } #else inline float atan2(float __y, float __x) @@ -172,7 +257,7 @@ namespace std #if _GLIBCPP_HAVE_CEILF inline float - ceil(float __x) { return ::ceilf(__x); } + ceil(float __x) { return __gnu_cxx::__c99_binding::ceilf(__x); } #else inline float ceil(float __x) { return ::ceil(static_cast<double>(__x)); } @@ -200,7 +285,7 @@ namespace std #if _GLIBCPP_HAVE_COSHF inline float - cosh(float __x) { return ::coshf(__x); } + cosh(float __x) { return __gnu_cxx::__c99_binding::coshf(__x); } #else inline float cosh(float __x) { return ::cosh(static_cast<double>(__x)); } @@ -218,7 +303,7 @@ namespace std #if _GLIBCPP_HAVE_EXPF inline float - exp(float __x) { return ::expf(__x); } + exp(float __x) { return __gnu_cxx::__c99_binding::expf(__x); } #else inline float exp(float __x) { return ::exp(static_cast<double>(__x)); } @@ -246,7 +331,7 @@ namespace std #if _GLIBCPP_HAVE_FLOORF inline float - floor(float __x) { return ::floorf(__x); } + floor(float __x) { return __gnu_cxx::__c99_binding::floorf(__x); } #else inline float floor(float __x) { return ::floor(static_cast<double>(__x)); } @@ -264,7 +349,7 @@ namespace std #if _GLIBCPP_HAVE_FMODF inline float - fmod(float __x, float __y) { return ::fmodf(__x, __y); } + fmod(float __x, float __y) { return __gnu_cxx::__c99_binding::fmodf(__x, __y); } #else inline float fmod(float __x, float __y) @@ -284,7 +369,7 @@ namespace std #if _GLIBCPP_HAVE_FREXPF inline float - frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); } + frexp(float __x, int* __exp) { return __gnu_cxx::__c99_binding::frexpf(__x, __exp); } #else inline float frexp(float __x, int* __exp) { return ::frexp(__x, __exp); } @@ -303,7 +388,7 @@ namespace std #if _GLIBCPP_HAVE_LDEXPF inline float - ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); } + ldexp(float __x, int __exp) { return __gnu_cxx::__c99_binding::ldexpf(__x, __exp); } #else inline float ldexp(float __x, int __exp) @@ -323,7 +408,7 @@ namespace std #if _GLIBCPP_HAVE_LOGF inline float - log(float __x) { return ::logf(__x); } + log(float __x) { return __gnu_cxx::__c99_binding::logf(__x); } #else inline float log(float __x) { return ::log(static_cast<double>(__x)); } @@ -341,7 +426,7 @@ namespace std #if _GLIBCPP_HAVE_LOG10F inline float - log10(float __x) { return ::log10f(__x); } + log10(float __x) { return __gnu_cxx::__c99_binding::log10f(__x); } #else inline float log10(float __x) { return ::log10(static_cast<double>(__x)); } @@ -359,7 +444,7 @@ namespace std #if _GLIBCPP_HAVE_MODFF inline float - modf(float __x, float* __iptr) { return ::modff(__x, __iptr); } + modf(float __x, float* __iptr) { return __gnu_cxx::__c99_binding::modff(__x, __iptr); } #else inline float modf(float __x, float* __iptr) @@ -398,7 +483,7 @@ namespace std #if _GLIBCPP_HAVE_POWF inline float - pow(float __x, float __y) { return ::powf(__x, __y); } + pow(float __x, float __y) { return __gnu_cxx::__c99_binding::powf(__x, __y); } #else inline float pow(float __x, float __y) @@ -440,7 +525,7 @@ namespace std #if _GLIBCPP_HAVE_SINHF inline float - sinh(float __x) { return ::sinhf(__x); } + sinh(float __x) { return __gnu_cxx::__c99_binding::sinhf(__x); } #else inline float sinh(float __x) { return ::sinh(static_cast<double>(__x)); } @@ -468,7 +553,7 @@ namespace std #if _GLIBCPP_HAVE_TANF inline float - tan(float __x) { return ::tanf(__x); } + tan(float __x) { return __gnu_cxx::__c99_binding::tanf(__x); } #else inline float tan(float __x) { return ::tan(static_cast<double>(__x)); } @@ -486,7 +571,7 @@ namespace std #if _GLIBCPP_HAVE_TANHF inline float - tanh(float __x) { return ::tanhf(__x); } + tanh(float __x) { return __gnu_cxx::__c99_binding::tanhf(__x); } #else inline float tanh(float __x) { return ::tanh(static_cast<double>(__x)); } @@ -503,6 +588,7 @@ namespace std #if _GLIBCPP_USE_C99 +#if !_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC // These are possible macros imported from C99-land. For strict // conformance, remove possible C99-injected names from the global // namespace, and sequester them in the __gnu_cxx extension namespace. @@ -561,6 +647,7 @@ namespace __gnu_cxx __capture_isunordered(_Tp __f1, _Tp __f2) { return isunordered(__f1, __f2); } } +#endif /* _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC */ #endif #undef fpclassify @@ -577,6 +664,7 @@ namespace __gnu_cxx #undef isunordered #if _GLIBCPP_USE_C99 +#if !_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC namespace __gnu_cxx { template<typename _Tp> @@ -647,6 +735,7 @@ namespace std using __gnu_cxx::islessgreater; using __gnu_cxx::isunordered; } +#endif /* _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC */ #endif #ifdef _GLIBCPP_NO_TEMPLATE_EXPORT diff --git a/contrib/libstdc++/include/c_std/std_cstdio.h b/contrib/libstdc++/include/c_std/std_cstdio.h index 6fb8c79..3b4a685 100644 --- a/contrib/libstdc++/include/c_std/std_cstdio.h +++ b/contrib/libstdc++/include/c_std/std_cstdio.h @@ -1,6 +1,6 @@ // -*- C++ -*- forwarding header. -// 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 @@ -152,11 +152,24 @@ namespace std namespace __gnu_cxx { +#if _GLIBCPP_USE_C99_CHECK || _GLIBCPP_USE_C99_DYNAMIC + extern "C" int + (snprintf)(char * restrict, size_t, const char * restrict, ...); + extern "C" int + (vfscanf)(FILE * restrict, const char * restrict, __gnuc_va_list); + extern "C" int (vscanf)(const char * restrict, __gnuc_va_list); + extern "C" int + (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list); + extern "C" int + (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list); +#endif +#if !_GLIBCPP_USE_C99_DYNAMIC using ::snprintf; using ::vfscanf; using ::vscanf; using ::vsnprintf; using ::vsscanf; +#endif } namespace std diff --git a/contrib/libstdc++/include/c_std/std_cstdlib.h b/contrib/libstdc++/include/c_std/std_cstdlib.h index 70fc8d3..e1436be 100644 --- a/contrib/libstdc++/include/c_std/std_cstdlib.h +++ b/contrib/libstdc++/include/c_std/std_cstdlib.h @@ -1,6 +1,6 @@ // -*- C++ -*- forwarding header. -// 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 @@ -135,8 +135,15 @@ namespace std namespace __gnu_cxx { +#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC using ::lldiv_t; +#endif +#if _GLIBCPP_USE_C99_CHECK || _GLIBCPP_USE_C99_DYNAMIC + extern "C" void (_Exit)(int); +#endif +#if !_GLIBCPP_USE_C99_DYNAMIC using ::_Exit; +#endif inline long long abs(long long __x) { return __x >= 0 ? __x : -__x; } @@ -144,6 +151,7 @@ namespace __gnu_cxx inline long long llabs(long long __x) { return __x >= 0 ? __x : -__x; } +#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC inline lldiv_t div(long long __n, long long __d) { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } @@ -151,22 +159,36 @@ namespace __gnu_cxx inline lldiv_t lldiv(long long __n, long long __d) { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } +#endif +#if _GLIBCPP_USE_C99_LONG_LONG_CHECK || _GLIBCPP_USE_C99_LONG_LONG_DYNAMIC + extern "C" long long int (atoll)(const char *); + extern "C" long long int + (strtoll)(const char * restrict, char ** restrict, int); + extern "C" unsigned long long int + (strtoull)(const char * restrict, char ** restrict, int); +#endif +#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC using ::atoll; - using ::strtof; using ::strtoll; using ::strtoull; +#endif + using ::strtof; using ::strtold; } namespace std { +#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC using __gnu_cxx::lldiv_t; +#endif using __gnu_cxx::_Exit; using __gnu_cxx::abs; using __gnu_cxx::llabs; +#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC using __gnu_cxx::div; using __gnu_cxx::lldiv; +#endif using __gnu_cxx::atoll; using __gnu_cxx::strtof; using __gnu_cxx::strtoll; diff --git a/contrib/libstdc++/include/c_std/std_cwchar.h b/contrib/libstdc++/include/c_std/std_cwchar.h index f67f006..8b33c52 100644 --- a/contrib/libstdc++/include/c_std/std_cwchar.h +++ b/contrib/libstdc++/include/c_std/std_cwchar.h @@ -1,6 +1,6 @@ // -*- C++ -*- forwarding header. -// 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 @@ -225,9 +225,23 @@ namespace std namespace __gnu_cxx { +#if _GLIBCPP_USE_C99_CHECK || _GLIBCPP_USE_C99_DYNAMIC + extern "C" long double + (wcstold)(const wchar_t * restrict, wchar_t ** restrict); +#endif +#if !_GLIBCPP_USE_C99_DYNAMIC using ::wcstold; +#endif +#if _GLIBCPP_USE_C99_LONG_LONG_CHECK || _GLIBCPP_USE_C99_LONG_LONG_DYNAMIC + extern "C" long long int + (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int); + extern "C" unsigned long long int + (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int); +#endif +#if !_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC using ::wcstoll; using ::wcstoull; +#endif } namespace std diff --git a/contrib/libstdc++/include/ext/stdio_filebuf.h b/contrib/libstdc++/include/ext/stdio_filebuf.h index 59ab41a..4c6bf90 100644 --- a/contrib/libstdc++/include/ext/stdio_filebuf.h +++ b/contrib/libstdc++/include/ext/stdio_filebuf.h @@ -58,6 +58,7 @@ namespace __gnu_cxx typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; + typedef std::size_t size_t; protected: // Stack-based buffer for unbuffered input. @@ -75,7 +76,7 @@ namespace __gnu_cxx * file will be closed when the stdio_filebuf is closed/destroyed. */ stdio_filebuf(int __fd, std::ios_base::openmode __mode, bool __del, - int_type __size); + size_t __size); /** * @param f An open @c FILE*. @@ -88,7 +89,7 @@ namespace __gnu_cxx * stdio_filebuf is closed/destroyed. */ stdio_filebuf(std::__c_file* __f, std::ios_base::openmode __mode, - int_type __size = static_cast<int_type>(BUFSIZ)); + size_t __size = static_cast<size_t>(BUFSIZ)); /** * Possibly closes the external data stream, in the case of the file @@ -117,7 +118,7 @@ namespace __gnu_cxx template<typename _CharT, typename _Traits> stdio_filebuf<_CharT, _Traits>:: stdio_filebuf(int __fd, std::ios_base::openmode __mode, bool __del, - int_type __size) + size_t __size) { _M_file.sys_open(__fd, __mode, __del); if (this->is_open()) @@ -125,7 +126,7 @@ namespace __gnu_cxx _M_mode = __mode; if (__size > 0 && __size < 4) { - // Specify unbuffered. + // Specify not to use an allocated buffer. _M_buf = _M_unbuf; _M_buf_size = __size; _M_buf_size_opt = 0; @@ -142,7 +143,7 @@ namespace __gnu_cxx template<typename _CharT, typename _Traits> stdio_filebuf<_CharT, _Traits>:: stdio_filebuf(std::__c_file* __f, std::ios_base::openmode __mode, - int_type __size) + size_t __size) { _M_file.sys_open(__f, __mode); if (this->is_open()) @@ -150,7 +151,7 @@ namespace __gnu_cxx _M_mode = __mode; if (__size > 0 && __size < 4) { - // Specify unbuffered. + // Specify not to use an allocated buffer. _M_buf = _M_unbuf; _M_buf_size = __size; _M_buf_size_opt = 0; diff --git a/contrib/libstdc++/include/ext/stl_hashtable.h b/contrib/libstdc++/include/ext/stl_hashtable.h index 2bc8a2f..b41c821 100644 --- a/contrib/libstdc++/include/ext/stl_hashtable.h +++ b/contrib/libstdc++/include/ext/stl_hashtable.h @@ -65,13 +65,10 @@ // Hashtable class, used to implement the hashed associative containers // hash_set, hash_map, hash_multiset, and hash_multimap. -#include <bits/stl_algobase.h> -#include <bits/stl_alloc.h> -#include <bits/stl_construct.h> +#include <vector> +#include <iterator> #include <bits/stl_algo.h> -#include <bits/stl_uninitialized.h> #include <bits/stl_function.h> -#include <bits/stl_vector.h> #include <ext/stl_hash_fun.h> namespace __gnu_cxx diff --git a/contrib/libstdc++/include/std/std_bitset.h b/contrib/libstdc++/include/std/std_bitset.h index fe60b01..ebe1650 100644 --- a/contrib/libstdc++/include/std/std_bitset.h +++ b/contrib/libstdc++/include/std/std_bitset.h @@ -219,7 +219,7 @@ namespace std void _Base_bitset<_Nw>::_M_do_left_shift(size_t __shift) { - if (__shift != 0) + if (__builtin_expect(__shift != 0, 1)) { const size_t __wshift = __shift / _GLIBCPP_BITSET_BITS_PER_WORD; const size_t __offset = __shift % _GLIBCPP_BITSET_BITS_PER_WORD; @@ -244,7 +244,7 @@ namespace std void _Base_bitset<_Nw>::_M_do_right_shift(size_t __shift) { - if (__shift != 0) + if (__builtin_expect(__shift != 0, 1)) { const size_t __wshift = __shift / _GLIBCPP_BITSET_BITS_PER_WORD; const size_t __offset = __shift % _GLIBCPP_BITSET_BITS_PER_WORD; @@ -570,6 +570,7 @@ namespace std struct _Sanitize<0> { static void _S_do_sanitize(unsigned long) { } }; + /** * @brief The %bitset class represents a @e fixed-size sequence of bits. * @@ -578,17 +579,19 @@ namespace std * (Note that %bitset does @e not meet the formal requirements of a * <a href="tables.html#65">container</a>. Mainly, it lacks iterators.) * - * The template argument, @a _Nb, may be any nonzero number of type - * size_t. + * The template argument, @a Nb, may be any non-negative number, + * specifying the number of bits (e.g., "0", "12", "1024*1024"). * - * A %bitset of size N has N % (sizeof(unsigned long) * CHAR_BIT) unused - * bits. (They are the high-order bits in the highest word.) It is - * a class invariant that those unused bits are always zero. + * In the general unoptimized case, storage is allocated in word-sized + * blocks. Let B be the number of bits in a word, then (Nb+(B-1))/B + * words will be used for storage. B - Nb%B bits are unused. (They are + * the high-order bits in the highest word.) It is a class invariant + * that those unused bits are always zero. * * If you think of %bitset as "a simple array of bits," be aware that * your mental picture is reversed: a %bitset behaves the same way as * bits in integers do, with the bit at index 0 in the "least significant - * / right-hand" position, and the bit at index N-1 in the "most + * / right-hand" position, and the bit at index Nb-1 in the "most * significant / left-hand" position. Thus, unlike other containers, a * %bitset's index "counts from right to left," to put it very loosely. * @@ -619,6 +622,7 @@ namespace std * @endcode * * Also see http://gcc.gnu.org/onlinedocs/libstdc++/ext/sgiexts.html#ch23 + * for a description of extensions. * * @if maint * Most of the actual code isn't contained in %bitset<> itself, but in the @@ -805,16 +809,26 @@ namespace std bitset<_Nb>& operator<<=(size_t __pos) { - this->_M_do_left_shift(__pos); - this->_M_do_sanitize(); + if (__builtin_expect(__pos < _Nb, 1)) + { + this->_M_do_left_shift(__pos); + this->_M_do_sanitize(); + } + else + this->_M_do_reset(); return *this; } bitset<_Nb>& operator>>=(size_t __pos) { - this->_M_do_right_shift(__pos); - this->_M_do_sanitize(); + if (__builtin_expect(__pos < _Nb, 1)) + { + this->_M_do_right_shift(__pos); + this->_M_do_sanitize(); + } + else + this->_M_do_reset(); return *this; } //@} @@ -1183,6 +1197,7 @@ namespace std typename basic_istream<_CharT, _Traits>::sentry __sentry(__is); if (__sentry) { + ios_base::iostate __state = ios_base::goodbit; basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf(); for (size_t __i = 0; __i < _Nb; ++__i) { @@ -1191,7 +1206,7 @@ namespace std typename _Traits::int_type __c1 = __buf->sbumpc(); if (_Traits::eq_int_type(__c1, __eof)) { - __is.setstate(ios_base::eofbit); + __state |= ios_base::eofbit; break; } else @@ -1201,19 +1216,21 @@ namespace std if (__c == '0' || __c == '1') __tmp.push_back(__c); - else if (_Traits::eq_int_type(__buf->sputbackc(__c2), - __eof)) + else if (_Traits::eq_int_type(__buf->sputbackc(__c2), __eof)) { - __is.setstate(ios_base::failbit); + __state |= ios_base::failbit; break; } } } if (__tmp.empty() && !_Nb) - __is.setstate(ios_base::failbit); + __state |= ios_base::failbit; else __x._M_copy_from_string(__tmp, static_cast<size_t>(0), _Nb); + + if (__state != ios_base::goodbit) + __is.setstate(__state); // may throw an exception } return __is; diff --git a/contrib/libstdc++/include/std/std_complex.h b/contrib/libstdc++/include/std/std_complex.h index bcfcedd..252070b 100644 --- a/contrib/libstdc++/include/std/std_complex.h +++ b/contrib/libstdc++/include/std/std_complex.h @@ -390,7 +390,7 @@ namespace std __s.flags(__os.flags()); __s.imbue(__os.getloc()); __s.precision(__os.precision()); - __s << '(' << __x.real() << "," << __x.imag() << ')'; + __s << '(' << __x.real() << ',' << __x.imag() << ')'; return __os << __s.str(); } @@ -456,7 +456,7 @@ namespace std inline _Tp norm(const complex<_Tp>& __z) { - return _Norm_helper<__is_floating<_Tp>::_M_type>::_S_do_it(__z); + return _Norm_helper<__is_floating<_Tp>::_M_type && !_GLIBCPP_FAST_MATH>::_S_do_it(__z); } template<typename _Tp> @@ -565,24 +565,30 @@ namespace std } template<typename _Tp> - inline complex<_Tp> + complex<_Tp> pow(const complex<_Tp>& __x, const _Tp& __y) { - return exp(__y * log(__x)); + if (__x.imag() == _Tp()) + return pow(__x.real(), __y); + + complex<_Tp> __t = log(__x); + return polar(exp(__y * __t.real()), __y * __t.imag()); } template<typename _Tp> inline complex<_Tp> pow(const complex<_Tp>& __x, const complex<_Tp>& __y) { - return exp(__y * log(__x)); + return __x == _Tp() ? _Tp() : exp(__y * log(__x)); } template<typename _Tp> inline complex<_Tp> pow(const _Tp& __x, const complex<_Tp>& __y) { - return exp(__y * log(__x)); + return __x == _Tp() + ? _Tp() + : polar(pow(__x, __y.real()), __y.imag() * log(__x)); } // 26.2.3 complex specializations diff --git a/contrib/libstdc++/include/std/std_deque.h b/contrib/libstdc++/include/std/std_deque.h index 0fca0d1..921c25f 100644 --- a/contrib/libstdc++/include/std/std_deque.h +++ b/contrib/libstdc++/include/std/std_deque.h @@ -70,8 +70,9 @@ #include <bits/stl_uninitialized.h> #include <bits/stl_deque.h> +#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT +# include <bits/deque.tcc> +#endif + #endif /* _CPP_DEQUE */ -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/std/std_fstream.h b/contrib/libstdc++/include/std/std_fstream.h index 838b99d..bcbbb97 100644 --- a/contrib/libstdc++/include/std/std_fstream.h +++ b/contrib/libstdc++/include/std/std_fstream.h @@ -50,6 +50,15 @@ namespace std { + // [27.8.1.1] template class basic_filebuf + /** + * @brief The actual work of input and output (for files). + * + * This class associates both its input and output sequence with an + * external disk file, and maintains a joint file position for both + * sequences. Many of its sematics are described in terms of similar + * behavior in the Standard C Library's @c FILE streams. + */ template<typename _CharT, typename _Traits> class basic_filebuf : public basic_streambuf<_CharT, _Traits> { @@ -61,30 +70,55 @@ namespace std typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; - // Non-standard Types: + //@{ + /** + * @if maint + * @doctodo + * @endif + */ typedef basic_streambuf<char_type, traits_type> __streambuf_type; typedef basic_filebuf<char_type, traits_type> __filebuf_type; typedef __basic_file<char> __file_type; typedef typename traits_type::state_type __state_type; typedef codecvt<char_type, char, __state_type> __codecvt_type; - typedef typename __codecvt_type::result __res_type; typedef ctype<char_type> __ctype_type; + //@} friend class ios_base; // For sync_with_stdio. protected: // Data Members: // MT lock inherited from libio or other low-level io library. + /** + * @if maint + * @doctodo + * @endif + */ __c_lock _M_lock; // External buffer. + /** + * @if maint + * @doctodo + * @endif + */ __file_type _M_file; // Current and beginning state type for codecvt. + /** + * @if maint + * @doctodo + * @endif + */ __state_type _M_state_cur; __state_type _M_state_beg; // Set iff _M_buf is allocated memory from _M_allocate_internal_buffer. + /** + * @if maint + * @doctodo + * @endif + */ bool _M_buf_allocated; // XXX Needed? @@ -92,12 +126,26 @@ namespace std // The position in the buffer corresponding to the external file // pointer. + /** + * @if maint + * @doctodo + * @endif + */ char_type* _M_filepos; public: // Constructors/destructor: + /** + * @brief Does not open any files. + * + * The default constructor initializes the parent class using its + * own default ctor. + */ basic_filebuf(); + /** + * @brief The destructor closes the file first. + */ virtual ~basic_filebuf() { @@ -106,23 +154,61 @@ namespace std } // Members: + /** + * @brief Returns true if the external file is open. + */ bool - is_open() const { return _M_file.is_open(); } + is_open() const throw() { return _M_file.is_open(); } + /** + * @brief Opens an external file. + * @param s The name of the file. + * @param mode The open mode flags. + * @return @c this on success, NULL on failure + * + * If a file is already open, this function immediately fails. + * Otherwise it tries to open the file named @a s using the flags + * given in @a mode. + * + * [Table 92 gives the relation between openmode combinations and the + * equivalent fopen() flags, but the table has not been copied yet.] + */ __filebuf_type* open(const char* __s, ios_base::openmode __mode); + /** + * @brief Closes the currently associated file. + * @return @c this on success, NULL on failure + * + * If no file is currently open, this function immediately fails. + * + * If a "put buffer area" exists, @c overflow(eof) is called to flush + * all the characters. The file is then closed. + * + * If any operations fail, this function also fails. + */ __filebuf_type* - close(); + close() throw(); protected: + /** + * @if maint + * @doctodo + * @endif + */ void _M_allocate_internal_buffer(); + /** + * @if maint + * @doctodo + * @endif + */ void - _M_destroy_internal_buffer(); + _M_destroy_internal_buffer() throw(); - // Overridden virtual functions: + // [27.8.1.4] overridden virtual functions + // [documentation is inherited] virtual streamsize showmanyc(); @@ -137,15 +223,23 @@ namespace std // the underflow() case in order to maintain synchronization. So // instead of calling underflow() from uflow(), we create a common // subroutine to do the real work. + /** + * @if maint + * @doctodo + * @endif + */ int_type _M_underflow_common(bool __bump); + // [documentation is inherited] virtual int_type underflow(); + // [documentation is inherited] virtual int_type uflow(); + // [documentation is inherited] virtual int_type pbackfail(int_type __c = _Traits::eof()); @@ -157,6 +251,8 @@ namespace std // this in actuality be a helper function that checks for the // eccentricities of this implementation, and then call // overflow() if indeed the buffer is full. + + // [documentation is inherited] virtual int_type overflow(int_type __c = _Traits::eof()); @@ -167,28 +263,54 @@ namespace std // character c. // 27.5.2.4.5 // Consume some sequence of the characters in the pending sequence. + /** + * @if maint + * @doctodo + * @endif + */ int_type _M_really_overflow(int_type __c = _Traits::eof()); // Convert internal byte sequence to external, char-based // sequence via codecvt. + /** + * @if maint + * @doctodo + * @endif + */ void _M_convert_to_external(char_type*, streamsize, streamsize&, streamsize&); + /** + * @brief Manipulates the buffer. + * @param s Pointer to a buffer area. + * @param n Size of @a s. + * @return @c this + * + * If no file has been opened, and both @a s and @a n are zero, then + * the stream becomes unbuffered. Otherwise, @c s is used as a + * buffer; see + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 + * for more. + */ virtual __streambuf_type* setbuf(char_type* __s, streamsize __n); + // [documentation is inherited] virtual pos_type seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out); + // [documentation is inherited] virtual pos_type seekpos(pos_type __pos, ios_base::openmode __mode = ios_base::in | ios_base::out); + // [documentation is inherited] virtual int sync() { + int __ret = 0; bool __testput = _M_out_cur && _M_out_beg < _M_out_end; // Make sure that the internal buffer resyncs its idea of @@ -197,19 +319,26 @@ namespace std { // Need to restore current position after the write. off_type __off = _M_out_cur - _M_out_end; - _M_really_overflow(); // _M_file.sync() will be called within - if (__off) + + // _M_file.sync() will be called within + if (traits_type::eq_int_type(_M_really_overflow(), + traits_type::eof())) + __ret = -1; + else if (__off) _M_file.seekoff(__off, ios_base::cur); } else _M_file.sync(); + _M_last_overflowed = false; - return 0; + return __ret; } + // [documentation is inherited] virtual void imbue(const locale& __loc); + // [documentation is inherited] virtual streamsize xsgetn(char_type* __s, streamsize __n) { @@ -231,6 +360,7 @@ namespace std return __ret; } + // [documentation is inherited] virtual streamsize xsputn(const char_type* __s, streamsize __n) { @@ -238,6 +368,11 @@ namespace std return __streambuf_type::xsputn(__s, __n); } + /** + * @if maint + * @doctodo + * @endif + */ void _M_output_unshift(); @@ -248,6 +383,11 @@ namespace std // internal buffer does not truly reflect the contents of the // external buffer. At this point, for whatever reason, it is in // an indeterminate state. + /** + * @if maint + * @doctodo + * @endif + */ void _M_set_indeterminate(void) { @@ -258,6 +398,11 @@ namespace std _M_filepos = _M_buf; } + /** + * @if maint + * @doctodo + * @endif + */ void _M_set_determinate(off_type __off) { @@ -270,6 +415,11 @@ namespace std _M_filepos = _M_buf + __off; } + /** + * @if maint + * @doctodo + * @endif + */ bool _M_is_indeterminate(void) { @@ -286,7 +436,7 @@ namespace std } }; - // Explicit specializations. + // Explicit specialization declarations, defined in src/fstream.cc. template<> basic_filebuf<char>::int_type basic_filebuf<char>::_M_underflow_common(bool __bump); @@ -299,19 +449,24 @@ namespace std // Generic definitions. template <typename _CharT, typename _Traits> - basic_filebuf<_CharT, _Traits>::int_type + typename 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 + typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>::uflow() { return _M_underflow_common(true); } - // 27.8.1.5 Template class basic_ifstream + // [27.8.1.5] Template class basic_ifstream /** - * Derivation of general input streams, specific to files. + * @brief Controlling input for files. + * + * This class supports reading from named files, using the inherited + * functions from std::basic_istream. To control the associated + * sequence, an instance of std::basic_filebuf is used, which this page + * refers to as @c sb. */ template<typename _CharT, typename _Traits> class basic_ifstream : public basic_istream<_CharT, _Traits> @@ -329,20 +484,33 @@ namespace std typedef basic_istream<char_type, traits_type> __istream_type; private: + /** + * @if maint + * @doctodo + * @endif + */ __filebuf_type _M_filebuf; public: - // Constructors/Destructors: - /** Default constructor. Create an input file stream. */ + // Constructors/Destructors: + /** + * @brief Default constructor. + * + * Initializes @c sb using its default constructor, and passes + * @c &sb to the base class initializer. Does not open any files + * (you haven't given it a filename to open). + */ basic_ifstream() : __istream_type(NULL), _M_filebuf() { this->init(&_M_filebuf); } /** - * @brief Create an input file stream. - * @param s Null terminated string specifying filename. + * @brief Create an input file stream. + * @param s Null terminated string specifying the filename. * @param mode Open file in specified mode (see std::ios_base). * + * @c ios_base::in is automatically included in @a mode. + * * Tip: When using std::string to hold the filename, you must use * .c_str() before passing it to this constructor. */ @@ -354,21 +522,44 @@ namespace std this->open(__s, __mode); } + /** + * @brief The destructor does nothing. + * + * The file is closed by the filebuf object, not the formatting + * stream. + */ ~basic_ifstream() { } // Members: /** - * @brief Get a pointer to the file stream's buffer. - * @return Pointer to basic_filebuf. + * @brief Accessing the underlying buffer. + * @return The current basic_filebuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). */ __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } + /** + * @brief Wrapper to test for an open file. + * @return @c rdbuf()->is_open() + */ bool is_open() { return _M_filebuf.is_open(); } + /** + * @brief Opens an external file. + * @param s The name of the file. + * @param mode The open mode flags. + * + * Calls @c std::basic_filebuf::open(s,mode|in). If that function + * fails, @c failbit is set in the stream's error state. + * + * Tip: When using std::string to hold the filename, you must use + * .c_str() before passing it to this constructor. + */ void open(const char* __s, ios_base::openmode __mode = ios_base::in) { @@ -376,7 +567,12 @@ namespace std this->setstate(ios_base::failbit); } - /** Close the file. */ + /** + * @brief Close the file. + * + * Calls @c std::basic_filebuf::close(). If that function + * fails, @c failbit is set in the stream's error state. + */ void close() { @@ -386,9 +582,14 @@ namespace std }; - // 27.8.1.8 Template class basic_ofstream + // [27.8.1.8] Template class basic_ofstream /** - * Derivation of general output streams, specific to files. + * @brief Controlling output for files. + * + * This class supports reading from named files, using the inherited + * functions from std::basic_ostream. To control the associated + * sequence, an instance of std::basic_filebuf is used, which this page + * refers to as @c sb. */ template<typename _CharT, typename _Traits> class basic_ofstream : public basic_ostream<_CharT,_Traits> @@ -406,20 +607,34 @@ namespace std typedef basic_ostream<char_type, traits_type> __ostream_type; private: + /** + * @if maint + * @doctodo + * @endif + */ __filebuf_type _M_filebuf; public: // Constructors: - /** Default constructor for output file_stream. */ + /** + * @brief Default constructor. + * + * Initializes @c sb using its default constructor, and passes + * @c &sb to the base class initializer. Does not open any files + * (you haven't given it a filename to open). + */ basic_ofstream() : __ostream_type(NULL), _M_filebuf() { this->init(&_M_filebuf); } /** - * @brief Create an output stream. - * @param s Null terminated string specifying filename. + * @brief Create an output file stream. + * @param s Null terminated string specifying the filename. * @param mode Open file in specified mode (see std::ios_base). * + * @c ios_base::out|ios_base::trunc is automatically included in + * @a mode. + * * Tip: When using std::string to hold the filename, you must use * .c_str() before passing it to this constructor. */ @@ -432,29 +647,40 @@ namespace std this->open(__s, __mode); } + /** + * @brief The destructor does nothing. + * + * The file is closed by the filebuf object, not the formatting + * stream. + */ ~basic_ofstream() { } // Members: /** - * @brief Get a pointer to the file stream's buffer. - * @return Pointer to basic_filebuf. + * @brief Accessing the underlying buffer. + * @return The current basic_filebuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). */ __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } /** - * @brief Query to see if file stream is open. - * @return True if stream is open. + * @brief Wrapper to test for an open file. + * @return @c rdbuf()->is_open() */ bool is_open() { return _M_filebuf.is_open(); } /** - * @brief Specify a file to open for output. - * @param s Null terminated string specifying filename. - * @param mode Mode in which to open file (see std::ios_base). + * @brief Opens an external file. + * @param s The name of the file. + * @param mode The open mode flags. + * + * Calls @c std::basic_filebuf::open(s,mode|out|trunc). If that + * function fails, @c failbit is set in the stream's error state. * * Tip: When using std::string to hold the filename, you must use * .c_str() before passing it to this constructor. @@ -467,7 +693,12 @@ namespace std this->setstate(ios_base::failbit); } - /** Close the file stream. */ + /** + * @brief Close the file. + * + * Calls @c std::basic_filebuf::close(). If that function + * fails, @c failbit is set in the stream's error state. + */ void close() { @@ -477,9 +708,14 @@ namespace std }; - // 27.8.1.11 Template class basic_fstream + // [27.8.1.11] Template class basic_fstream /** - * Derivation of general input/output streams, specific to files. + * @brief Controlling intput and output for files. + * + * This class supports reading from and writing to named files, using + * the inherited functions from std::basic_iostream. To control the + * associated sequence, an instance of std::basic_filebuf is used, which + * this page refers to as @c sb. */ template<typename _CharT, typename _Traits> class basic_fstream : public basic_iostream<_CharT, _Traits> @@ -498,18 +734,29 @@ namespace std typedef basic_iostream<char_type, traits_type> __iostream_type; private: + /** + * @if maint + * @doctodo + * @endif + */ __filebuf_type _M_filebuf; public: // Constructors/destructor: - /** Default constructor. Create a file stream. */ + /** + * @brief Default constructor. + * + * Initializes @c sb using its default constructor, and passes + * @c &sb to the base class initializer. Does not open any files + * (you haven't given it a filename to open). + */ basic_fstream() : __iostream_type(NULL), _M_filebuf() { this->init(&_M_filebuf); } /** - * @brief Create an input/output stream. - * @param s Null terminated string specifying filename. + * @brief Create an input/output file stream. + * @param s Null terminated string specifying the filename. * @param mode Open file in specified mode (see std::ios_base). * * Tip: When using std::string to hold the filename, you must use @@ -524,29 +771,40 @@ namespace std this->open(__s, __mode); } + /** + * @brief The destructor does nothing. + * + * The file is closed by the filebuf object, not the formatting + * stream. + */ ~basic_fstream() { } // Members: /** - * @brief Get a pointer to the file stream's buffer. - * @return Pointer to basic_filebuf. + * @brief Accessing the underlying buffer. + * @return The current basic_filebuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). */ __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } /** - * @brief Query to see if file stream is open. - * @return True if stream is open. + * @brief Wrapper to test for an open file. + * @return @c rdbuf()->is_open() */ bool is_open() { return _M_filebuf.is_open(); } /** - * @brief Specify a file to open for input and/or output. - * @param s Null terminated string specifying filename. - * @param mode Mode in which to open file (see std::ios_base). + * @brief Opens an external file. + * @param s The name of the file. + * @param mode The open mode flags. + * + * Calls @c std::basic_filebuf::open(s,mode). If that + * function fails, @c failbit is set in the stream's error state. * * Tip: When using std::string to hold the filename, you must use * .c_str() before passing it to this constructor. @@ -559,7 +817,12 @@ namespace std setstate(ios_base::failbit); } - /** Close the file stream. */ + /** + * @brief Close the file. + * + * Calls @c std::basic_filebuf::close(). If that function + * fails, @c failbit is set in the stream's error state. + */ void close() { diff --git a/contrib/libstdc++/include/std/std_iomanip.h b/contrib/libstdc++/include/std/std_iomanip.h index 23237ce..490d5ac 100644 --- a/contrib/libstdc++/include/std/std_iomanip.h +++ b/contrib/libstdc++/include/std/std_iomanip.h @@ -1,6 +1,7 @@ // Standard stream manipulators -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -47,8 +48,18 @@ namespace std { + // [27.6.3] standard manipulators + // Also see DR 183. + struct _Resetiosflags { ios_base::fmtflags _M_mask; }; + /** + * @brief Manipulator for @c setf. + * @param mask A format flags mask. + * + * Sent to a stream object, this manipulator resets the specified flags, + * via @e stream.setf(0,mask). + */ inline _Resetiosflags resetiosflags(ios_base::fmtflags __mask) { @@ -76,6 +87,13 @@ namespace std struct _Setiosflags { ios_base::fmtflags _M_mask; }; + /** + * @brief Manipulator for @c setf. + * @param mask A format flags mask. + * + * Sent to a stream object, this manipulator sets the format flags + * to @a mask. + */ inline _Setiosflags setiosflags(ios_base::fmtflags __mask) { @@ -103,6 +121,14 @@ namespace std struct _Setbase { int _M_base; }; + /** + * @brief Manipulator for @c setf. + * @param base A numeric base. + * + * Sent to a stream object, this manipulator changes the + * @c ios_base::basefield flags to @c oct, @c dec, or @c hex when @a base + * is 8, 10, or 16, accordingly, and to 0 if @a base is any other value. + */ inline _Setbase setbase(int __base) { @@ -137,6 +163,13 @@ namespace std template<typename _CharT> struct _Setfill { _CharT _M_c; }; + /** + * @brief Manipulator for @c fill. + * @param c The new fill character. + * + * Sent to a stream object, this manipulator calls @c fill(c) for that + * object. + */ template<typename _CharT> inline _Setfill<_CharT> setfill(_CharT __c) @@ -165,6 +198,13 @@ namespace std struct _Setprecision { int _M_n; }; + /** + * @brief Manipulator for @c precision. + * @param n The new precision. + * + * Sent to a stream object, this manipulator calls @c precision(n) for + * that object. + */ inline _Setprecision setprecision(int __n) { @@ -192,6 +232,13 @@ namespace std struct _Setw { int _M_n; }; + /** + * @brief Manipulator for @c width. + * @param n The new width. + * + * Sent to a stream object, this manipulator calls @c width(n) for + * that object. + */ inline _Setw setw(int __n) { @@ -219,6 +266,7 @@ namespace std // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. // NB: This syntax is a GNU extension. +#if _GLIBCPP_EXTERN_TEMPLATE extern template ostream& operator<<(ostream&, _Setfill<char>); extern template ostream& operator<<(ostream&, _Setiosflags); extern template ostream& operator<<(ostream&, _Resetiosflags); @@ -246,6 +294,7 @@ namespace std extern template wistream& operator>>(wistream&, _Setprecision); extern template wistream& operator>>(wistream&, _Setw); #endif +#endif } // namespace std #endif diff --git a/contrib/libstdc++/include/std/std_iosfwd.h b/contrib/libstdc++/include/std/std_iosfwd.h index 797f493..55b0e0b 100644 --- a/contrib/libstdc++/include/std/std_iosfwd.h +++ b/contrib/libstdc++/include/std/std_iosfwd.h @@ -1,6 +1,7 @@ // Forwarding declarations -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -42,7 +43,9 @@ #pragma GCC system_header #include <bits/c++config.h> -#include <bits/stringfwd.h> // For string forward declarations. +#include <bits/c++locale.h> +#include <cctype> // For isspace, etc. +#include <bits/stringfwd.h> // For string forward declarations. #include <bits/fpos.h> #include <bits/functexcept.h> @@ -102,35 +105,64 @@ namespace std class ios_base; #endif - typedef basic_ios<char> ios; - typedef basic_streambuf<char> streambuf; - typedef basic_istream<char> istream; - typedef basic_ostream<char> ostream; - typedef basic_iostream<char> iostream; - typedef basic_stringbuf<char> stringbuf; - typedef basic_istringstream<char> istringstream; - typedef basic_ostringstream<char> ostringstream; - typedef basic_stringstream<char> stringstream; - typedef basic_filebuf<char> filebuf; - typedef basic_ifstream<char> ifstream; - typedef basic_ofstream<char> ofstream; - typedef basic_fstream<char> fstream; + /** + * @defgroup s27_2_iosfwd I/O Forward Declarations + * + * Nearly all of the I/O classes are parameterized on the type of + * characters they read and write. (The major exception is ios_base at + * the top of the hierarchy.) This is a change from pre-Standard + * streams, which were not templates. + * + * For ease of use and compatibility, all of the basic_* I/O-related + * classes are given typedef names for both of the builtin character + * widths (wide and narrow). The typedefs are the same as the + * pre-Standard names, for example: + * + * @code + * typedef basic_ifstream<char> ifstream; + * @endcode + * + * Because properly forward-declaring these classes can be difficult, you + * should not do it yourself. Instead, include the <iosfwd> + * header, which contains only declarations of all the I/O classes as + * well as the typedefs. Trying to forward-declare the typedefs + * themselves (e.g., "class ostream;") is not valid ISO C++. + * + * For more specific declarations, see + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 + * + * @{ + */ + typedef basic_ios<char> ios; ///< @isiosfwd + typedef basic_streambuf<char> streambuf; ///< @isiosfwd + typedef basic_istream<char> istream; ///< @isiosfwd + typedef basic_ostream<char> ostream; ///< @isiosfwd + typedef basic_iostream<char> iostream; ///< @isiosfwd + typedef basic_stringbuf<char> stringbuf; ///< @isiosfwd + typedef basic_istringstream<char> istringstream; ///< @isiosfwd + typedef basic_ostringstream<char> ostringstream; ///< @isiosfwd + typedef basic_stringstream<char> stringstream; ///< @isiosfwd + typedef basic_filebuf<char> filebuf; ///< @isiosfwd + typedef basic_ifstream<char> ifstream; ///< @isiosfwd + typedef basic_ofstream<char> ofstream; ///< @isiosfwd + typedef basic_fstream<char> fstream; ///< @isiosfwd #ifdef _GLIBCPP_USE_WCHAR_T - typedef basic_ios<wchar_t> wios; - typedef basic_streambuf<wchar_t> wstreambuf; - typedef basic_istream<wchar_t> wistream; - typedef basic_ostream<wchar_t> wostream; - typedef basic_iostream<wchar_t> wiostream; - typedef basic_stringbuf<wchar_t> wstringbuf; - typedef basic_istringstream<wchar_t> wistringstream; - typedef basic_ostringstream<wchar_t> wostringstream; - typedef basic_stringstream<wchar_t> wstringstream; - typedef basic_filebuf<wchar_t> wfilebuf; - typedef basic_ifstream<wchar_t> wifstream; - typedef basic_ofstream<wchar_t> wofstream; - typedef basic_fstream<wchar_t> wfstream; + typedef basic_ios<wchar_t> wios; ///< @isiosfwd + typedef basic_streambuf<wchar_t> wstreambuf; ///< @isiosfwd + typedef basic_istream<wchar_t> wistream; ///< @isiosfwd + typedef basic_ostream<wchar_t> wostream; ///< @isiosfwd + typedef basic_iostream<wchar_t> wiostream; ///< @isiosfwd + typedef basic_stringbuf<wchar_t> wstringbuf; ///< @isiosfwd + typedef basic_istringstream<wchar_t> wistringstream; ///< @isiosfwd + typedef basic_ostringstream<wchar_t> wostringstream; ///< @isiosfwd + typedef basic_stringstream<wchar_t> wstringstream; ///< @isiosfwd + typedef basic_filebuf<wchar_t> wfilebuf; ///< @isiosfwd + typedef basic_ifstream<wchar_t> wifstream; ///< @isiosfwd + typedef basic_ofstream<wchar_t> wofstream; ///< @isiosfwd + typedef basic_fstream<wchar_t> wfstream; ///< @isiosfwd #endif + /** @} */ } // namespace std #endif diff --git a/contrib/libstdc++/include/std/std_iostream.h b/contrib/libstdc++/include/std/std_iostream.h index d0736b8..d709493 100644 --- a/contrib/libstdc++/include/std/std_iostream.h +++ b/contrib/libstdc++/include/std/std_iostream.h @@ -47,17 +47,31 @@ namespace std { - extern istream cin; - extern ostream cout; - extern ostream cerr; - extern ostream clog; + /** + * @name Standard Stream Objects + * + * The <iostream> header declares the eight <em>standard stream + * objects</em>. For other declarations, see + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 and the + * @link s27_2_iosfwd I/O forward declarations @endlink + * + * They are required by default to cooperate with the global C library's + * @c FILE streams, and to be available during program startup and + * termination. For more information, see the HOWTO linked to above. + */ + //@{ + extern istream cin; ///< Linked to standard input + extern ostream cout; ///< Linked to standard output + extern ostream cerr; ///< Linked to standard error (unbuffered) + extern ostream clog; ///< Linked to standard error (buffered) #ifdef _GLIBCPP_USE_WCHAR_T - extern wistream wcin; - extern wostream wcout; - extern wostream wcerr; - extern wostream wclog; + extern wistream wcin; ///< Linked to standard input + extern wostream wcout; ///< Linked to standard output + extern wostream wcerr; ///< Linked to standard error (unbuffered) + extern wostream wclog; ///< Linked to standard error (buffered) #endif + //@} // For construction of filebuffers for cout, cin, cerr, clog et. al. static ios_base::Init __ioinit; diff --git a/contrib/libstdc++/include/std/std_istream.h b/contrib/libstdc++/include/std/std_istream.h index 8aa9123..da9c7db 100644 --- a/contrib/libstdc++/include/std/std_istream.h +++ b/contrib/libstdc++/include/std/std_istream.h @@ -46,7 +46,14 @@ namespace std { - // 27.6.1.1 Template class basic_istream + // [27.6.1.1] Template class basic_istream + /** + * @brief Controlling input. + * + * This is the base class for all input streams. It provides text + * formatting of all builtin types, and communicates with any class + * derived from basic_streambuf to do the actual input. + */ template<typename _CharT, typename _Traits> class basic_istream : virtual public basic_ios<_CharT, _Traits> { @@ -66,12 +73,33 @@ namespace std typedef num_get<_CharT, __istreambuf_iter> __numget_type; typedef ctype<_CharT> __ctype_type; + template<typename _CharT2, typename _Traits2> + friend basic_istream<_CharT2, _Traits2>& + operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2&); + + template<typename _CharT2, typename _Traits2> + friend basic_istream<_CharT2, _Traits2>& + operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*); + protected: // Data Members: + /** + * @if maint + * The number of characters extracted in the previous unformatted + * function; see gcount(). + * @endif + */ streamsize _M_gcount; public: - // 27.6.1.1.1 Constructor/destructor: + // [27.6.1.1.1] constructor/destructor + /** + * @brief Base constructor. + * + * This ctor is almost never called by the user directly, rather from + * derived classes' initialization lists, which pass a pointer to + * their own stream buffer. + */ explicit basic_istream(__streambuf_type* __sb) { @@ -79,16 +107,29 @@ namespace std _M_gcount = streamsize(0); } + /** + * @brief Base destructor. + * + * This does very little apart from providing a virtual base dtor. + */ virtual ~basic_istream() { _M_gcount = streamsize(0); } - // 27.6.1.1.2 Prefix/suffix: + // [27.6.1.1.2] prefix/suffix class sentry; friend class sentry; - // 27.6.1.2 Formatted input: - // 27.6.1.2.3 basic_istream::operator>> + // [27.6.1.2] formatted input + // [27.6.1.2.3] basic_istream::operator>> + //@{ + /** + * @brief Interface for manipulators. + * + * Manuipulators such as @c std::ws and @c std::dec use these + * functions in constructs like "std::cin >> std::ws". For more + * information, see the iomanip header. + */ __istream_type& operator>>(__istream_type& (*__pf)(__istream_type&)); @@ -97,8 +138,36 @@ namespace std __istream_type& operator>>(ios_base& (*__pf)(ios_base&)); + //@} - // 27.6.1.2.2 Arithmetic Extractors + // [27.6.1.2.2] arithmetic extractors + /** + * @name Arithmetic Extractors + * + * All the @c operator>> functions (aka <em>formatted input + * functions</em>) have some common behavior. Each starts by + * constructing a temporary object of type std::basic_istream::sentry + * with the second argument (noskipws) set to false. This has several + * effects, concluding with the setting of a status flag; see the + * sentry documentation for more. + * + * If the sentry status is good, the function tries to extract + * whatever data is appropriate for the type of the argument. + * + * If an exception is thrown during extraction, ios_base::badbit + * will be turned on in the stream's error state without causing an + * ios_base::failure to be thrown. The original exception will then + * be rethrown. + */ + //@{ + /** + * @brief Basic arithmetic extractors + * @param A variable of builtin type. + * @return @c *this if successful + * + * These functions use the stream's current locale (specifically, the + * @c num_get facet) to parse the input data. + */ __istream_type& operator>>(bool& __n); @@ -140,92 +209,431 @@ namespace std __istream_type& operator>>(void*& __p); + /** + * @brief Extracting into another streambuf. + * @param sb A pointer to a streambuf + * + * This function behaves like one of the basic arithmetic extractors, + * in that it also constructs a sentry onject and has the same error + * handling behavior. + * + * If @a sb is NULL, the stream will set failbit in its error state. + * + * Characters are extracted from this stream and inserted into the + * @a sb streambuf until one of the following occurs: + * + * - the input stream reaches end-of-file, + * - insertion into the output buffer fails (in this case, the + * character that would have been inserted is not extracted), or + * - an exception occurs (and in this case is caught) + * + * If the function inserts no characters, failbit is set. + */ __istream_type& operator>>(__streambuf_type* __sb); + //@} - // 27.6.1.3 Unformatted input: + // [27.6.1.3] unformatted input + /** + * @brief Character counting + * @return The number of characters extracted by the previous + * unformatted input function dispatched for this stream. + */ inline streamsize - gcount(void) const + gcount() const { return _M_gcount; } + /** + * @name Unformatted Input Functions + * + * All the unformatted input functions have some common behavior. + * Each starts by constructing a temporary object of type + * std::basic_istream::sentry with the second argument (noskipws) + * set to true. This has several effects, concluding with the + * setting of a status flag; see the sentry documentation for more. + * + * If the sentry status is good, the function tries to extract + * whatever data is appropriate for the type of the argument. + * + * The number of characters extracted is stored for later retrieval + * by gcount(). + * + * If an exception is thrown during extraction, ios_base::badbit + * will be turned on in the stream's error state without causing an + * ios_base::failure to be thrown. The original exception will then + * be rethrown. + */ + //@{ + /** + * @brief Simple extraction. + * @return A character, or eof(). + * + * Tries to extract a character. If none are available, sets failbit + * and returns traits::eof(). + */ int_type - get(void); - + get(); + + /** + * @brief Simple extraction. + * @param c The character in which to store data. + * @return *this + * + * Tries to extract a character and store it in @a c. If none are + * available, sets failbit and returns traits::eof(). + * + * @note This function is not overloaded on signed char and + * unsigned char. + */ __istream_type& get(char_type& __c); + /** + * @brief Simple multiple-character extraction. + * @param s Pointer to an array. + * @param n Maximum number of characters to store in @a s. + * @param delim A "stop" character. + * @return *this + * + * Characters are extracted and stored into @a s until one of the + * following happens: + * + * - @c n-1 characters are stored + * - the input sequence reaches EOF + * - the next character equals @a delim, in which case the character + * is not extracted + * + * If no characters are stored, failbit is set in the stream's error + * state. + * + * In any case, a null character is stored into the next location in + * the array. + * + * @note This function is not overloaded on signed char and + * unsigned char. + */ __istream_type& get(char_type* __s, streamsize __n, char_type __delim); + /** + * @brief Simple multiple-character extraction. + * @param s Pointer to an array. + * @param n Maximum number of characters to store in @a s. + * @return *this + * + * Returns @c get(s,n,widen('\n')). + */ inline __istream_type& get(char_type* __s, streamsize __n) { return this->get(__s, __n, this->widen('\n')); } + /** + * @brief Extraction into another streambuf. + * @param sb A streambuf in which to store data. + * @param delim A "stop" character. + * @return *this + * + * Characters are extracted and inserted into @a sb until one of the + * following happens: + * + * - the input sequence reaches EOF + * - insertion into the output buffer fails (in this case, the + * character that would have been inserted is not extracted) + * - the next character equals @a delim (in this case, the character + * is not extracted) + * - an exception occurs (and in this case is caught) + * + * If no characters are stored, failbit is set in the stream's error + * state. + */ __istream_type& get(__streambuf_type& __sb, char_type __delim); + /** + * @brief Extraction into another streambuf. + * @param sb A streambuf in which to store data. + * @return *this + * + * Returns @c get(sb,widen('\n')). + */ inline __istream_type& get(__streambuf_type& __sb) { return this->get(__sb, this->widen('\n')); } + /** + * @brief String extraction. + * @param s A character array in which to store the data. + * @param n Maximum number of characters to extract. + * @param delim A "stop" character. + * @return *this + * + * Extracts and stores characters into @a s until one of the + * following happens. Note that these criteria are required to be + * tested in the order listed here, to allow an input line to exactly + * fill the @a s array without setting failbit. + * + * -# the input sequence reaches end-of-file, in which case eofbit + * is set in the stream error state + * -# the next character equals @c delim, in which case the character + * is extracted (and therefore counted in @c gcount()) but not stored + * -# @c n-1 characters are stored, in which case failbit is set + * in the stream error state + * + * If no characters are extracted, failbit is set. (An empty line of + * input should therefore not cause failbit to be set.) + * + * In any case, a null character is stored in the next location in + * the array. + */ __istream_type& getline(char_type* __s, streamsize __n, char_type __delim); + /** + * @brief String extraction. + * @param s A character array in which to store the data. + * @param n Maximum number of characters to extract. + * @return *this + * + * Returns @c getline(s,n,widen('\n')). + */ inline __istream_type& getline(char_type* __s, streamsize __n) { return this->getline(__s, __n, this->widen('\n')); } + /** + * @brief Discarding characters + * @param n Number of characters to discard. + * @param delim A "stop" character. + * @return *this + * + * Extracts characters and throws them away until one of the + * following happens: + * - if @a n @c != @c std::numeric_limits<int>::max(), @a n + * characters are extracted + * - the input sequence reaches end-of-file + * - the next character equals @a delim (in this case, the character + * is extracted); note that this condition will never occur if + * @a delim equals @c traits::eof(). + */ __istream_type& ignore(streamsize __n = 1, int_type __delim = traits_type::eof()); + /** + * @brief Looking ahead in the stream + * @return The next character, or eof(). + * + * If, after constructing the sentry object, @c good() is false, + * returns @c traits::eof(). Otherwise reads but does not extract + * the next input character. + */ int_type - peek(void); + peek(); + /** + * @brief Extraction without delimiters. + * @param s A character array. + * @param n Maximum number of characters to store. + * @return *this + * + * If the stream state is @c good(), extracts characters and stores + * them into @a s until one of the following happens: + * - @a n characters are stored + * - the input sequence reaches end-of-file, in which case the error + * state is set to @c failbit|eofbit. + * + * @note This function is not overloaded on signed char and + * unsigned char. + */ __istream_type& read(char_type* __s, streamsize __n); + /** + * @brief Extraction until the buffer is exhausted, but no more. + * @param s A character array. + * @param n Maximum number of characters to store. + * @return The number of characters extracted. + * + * Extracts characters and stores them into @a s depending on the + * number of characters remaining in the streambuf's buffer, + * @c rdbuf()->in_avail(), called @c A here: + * - if @c A @c == @c -1, sets eofbit and extracts no characters + * - if @c A @c == @c 0, extracts no characters + * - if @c A @c > @c 0, extracts @c min(A,n) + * + * The goal is to empty the current buffer, and to not request any + * more from the external input sequence controlled by the streambuf. + */ streamsize readsome(char_type* __s, streamsize __n); + /** + * @brief Unextracting a single character. + * @param c The character to push back into the input stream. + * @return *this + * + * If @c rdbuf() is not null, calls @c rdbuf()->sputbackc(c). + * + * If @c rdbuf() is null or if @c sputbackc() fails, sets badbit in + * the error state. + * + * @note Since no characters are extracted, the next call to + * @c gcount() will return 0, as required by DR 60. + */ __istream_type& putback(char_type __c); + /** + * @brief Unextracting the previous character. + * @return *this + * + * If @c rdbuf() is not null, calls @c rdbuf()->sungetc(c). + * + * If @c rdbuf() is null or if @c sungetc() fails, sets badbit in + * the error state. + * + * @note Since no characters are extracted, the next call to + * @c gcount() will return 0, as required by DR 60. + */ __istream_type& - unget(void); - + unget(); + + /** + * @brief Synchronizing the stream buffer. + * @return 0 on success, -1 on failure + * + * If @c rdbuf() is a null pointer, returns -1. + * + * Otherwise, calls @c rdbuf()->pubsync(), and if that returns -1, + * sets badbit and returns -1. + * + * Otherwise, returns 0. + * + * @note This function does not count the number of characters + * extracted, if any, and therefore does not affect the next + * call to @c gcount(). + */ int - sync(void); - + sync(); + + /** + * @brief Getting the current read position. + * @return A file position object. + * + * If @c fail() is not false, returns @c pos_type(-1) to indicate + * failure. Otherwise returns @c rdbuf()->pubseekoff(0,cur,in). + * + * @note This function does not count the number of characters + * extracted, if any, and therefore does not affect the next + * call to @c gcount(). + */ pos_type - tellg(void); - + tellg(); + + /** + * @brief Changing the current read position. + * @param pos A file position object. + * @return *this + * + * If @c fail() is not true, calls @c rdbuf()->pubseekpos(pos). If + * that function fails, sets failbit. + * + * @note This function does not count the number of characters + * extracted, if any, and therefore does not affect the next + * call to @c gcount(). + */ __istream_type& seekg(pos_type); + /** + * @brief Changing the current read position. + * @param off A file offset object. + * @param dir The direction in which to seek. + * @return *this + * + * If @c fail() is not true, calls @c rdbuf()->pubseekoff(off,dir). + * If that function fails, sets failbit. + * + * @note This function does not count the number of characters + * extracted, if any, and therefore does not affect the next + * call to @c gcount(). + */ __istream_type& seekg(off_type, ios_base::seekdir); + //@} }; + /** + * @brief Performs setup work for input streams. + * + * Objects of this class are created before all of the standard + * extractors are run. It is responsible for "exception-safe prefix and + * suffix operations," although only prefix actions are currently required + * by the standard. Additional actions may be added by the + * implementation, and we list them in + * http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/howto.html#5 + * under [27.6] notes. + */ template<typename _CharT, typename _Traits> class basic_istream<_CharT, _Traits>::sentry { public: + /// Easy access to dependant types. typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::__ctype_type __ctype_type; typedef typename _Traits::int_type __int_type; + /** + * @brief The constructor performs all the work. + * @param is The input stream to guard. + * @param noskipws Whether to consume whitespace or not. + * + * If the stream state is good (@a is.good() is true), then the + * following actions are performed, otherwise the sentry state is + * false ("not okay") and failbit is set in the stream state. + * + * The sentry's preparatory actions are: + * + * -# if the stream is tied to an output stream, @c is.tie()->flush() + * is called to synchronize the output sequence + * -# if @a noskipws is false, and @c ios_base::skipws is set in + * @c is.flags(), the sentry extracts and discards whitespace + * characters from the stream. The currently imbued locale is + * used to determine whether each character is whitespace. + * + * If the stream state is still good, then the sentry state becomes + * true ("okay"). + */ explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); + /** + * @brief Quick status checking. + * @return The sentry state. + * + * For ease of use, sentries may be converted to booleans. The + * return value is that of the sentry state (true == okay). + */ operator bool() { return _M_ok; } private: bool _M_ok; }; - // 27.6.1.2.3 Character extraction templates + // [27.6.1.2.3] character extraction templates + //@{ + /** + * @brief Character extractors + * @param in An input stream. + * @param c A character reference. + * @return in + * + * Behaves like one of the formatted arithmetic extractors described in + * std::basic_istream. After constructing a sentry object with good + * status, this function extracts a character (if one is available) and + * stores it in @a c. Otherwise, sets failbit in the input stream. + */ template<typename _CharT, typename _Traits> basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); @@ -239,7 +647,34 @@ namespace std basic_istream<char, _Traits>& operator>>(basic_istream<char, _Traits>& __in, signed char& __c) { return (__in >> reinterpret_cast<char&>(__c)); } - + //@} + + //@{ + /** + * @brief Character string extractors + * @param in An input stream. + * @param s A pointer to a character array. + * @return in + * + * Behaves like one of the formatted arithmetic extractors described in + * std::basic_istream. After constructing a sentry object with good + * status, this function extracts up to @c n characters and stores them + * into the array starting at @a s. @c n is defined as: + * + * - if @c width() is greater than zero, @c n is width() + * - otherwise @c n is "the number of elements of the largest array of + * @c char_type that can store a terminating @c eos." [27.6.1.2.3]/6 + * + * Characters are extracted and stored until one of the following happens: + * - @c n-1 characters are stored + * - EOF is reached + * - the next character is whitespace according to the current locale + * - the next character is a null byte (i.e., @c charT() ) + * + * @c width(0) is then called for the input stream. + * + * If no characters are extracted, sets failbit. + */ template<typename _CharT, typename _Traits> basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s); @@ -253,8 +688,15 @@ namespace std basic_istream<char,_Traits>& operator>>(basic_istream<char,_Traits>& __in, signed char* __s) { return (__in >> reinterpret_cast<char*>(__s)); } + //@} // 27.6.1.5 Template class basic_iostream + /** + * @brief Merging istream and ostream capabilities. + * + * This class multiply inherits from the input and output stream classes + * simply to provide a single interface. + */ template<typename _CharT, typename _Traits> class basic_iostream : public basic_istream<_CharT, _Traits>, @@ -275,16 +717,45 @@ namespace std typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; + /** + * @brief Constructor does nothing. + * + * Both of the parent classes are initialized with the same + * streambuf pointer passed to this constructor. + */ explicit basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) : __istream_type(__sb), __ostream_type(__sb) { } + /** + * @brief Destructor does nothing. + */ virtual ~basic_iostream() { } }; - // 27.6.1.4 Standard basic_istream manipulators + // [27.6.1.4] standard basic_istream manipulators + /** + * @brief Quick and easy way to eat whitespace + * + * This manipulator extracts whitespace characters, stopping when the + * next character is non-whitespace, or when the input sequence is empty. + * If the sequence is empty, @c eofbit is set in the stream, but not + * @c failbit. + * + * The current locale is used to distinguish whitespace characters. + * + * Example: + * @code + * MyClass mc; + * + * std::cin >> std::ws >> mc; + * @endcode + * will skip leading whitespace before calling operator>> on cin and your + * object. Note that the same effect can be achieved by creating a + * std::basic_istream::sentry inside your definition of operator>>. + */ template<typename _CharT, typename _Traits> basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __is); diff --git a/contrib/libstdc++/include/std/std_limits.h b/contrib/libstdc++/include/std/std_limits.h index 5f70dda..9be6947 100644 --- a/contrib/libstdc++/include/std/std_limits.h +++ b/contrib/libstdc++/include/std/std_limits.h @@ -45,7 +45,6 @@ #pragma GCC system_header -#include <bits/cpu_limits.h> #include <bits/c++config.h> // @@ -64,13 +63,13 @@ // double (1) // long double (1) // -// GNU C++ undertstands (where supported by the host C-library) +// GNU C++ undertstands (where supported by the host C-library) // * integer // long long, unsigned long long (2) // // which brings us to 15 fundamental arithmetic data types in GNU C++. // -// +// // Since a numeric_limits<> is a bit tricky to get right, we rely on // an interface composed of macros which should be defined in config/os // or config/cpu when they differ from the generic (read arbitrary) @@ -80,813 +79,77 @@ // These values can be overridden in the target configuration file. // The default values are appropriate for many 32-bit targets. -#ifndef __glibcpp_char_bits -#define __glibcpp_char_bits 8 -#endif -#ifdef __CHAR_UNSIGNED__ -#define __glibcpp_plain_char_is_signed false -#else -#define __glibcpp_plain_char_is_signed true -#endif -#ifndef __glibcpp_short_bits -#define __glibcpp_short_bits 16 -#endif -#ifndef __glibcpp_int_bits -#define __glibcpp_int_bits 32 -#endif -#ifndef __glibcpp_long_bits -#define __glibcpp_long_bits 32 -#endif -#ifndef __glibcpp_wchar_t_bits -#define __glibcpp_wchar_t_bits 32 -#endif -#ifndef __glibcpp_wchar_t_is_signed -#define __glibcpp_wchar_t_is_signed true -#endif -#ifndef __glibcpp_long_long_bits -#define __glibcpp_long_long_bits 64 -#endif -#ifndef __glibcpp_float_bits -#define __glibcpp_float_bits 32 -#endif -#ifndef __glibcpp_double_bits -#define __glibcpp_double_bits 64 -#endif -#ifndef __glibcpp_long_double_bits -#define __glibcpp_long_double_bits 128 -#endif - -#ifndef __glibcpp_char_traps -#define __glibcpp_char_traps true -#endif -#ifndef __glibcpp_short_traps -#define __glibcpp_short_traps true -#endif -#ifndef __glibcpp_int_traps -#define __glibcpp_int_traps true -#endif -#ifndef __glibcpp_long_traps -#define __glibcpp_long_traps true -#endif -#ifndef __glibcpp_wchar_t_traps -#define __glibcpp_wchar_t_traps true -#endif -#ifndef __glibcpp_long_long_traps -#define __glibcpp_long_long_traps true -#endif - -// You should not need to define any macros below this point, unless -// you have a machine with non-standard bit-widths. - -// These values are the minimums and maximums for standard data types -// of common widths. - -#define __glibcpp_s8_max 127 -#define __glibcpp_s8_min (-__glibcpp_s8_max - 1) -#define __glibcpp_s8_digits 7 -#define __glibcpp_s8_digits10 2 -#define __glibcpp_u8_min 0U -#define __glibcpp_u8_max (__glibcpp_s8_max * 2 + 1) -#define __glibcpp_u8_digits 8 -#define __glibcpp_u8_digits10 2 -#define __glibcpp_s16_max 32767 -#define __glibcpp_s16_min (-__glibcpp_s16_max - 1) -#define __glibcpp_s16_digits 15 -#define __glibcpp_s16_digits10 4 -#define __glibcpp_u16_min 0U -#define __glibcpp_u16_max (__glibcpp_s16_max * 2 + 1) -#define __glibcpp_u16_digits 16 -#define __glibcpp_u16_digits10 4 -#define __glibcpp_s32_max 2147483647L -#define __glibcpp_s32_min (-__glibcpp_s32_max - 1) -#define __glibcpp_s32_digits 31 -#define __glibcpp_s32_digits10 9 -#define __glibcpp_u32_min 0UL -#define __glibcpp_u32_max (__glibcpp_s32_max * 2U + 1) -#define __glibcpp_u32_digits 32 -#define __glibcpp_u32_digits10 9 -#define __glibcpp_s64_max 9223372036854775807LL -#define __glibcpp_s64_min (-__glibcpp_s64_max - 1) -#define __glibcpp_s64_digits 63 -#define __glibcpp_s64_digits10 18 -#define __glibcpp_u64_min 0ULL -#define __glibcpp_u64_max (__glibcpp_s64_max * 2ULL + 1) -#define __glibcpp_u64_digits 64 -#define __glibcpp_u64_digits10 19 - -#define __glibcpp_f32_min 1.17549435e-38F -#define __glibcpp_f32_max 3.40282347e+38F -#define __glibcpp_f32_digits 24 -#define __glibcpp_f32_digits10 6 -#define __glibcpp_f32_radix 2 -#define __glibcpp_f32_epsilon 1.19209290e-07F -#define __glibcpp_f32_round_error 1.0F -#define __glibcpp_f32_min_exponent -125 -#define __glibcpp_f32_min_exponent10 -37 -#define __glibcpp_f32_max_exponent 128 -#define __glibcpp_f32_max_exponent10 38 -#define __glibcpp_f64_min 2.2250738585072014e-308 -#define __glibcpp_f64_max 1.7976931348623157e+308 -#define __glibcpp_f64_digits 53 -#define __glibcpp_f64_digits10 15 -#define __glibcpp_f64_radix 2 -#define __glibcpp_f64_epsilon 2.2204460492503131e-16 -#define __glibcpp_f64_round_error 1.0 -#define __glibcpp_f64_min_exponent -1021 -#define __glibcpp_f64_min_exponent10 -307 -#define __glibcpp_f64_max_exponent 1024 -#define __glibcpp_f64_max_exponent10 308 -#define __glibcpp_f80_min 3.36210314311209350626e-4932L -#define __glibcpp_f80_max 1.18973149535723176502e+4932L -#define __glibcpp_f80_digits 64 -#define __glibcpp_f80_digits10 18 -#define __glibcpp_f80_radix 2 -#define __glibcpp_f80_epsilon 1.08420217248550443401e-19L -#define __glibcpp_f80_round_error 1.0L -#define __glibcpp_f80_min_exponent -16381 -#define __glibcpp_f80_min_exponent10 -4931 -#define __glibcpp_f80_max_exponent 16384 -#define __glibcpp_f80_max_exponent10 4932 -#define __glibcpp_f96_min 1.68105157155604675313e-4932L -#define __glibcpp_f96_max 1.18973149535723176502e+4932L -#define __glibcpp_f96_digits 64 -#define __glibcpp_f96_digits10 18 -#define __glibcpp_f96_radix 2 -#define __glibcpp_f96_epsilon 1.08420217248550443401e-19L -#define __glibcpp_f96_round_error 1.0L -#define __glibcpp_f96_min_exponent -16382 -#define __glibcpp_f96_min_exponent10 -4931 -#define __glibcpp_f96_max_exponent 16384 -#define __glibcpp_f96_max_exponent10 4932 -#define __glibcpp_f128_min 3.362103143112093506262677817321752603E-4932L -#define __glibcpp_f128_max 1.189731495357231765085759326628007016E+4932L -#define __glibcpp_f128_digits 113 -#define __glibcpp_f128_digits10 33 -#define __glibcpp_f128_radix 2 -#define __glibcpp_f128_epsilon 1.925929944387235853055977942584927319E-34L -#define __glibcpp_f128_round_error 1.0L -#define __glibcpp_f128_min_exponent -16381 -#define __glibcpp_f128_min_exponent10 -4931 -#define __glibcpp_f128_max_exponent 16384 -#define __glibcpp_f128_max_exponent10 4932 - -// bool-specific hooks: -// __glibcpp_bool_digits __glibcpp_int_traps __glibcpp_long_traps - -#ifndef __glibcpp_bool_digits -#define __glibcpp_bool_digits 1 -#endif - -// char. - -#define __glibcpp_plain_char_traps true -#define __glibcpp_signed_char_traps true -#define __glibcpp_unsigned_char_traps true -#ifndef __glibcpp_char_is_modulo -#define __glibcpp_char_is_modulo true -#endif -#ifndef __glibcpp_signed_char_is_modulo -#define __glibcpp_signed_char_is_modulo true -#endif -#if __glibcpp_char_bits == 8 -#define __glibcpp_signed_char_min __glibcpp_s8_min -#define __glibcpp_signed_char_max __glibcpp_s8_max -#define __glibcpp_signed_char_digits __glibcpp_s8_digits -#define __glibcpp_signed_char_digits10 __glibcpp_s8_digits10 -#define __glibcpp_unsigned_char_min __glibcpp_u8_min -#define __glibcpp_unsigned_char_max __glibcpp_u8_max -#define __glibcpp_unsigned_char_digits __glibcpp_u8_digits -#define __glibcpp_unsigned_char_digits10 __glibcpp_u8_digits10 -#elif __glibcpp_char_bits == 16 -#define __glibcpp_signed_char_min __glibcpp_s16_min -#define __glibcpp_signed_char_max __glibcpp_s16_max -#define __glibcpp_signed_char_digits __glibcpp_s16_digits -#define __glibcpp_signed_char_digits10 __glibcpp_s16_digits10 -#define __glibcpp_unsigned_char_min __glibcpp_u16_min -#define __glibcpp_unsigned_char_max __glibcpp_u16_max -#define __glibcpp_unsigned_char_digits __glibcpp_u16_digits -#define __glibcpp_unsigned_char_digits10 __glibcpp_u16_digits10 -#elif __glibcpp_char_bits == 32 -#define __glibcpp_signed_char_min (signed char)__glibcpp_s32_min -#define __glibcpp_signed_char_max (signed char)__glibcpp_s32_max -#define __glibcpp_signed_char_digits __glibcpp_s32_digits -#define __glibcpp_signed_char_digits10 __glibcpp_s32_digits10 -#define __glibcpp_unsigned_char_min (unsigned char)__glibcpp_u32_min -#define __glibcpp_unsigned_char_max (unsigned char)__glibcpp_u32_max -#define __glibcpp_unsigned_char_digits __glibcpp_u32_digits -#define __glibcpp_unsigned_char_digits10 __glibcpp_u32_digits10 -#elif __glibcpp_char_bits == 64 -#define __glibcpp_signed_char_min (signed char)__glibcpp_s64_min -#define __glibcpp_signed_char_max (signed char)__glibcpp_s64_max -#define __glibcpp_signed_char_digits __glibcpp_s64_digits -#define __glibcpp_signed_char_digits10 __glibcpp_s64_digits10 -#define __glibcpp_unsigned_char_min (unsigned char)__glibcpp_u64_min -#define __glibcpp_unsigned_char_max (unsigned char)__glibcpp_u64_max -#define __glibcpp_unsigned_char_digits __glibcpp_u64_digits -#define __glibcpp_unsigned_char_digits10 __glibcpp_u64_digits10 -#else -// You must define these macros in the configuration file. -#endif - -#if __glibcpp_plain_char_is_signed -#define __glibcpp_char_min (char)__glibcpp_signed_char_min -#define __glibcpp_char_max (char)__glibcpp_signed_char_max -#define __glibcpp_char_digits __glibcpp_signed_char_digits -#define __glibcpp_char_digits10 __glibcpp_signed_char_digits10 -#else -#define __glibcpp_char_min (char)__glibcpp_unsigned_char_min -#define __glibcpp_char_max (char)__glibcpp_unsigned_char_max -#define __glibcpp_char_digits __glibcpp_unsigned_char_digits -#define __glibcpp_char_digits10 __glibcpp_unsigned_char_digits10 -#endif - -// short - -#define __glibcpp_signed_short_traps true -#define __glibcpp_unsigned_short_traps true -#ifndef __glibcpp_signed_short_is_modulo -#define __glibcpp_signed_short_is_modulo true -#endif -#if __glibcpp_short_bits == 8 -#define __glibcpp_signed_short_min __glibcpp_s8_min -#define __glibcpp_signed_short_max __glibcpp_s8_max -#define __glibcpp_signed_short_digits __glibcpp_s8_digits -#define __glibcpp_signed_short_digits10 __glibcpp_s8_digits10 -#define __glibcpp_unsigned_short_min __glibcpp_u8_min -#define __glibcpp_unsigned_short_max __glibcpp_u8_max -#define __glibcpp_unsigned_short_digits __glibcpp_u8_digits -#define __glibcpp_unsigned_short_digits10 __glibcpp_u8_digits10 -#elif __glibcpp_short_bits == 16 -#define __glibcpp_signed_short_min __glibcpp_s16_min -#define __glibcpp_signed_short_max __glibcpp_s16_max -#define __glibcpp_signed_short_digits __glibcpp_s16_digits -#define __glibcpp_signed_short_digits10 __glibcpp_s16_digits10 -#define __glibcpp_unsigned_short_min __glibcpp_u16_min -#define __glibcpp_unsigned_short_max __glibcpp_u16_max -#define __glibcpp_unsigned_short_digits __glibcpp_u16_digits -#define __glibcpp_unsigned_short_digits10 __glibcpp_u16_digits10 -#elif __glibcpp_short_bits == 32 -#define __glibcpp_signed_short_min (short)__glibcpp_s32_min -#define __glibcpp_signed_short_max (short)__glibcpp_s32_max -#define __glibcpp_signed_short_digits __glibcpp_s32_digits -#define __glibcpp_signed_short_digits10 __glibcpp_s32_digits10 -#define __glibcpp_unsigned_short_min (unsigned short)__glibcpp_u32_min -#define __glibcpp_unsigned_short_max (unsigned short)__glibcpp_u32_max -#define __glibcpp_unsigned_short_digits __glibcpp_u32_digits -#define __glibcpp_unsigned_short_digits10 __glibcpp_u32_digits10 -#elif __glibcpp_short_bits == 64 -#define __glibcpp_signed_short_min (short)__glibcpp_s64_min -#define __glibcpp_signed_short_max (short)__glibcpp_s64_max -#define __glibcpp_signed_short_digits __glibcpp_s64_digits -#define __glibcpp_signed_short_digits10 __glibcpp_s64_digits10 -#define __glibcpp_unsigned_short_min (unsigned short)__glibcpp_u64_min -#define __glibcpp_unsigned_short_max (unsigned short)__glibcpp_u64_max -#define __glibcpp_unsigned_short_digits __glibcpp_u64_digits -#define __glibcpp_unsigned_short_digits10 __glibcpp_u64_digits10 -#else -// You must define these macros in the configuration file. -#endif - -// int - -#define __glibcpp_signed_int_traps true -#define __glibcpp_unsigned_int_traps true -#ifndef __glibcpp_signed_int_is_modulo -#define __glibcpp_signed_int_is_modulo true -#endif -#if __glibcpp_int_bits == 8 -#define __glibcpp_signed_int_min __glibcpp_s8_min -#define __glibcpp_signed_int_max __glibcpp_s8_max -#define __glibcpp_signed_int_digits __glibcpp_s8_digits -#define __glibcpp_signed_int_digits10 __glibcpp_s8_digits10 -#define __glibcpp_unsigned_int_min __glibcpp_u8_min -#define __glibcpp_unsigned_int_max __glibcpp_u8_max -#define __glibcpp_unsigned_int_digits __glibcpp_u8_digits -#define __glibcpp_unsigned_int_digits10 __glibcpp_u8_digits10 -#elif __glibcpp_int_bits == 16 -#define __glibcpp_signed_int_min __glibcpp_s16_min -#define __glibcpp_signed_int_max __glibcpp_s16_max -#define __glibcpp_signed_int_digits __glibcpp_s16_digits -#define __glibcpp_signed_int_digits10 __glibcpp_s16_digits10 -#define __glibcpp_unsigned_int_min __glibcpp_u16_min -#define __glibcpp_unsigned_int_max __glibcpp_u16_max -#define __glibcpp_unsigned_int_digits __glibcpp_u16_digits -#define __glibcpp_unsigned_int_digits10 __glibcpp_u16_digits10 -#elif __glibcpp_int_bits == 32 -#define __glibcpp_signed_int_min (int)__glibcpp_s32_min -#define __glibcpp_signed_int_max (int)__glibcpp_s32_max -#define __glibcpp_signed_int_digits __glibcpp_s32_digits -#define __glibcpp_signed_int_digits10 __glibcpp_s32_digits10 -#define __glibcpp_unsigned_int_min (unsigned)__glibcpp_u32_min -#define __glibcpp_unsigned_int_max (unsigned)__glibcpp_u32_max -#define __glibcpp_unsigned_int_digits __glibcpp_u32_digits -#define __glibcpp_unsigned_int_digits10 __glibcpp_u32_digits10 -#elif __glibcpp_int_bits == 64 -#define __glibcpp_signed_int_min (int)__glibcpp_s64_min -#define __glibcpp_signed_int_max (int)__glibcpp_s64_max -#define __glibcpp_signed_int_digits __glibcpp_s64_digits -#define __glibcpp_signed_int_digits10 __glibcpp_s64_digits10 -#define __glibcpp_unsigned_int_min (unsigned)__glibcpp_u64_min -#define __glibcpp_unsigned_int_max (unsigned)__glibcpp_u64_max -#define __glibcpp_unsigned_int_digits __glibcpp_u64_digits -#define __glibcpp_unsigned_int_digits10 __glibcpp_u64_digits10 -#else -// You must define these macros in the configuration file. -#endif - -// long - -#define __glibcpp_signed_long_traps true -#define __glibcpp_unsigned_long_traps true -#ifndef __glibcpp_signed_long_is_modulo -#define __glibcpp_signed_long_is_modulo true -#endif -#if __glibcpp_long_bits == 8 -#define __glibcpp_signed_long_min __glibcpp_s8_min -#define __glibcpp_signed_long_max __glibcpp_s8_max -#define __glibcpp_signed_long_digits __glibcpp_s8_digits -#define __glibcpp_signed_long_digits10 __glibcpp_s8_digits10 -#define __glibcpp_unsigned_long_min __glibcpp_u8_min -#define __glibcpp_unsigned_long_max __glibcpp_u8_max -#define __glibcpp_unsigned_long_digits __glibcpp_u8_digits -#define __glibcpp_unsigned_long_digits10 __glibcpp_u8_digits10 -#elif __glibcpp_long_bits == 16 -#define __glibcpp_signed_long_min __glibcpp_s16_min -#define __glibcpp_signed_long_max __glibcpp_s16_max -#define __glibcpp_signed_long_digits __glibcpp_s16_digits -#define __glibcpp_signed_long_digits10 __glibcpp_s16_digits10 -#define __glibcpp_unsigned_long_min __glibcpp_u16_min -#define __glibcpp_unsigned_long_max __glibcpp_u16_max -#define __glibcpp_unsigned_long_digits __glibcpp_u16_digits -#define __glibcpp_unsigned_long_digits10 __glibcpp_u16_digits10 -#elif __glibcpp_long_bits == 32 -#define __glibcpp_signed_long_min __glibcpp_s32_min -#define __glibcpp_signed_long_max __glibcpp_s32_max -#define __glibcpp_signed_long_digits __glibcpp_s32_digits -#define __glibcpp_signed_long_digits10 __glibcpp_s32_digits10 -#define __glibcpp_unsigned_long_min __glibcpp_u32_min -#define __glibcpp_unsigned_long_max __glibcpp_u32_max -#define __glibcpp_unsigned_long_digits __glibcpp_u32_digits -#define __glibcpp_unsigned_long_digits10 __glibcpp_u32_digits10 -#elif __glibcpp_long_bits == 64 -#define __glibcpp_signed_long_min (long)__glibcpp_s64_min -#define __glibcpp_signed_long_max (long)__glibcpp_s64_max -#define __glibcpp_signed_long_digits __glibcpp_s64_digits -#define __glibcpp_signed_long_digits10 __glibcpp_s64_digits10 -#define __glibcpp_unsigned_long_min (unsigned long)__glibcpp_u64_min -#define __glibcpp_unsigned_long_max (unsigned long)__glibcpp_u64_max -#define __glibcpp_unsigned_long_digits __glibcpp_u64_digits -#define __glibcpp_unsigned_long_digits10 __glibcpp_u64_digits10 -#else -// You must define these macros in the configuration file. -#endif - -// long long - -#define __glibcpp_signed_long_long_traps true -#define __glibcpp_signed_long_long_traps true -#ifndef __glibcpp_signed_long_long_is_modulo -#define __glibcpp_signed_long_long_is_modulo true -#endif -#if __glibcpp_long_long_bits == 8 -#define __glibcpp_signed_long_long_min __glibcpp_s8_min -#define __glibcpp_signed_long_long_max __glibcpp_s8_max -#define __glibcpp_signed_long_long_digits __glibcpp_s8_digits -#define __glibcpp_signed_long_long_digits10 __glibcpp_s8_digits10 -#define __glibcpp_unsigned_long_long_min __glibcpp_u8_min -#define __glibcpp_unsigned_long_long_max __glibcpp_u8_max -#define __glibcpp_unsigned_long_long_digits __glibcpp_u8_digits -#define __glibcpp_unsigned_long_long_digits10 __glibcpp_u8_digits10 -#elif __glibcpp_long_long_bits == 16 -#define __glibcpp_signed_long_long_min __glibcpp_s16_min -#define __glibcpp_signed_long_long_max __glibcpp_s16_max -#define __glibcpp_signed_long_long_digits __glibcpp_s16_digits -#define __glibcpp_signed_long_long_digits10 __glibcpp_s16_digits10 -#define __glibcpp_unsigned_long_long_min __glibcpp_u16_min -#define __glibcpp_unsigned_long_long_max __glibcpp_u16_max -#define __glibcpp_unsigned_long_long_digits __glibcpp_u16_digits -#define __glibcpp_unsigned_long_long_digits10 __glibcpp_u16_digits10 -#elif __glibcpp_long_long_bits == 32 -#define __glibcpp_signed_long_long_min __glibcpp_s32_min -#define __glibcpp_signed_long_long_max __glibcpp_s32_max -#define __glibcpp_signed_long_long_digits __glibcpp_s32_digits -#define __glibcpp_signed_long_long_digits10 __glibcpp_s32_digits10 -#define __glibcpp_unsigned_long_long_min __glibcpp_u32_min -#define __glibcpp_unsigned_long_long_max __glibcpp_u32_max -#define __glibcpp_unsigned_long_long_digits __glibcpp_u32_digits -#define __glibcpp_unsigned_long_long_digits10 __glibcpp_u32_digits10 -#elif __glibcpp_long_long_bits == 64 -#define __glibcpp_signed_long_long_min __glibcpp_s64_min -#define __glibcpp_signed_long_long_max __glibcpp_s64_max -#define __glibcpp_signed_long_long_digits __glibcpp_s64_digits -#define __glibcpp_signed_long_long_digits10 __glibcpp_s64_digits10 -#define __glibcpp_signed_long_long_traps true -#define __glibcpp_unsigned_long_long_min __glibcpp_u64_min -#define __glibcpp_unsigned_long_long_max __glibcpp_u64_max -#define __glibcpp_unsigned_long_long_digits __glibcpp_u64_digits -#define __glibcpp_unsigned_long_long_digits10 __glibcpp_u64_digits10 -#define __glibcpp_unsigned_long_long_traps true -#else -// You must define these macros in the configuration file. -#endif - -// wchar_t - -#define __glibcpp_wchar_t_traps true -#ifndef __glibcpp_wchar_t_is_modulo -#define __glibcpp_wchar_t_is_modulo true -#endif -#if __glibcpp_wchar_t_is_signed -#if __glibcpp_wchar_t_bits == 8 -#define __glibcpp_wchar_t_min __glibcpp_s8_min -#define __glibcpp_wchar_t_max __glibcpp_s8_max -#define __glibcpp_wchar_t_digits __glibcpp_s8_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_s8_digits10 -#elif __glibcpp_wchar_t_bits == 16 -#define __glibcpp_wchar_t_min __glibcpp_s16_min -#define __glibcpp_wchar_t_max __glibcpp_s16_max -#define __glibcpp_wchar_t_digits __glibcpp_s16_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_s16_digits10 -#elif __glibcpp_wchar_t_bits == 32 -#define __glibcpp_wchar_t_min (wchar_t)__glibcpp_s32_min -#define __glibcpp_wchar_t_max (wchar_t)__glibcpp_s32_max -#define __glibcpp_wchar_t_digits __glibcpp_s32_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_s32_digits10 -#elif __glibcpp_wchar_t_bits == 64 -#define __glibcpp_wchar_t_min (wchar_t)__glibcpp_s64_min -#define __glibcpp_wchar_t_max (wchar_t)__glibcpp_s64_max -#define __glibcpp_wchar_t_digits __glibcpp_s64_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_s64_digits10 -#else -// You must define these macros in the configuration file. -#endif -#else -#if __glibcpp_wchar_t_bits == 8 -#define __glibcpp_wchar_t_min __glibcpp_u8_min -#define __glibcpp_wchar_t_max __glibcpp_u8_max -#define __glibcpp_wchar_t_digits __glibcpp_u8_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_u8_digits10 -#elif __glibcpp_wchar_t_bits == 16 -#define __glibcpp_wchar_t_min __glibcpp_u16_min -#define __glibcpp_wchar_t_max __glibcpp_u16_max -#define __glibcpp_wchar_t_digits __glibcpp_u16_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_u16_digits10 -#elif __glibcpp_wchar_t_bits == 32 -#define __glibcpp_wchar_t_min (wchar_t)__glibcpp_u32_min -#define __glibcpp_wchar_t_max (wchar_t)__glibcpp_u32_max -#define __glibcpp_wchar_t_digits __glibcpp_u32_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_u32_digits10 -#elif __glibcpp_wchar_t_bits == 64 -#define __glibcpp_wchar_t_min (wchar_t)__glibcpp_u64_min -#define __glibcpp_wchar_t_max (wchar_t)__glibcpp_u64_max -#define __glibcpp_wchar_t_digits __glibcpp_u64_digits -#define __glibcpp_wchar_t_digits10 __glibcpp_u64_digits10 -#else -// You must define these macros in the configuration file. -#endif +// GCC only intrinsicly supports modulo integral types. The only remaining +// integral exceptional values is division by zero. Only targets that do not +// signal division by zero in some "hard to ignore" way should use false. +#ifndef __glibcpp_integral_traps +# define __glibcpp_integral_traps true #endif // float // -#if __glibcpp_float_bits == 32 -#define __glibcpp_float_min __glibcpp_f32_min -#define __glibcpp_float_max __glibcpp_f32_max -#define __glibcpp_float_digits __glibcpp_f32_digits -#define __glibcpp_float_digits10 __glibcpp_f32_digits10 -#define __glibcpp_float_radix __glibcpp_f32_radix -#define __glibcpp_float_epsilon __glibcpp_f32_epsilon -#define __glibcpp_float_round_error __glibcpp_f32_round_error -#define __glibcpp_float_min_exponent __glibcpp_f32_min_exponent -#define __glibcpp_float_min_exponent10 __glibcpp_f32_min_exponent10 -#define __glibcpp_float_max_exponent __glibcpp_f32_max_exponent -#define __glibcpp_float_max_exponent10 __glibcpp_f32_max_exponent10 -#elif __glibcpp_float_bits == 64 -#define __glibcpp_float_min __glibcpp_f64_min -#define __glibcpp_float_max __glibcpp_f64_max -#define __glibcpp_float_digits __glibcpp_f64_digits -#define __glibcpp_float_digits10 __glibcpp_f64_digits10 -#define __glibcpp_float_radix __glibcpp_f64_radix -#define __glibcpp_float_epsilon __glibcpp_f64_epsilon -#define __glibcpp_float_round_error __glibcpp_f64_round_error -#define __glibcpp_float_min_exponent __glibcpp_f64_min_exponent -#define __glibcpp_float_min_exponent10 __glibcpp_f64_min_exponent10 -#define __glibcpp_float_max_exponent __glibcpp_f64_max_exponent -#define __glibcpp_float_max_exponent10 __glibcpp_f64_max_exponent10 -#elif __glibcpp_float_bits == 80 -#define __glibcpp_float_min __glibcpp_f80_min -#define __glibcpp_float_max __glibcpp_f80_max -#define __glibcpp_float_digits __glibcpp_f80_digits -#define __glibcpp_float_digits10 __glibcpp_f80_digits10 -#define __glibcpp_float_radix __glibcpp_f80_radix -#define __glibcpp_float_epsilon __glibcpp_f80_epsilon -#define __glibcpp_float_round_error __glibcpp_f80_round_error -#define __glibcpp_float_min_exponent __glibcpp_f80_min_exponent -#define __glibcpp_float_min_exponent10 __glibcpp_f80_min_exponent10 -#define __glibcpp_float_max_exponent __glibcpp_f80_max_exponent -#define __glibcpp_float_max_exponent10 __glibcpp_f80_max_exponent10 -#else -// You must define these macros in the configuration file. -#endif - -// FIXME: These are just stubs and inkorrect - -#ifndef __glibcpp_float_has_infinity -#define __glibcpp_float_has_infinity false -#endif - -#ifndef __glibcpp_float_has_quiet_NaN -#define __glibcpp_float_has_quiet_NaN false -#endif - -#ifndef __glibcpp_float_has_signaling_NaN -#define __glibcpp_float_has_signaling_NaN false -#endif - -#ifndef __glibcpp_float_has_denorm -#define __glibcpp_float_has_denorm denorm_absent -#endif +// Default values. Should be overriden in configuration files if necessary. #ifndef __glibcpp_float_has_denorm_loss -#define __glibcpp_float_has_denorm_loss false -#endif - -#ifndef __glibcpp_float_infinity -#define __glibcpp_float_infinity 0.0F -#endif - -#ifndef __glibcpp_float_quiet_NaN -#define __glibcpp_float_quiet_NaN 0.0F -#endif - -#ifndef __glibcpp_float_signaling_NaN -#define __glibcpp_float_signaling_NaN 0.0F -#endif - -#ifndef __glibcpp_float_denorm_min -#define __glibcpp_float_denorm_min 0.0F +# define __glibcpp_float_has_denorm_loss false #endif - -#ifndef __glibcpp_float_is_iec559 -#define __glibcpp_float_is_iec559 false -#endif - -#ifndef __glibcpp_float_is_bounded -#define __glibcpp_float_is_bounded true -#endif - -#ifndef __glibcpp_float_is_modulo -#define __glibcpp_float_is_modulo false -#endif - #ifndef __glibcpp_float_traps -#define __glibcpp_float_traps false +# define __glibcpp_float_traps false #endif - #ifndef __glibcpp_float_tinyness_before -#define __glibcpp_float_tinyness_before false -#endif - -#ifndef __glibcpp_float_round_style -#define __glibcpp_float_round_style round_toward_zero +# define __glibcpp_float_tinyness_before false #endif // double -#if __glibcpp_double_bits == 32 -#define __glibcpp_double_min __glibcpp_f32_min -#define __glibcpp_double_max __glibcpp_f32_max -#define __glibcpp_double_digits __glibcpp_f32_digits -#define __glibcpp_double_digits10 __glibcpp_f32_digits10 -#define __glibcpp_double_radix __glibcpp_f32_radix -#define __glibcpp_double_epsilon __glibcpp_f32_epsilon -#define __glibcpp_double_round_error __glibcpp_f32_round_error -#define __glibcpp_double_min_exponent __glibcpp_f32_min_exponent -#define __glibcpp_double_min_exponent10 __glibcpp_f32_min_exponent10 -#define __glibcpp_double_max_exponent __glibcpp_f32_max_exponent -#define __glibcpp_double_max_exponent10 __glibcpp_f32_max_exponent10 -#elif __glibcpp_double_bits == 64 -#define __glibcpp_double_min __glibcpp_f64_min -#define __glibcpp_double_max __glibcpp_f64_max -#define __glibcpp_double_digits __glibcpp_f64_digits -#define __glibcpp_double_digits10 __glibcpp_f64_digits10 -#define __glibcpp_double_radix __glibcpp_f64_radix -#define __glibcpp_double_epsilon __glibcpp_f64_epsilon -#define __glibcpp_double_round_error __glibcpp_f64_round_error -#define __glibcpp_double_min_exponent __glibcpp_f64_min_exponent -#define __glibcpp_double_min_exponent10 __glibcpp_f64_min_exponent10 -#define __glibcpp_double_max_exponent __glibcpp_f64_max_exponent -#define __glibcpp_double_max_exponent10 __glibcpp_f64_max_exponent10 -#elif __glibcpp_double_bits == 80 -#define __glibcpp_double_min __glibcpp_f80_min -#define __glibcpp_double_max __glibcpp_f80_max -#define __glibcpp_double_digits __glibcpp_f80_digits -#define __glibcpp_double_digits10 __glibcpp_f80_digits10 -#define __glibcpp_double_radix __glibcpp_f80_radix -#define __glibcpp_double_epsilon __glibcpp_f80_epsilon -#define __glibcpp_double_round_error __glibcpp_f80_round_error -#define __glibcpp_double_min_exponent __glibcpp_f80_min_exponent -#define __glibcpp_double_min_exponent10 __glibcpp_f80_min_exponent10 -#define __glibcpp_double_max_exponent __glibcpp_f80_max_exponent -#define __glibcpp_double_max_exponent10 __glibcpp_f80_max_exponent10 -#else -// You must define these macros in the configuration file. -#endif - -// FIXME: These are just stubs and inkorrect - -#ifndef __glibcpp_double_has_infinity -#define __glibcpp_double_has_infinity false -#endif - -#ifndef __glibcpp_double_has_quiet_NaN -#define __glibcpp_double_has_quiet_NaN false -#endif - -#ifndef __glibcpp_double_has_signaling_NaN -#define __glibcpp_double_has_signaling_NaN false -#endif - -#ifndef __glibcpp_double_has_denorm -#define __glibcpp_double_has_denorm denorm_absent -#endif +// Default values. Should be overriden in configuration files if necessary. #ifndef __glibcpp_double_has_denorm_loss -#define __glibcpp_double_has_denorm_loss false -#endif - -#ifndef __glibcpp_double_infinity -#define __glibcpp_double_infinity 0.0 +# define __glibcpp_double_has_denorm_loss false #endif - -#ifndef __glibcpp_double_quiet_NaN -#define __glibcpp_double_quiet_NaN 0.0 -#endif - -#ifndef __glibcpp_double_signaling_NaN -#define __glibcpp_double_signaling_NaN 0.0 -#endif - -#ifndef __glibcpp_double_denorm_min -#define __glibcpp_double_denorm_min 0.0 -#endif - -#ifndef __glibcpp_double_is_iec559 -#define __glibcpp_double_is_iec559 false -#endif - -#ifndef __glibcpp_double_is_bounded -#define __glibcpp_double_is_bounded true -#endif - -#ifndef __glibcpp_double_is_modulo -#define __glibcpp_double_is_modulo false -#endif - #ifndef __glibcpp_double_traps -#define __glibcpp_double_traps false +# define __glibcpp_double_traps false #endif - #ifndef __glibcpp_double_tinyness_before -#define __glibcpp_double_tinyness_before false -#endif - -#ifndef __glibcpp_double_round_style -#define __glibcpp_double_round_style round_toward_zero +# define __glibcpp_double_tinyness_before false #endif // long double -#if __glibcpp_long_double_bits == 32 -#define __glibcpp_long_double_min __glibcpp_f32_min -#define __glibcpp_long_double_max __glibcpp_f32_max -#define __glibcpp_long_double_digits __glibcpp_f32_digits -#define __glibcpp_long_double_digits10 __glibcpp_f32_digits10 -#define __glibcpp_long_double_radix __glibcpp_f32_radix -#define __glibcpp_long_double_epsilon __glibcpp_f32_epsilon -#define __glibcpp_long_double_round_error __glibcpp_f32_round_error -#define __glibcpp_long_double_min_exponent __glibcpp_f32_min_exponent -#define __glibcpp_long_double_min_exponent10 __glibcpp_f32_min_exponent10 -#define __glibcpp_long_double_max_exponent __glibcpp_f32_max_exponent -#define __glibcpp_long_double_max_exponent10 __glibcpp_f32_max_exponent10 -#elif __glibcpp_long_double_bits == 64 -#define __glibcpp_long_double_min __glibcpp_f64_min -#define __glibcpp_long_double_max __glibcpp_f64_max -#define __glibcpp_long_double_digits __glibcpp_f64_digits -#define __glibcpp_long_double_digits10 __glibcpp_f64_digits10 -#define __glibcpp_long_double_radix __glibcpp_f64_radix -#define __glibcpp_long_double_epsilon __glibcpp_f64_epsilon -#define __glibcpp_long_double_round_error __glibcpp_f64_round_error -#define __glibcpp_long_double_min_exponent __glibcpp_f64_min_exponent -#define __glibcpp_long_double_min_exponent10 __glibcpp_f64_min_exponent10 -#define __glibcpp_long_double_max_exponent __glibcpp_f64_max_exponent -#define __glibcpp_long_double_max_exponent10 __glibcpp_f64_max_exponent10 -#elif __glibcpp_long_double_bits == 80 -#define __glibcpp_long_double_min __glibcpp_f80_min -#define __glibcpp_long_double_max __glibcpp_f80_max -#define __glibcpp_long_double_digits __glibcpp_f80_digits -#define __glibcpp_long_double_digits10 __glibcpp_f80_digits10 -#define __glibcpp_long_double_radix __glibcpp_f80_radix -#define __glibcpp_long_double_epsilon __glibcpp_f80_epsilon -#define __glibcpp_long_double_round_error __glibcpp_f80_round_error -#define __glibcpp_long_double_min_exponent __glibcpp_f80_min_exponent -#define __glibcpp_long_double_min_exponent10 __glibcpp_f80_min_exponent10 -#define __glibcpp_long_double_max_exponent __glibcpp_f80_max_exponent -#define __glibcpp_long_double_max_exponent10 __glibcpp_f80_max_exponent10 -#elif __glibcpp_long_double_bits == 96 -#define __glibcpp_long_double_min __glibcpp_f96_min -#define __glibcpp_long_double_max __glibcpp_f96_max -#define __glibcpp_long_double_digits __glibcpp_f96_digits -#define __glibcpp_long_double_digits10 __glibcpp_f96_digits10 -#define __glibcpp_long_double_radix __glibcpp_f96_radix -#define __glibcpp_long_double_epsilon __glibcpp_f96_epsilon -#define __glibcpp_long_double_round_error __glibcpp_f96_round_error -#define __glibcpp_long_double_min_exponent __glibcpp_f96_min_exponent -#define __glibcpp_long_double_min_exponent10 __glibcpp_f96_min_exponent10 -#define __glibcpp_long_double_max_exponent __glibcpp_f96_max_exponent -#define __glibcpp_long_double_max_exponent10 __glibcpp_f96_max_exponent10 -#elif __glibcpp_long_double_bits == 128 -#define __glibcpp_long_double_min __glibcpp_f128_min -#define __glibcpp_long_double_max __glibcpp_f128_max -#define __glibcpp_long_double_digits __glibcpp_f128_digits -#define __glibcpp_long_double_digits10 __glibcpp_f128_digits10 -#define __glibcpp_long_double_radix __glibcpp_f128_radix -#define __glibcpp_long_double_epsilon __glibcpp_f128_epsilon -#define __glibcpp_long_double_round_error __glibcpp_f128_round_error -#define __glibcpp_long_double_min_exponent __glibcpp_f128_min_exponent -#define __glibcpp_long_double_min_exponent10 __glibcpp_f128_min_exponent10 -#define __glibcpp_long_double_max_exponent __glibcpp_f128_max_exponent -#define __glibcpp_long_double_max_exponent10 __glibcpp_f128_max_exponent10 -#else -// You must define these macros in the configuration file. -#endif - -// FIXME: These are just stubs and inkorrect - -#ifndef __glibcpp_long_double_has_infinity -#define __glibcpp_long_double_has_infinity false -#endif - -#ifndef __glibcpp_long_double_has_quiet_NaN -#define __glibcpp_long_double_has_quiet_NaN false -#endif - -#ifndef __glibcpp_long_double_has_signaling_NaN -#define __glibcpp_long_double_has_signaling_NaN false -#endif - -#ifndef __glibcpp_long_double_has_denorm -#define __glibcpp_long_double_has_denorm denorm_absent -#endif +// Default values. Should be overriden in configuration files if necessary. #ifndef __glibcpp_long_double_has_denorm_loss -#define __glibcpp_long_double_has_denorm_loss false -#endif - -#ifndef __glibcpp_long_double_infinity -#define __glibcpp_long_double_infinity 0.0L +# define __glibcpp_long_double_has_denorm_loss false #endif - -#ifndef __glibcpp_long_double_quiet_NaN -#define __glibcpp_long_double_quiet_NaN 0.0L -#endif - -#ifndef __glibcpp_long_double_signaling_NaN -#define __glibcpp_long_double_signaling_NaN 0.0L +#ifndef __glibcpp_long_double_traps +# define __glibcpp_long_double_traps false #endif - -#ifndef __glibcpp_long_double_denorm_min -#define __glibcpp_long_double_denorm_min 0.0L +#ifndef __glibcpp_long_double_tinyness_before +# define __glibcpp_long_double_tinyness_before false #endif -#ifndef __glibcpp_long_double_is_iec559 -#define __glibcpp_long_double_is_iec559 false -#endif +// You should not need to define any macros below this point. -#ifndef __glibcpp_long_double_is_bounded -#define __glibcpp_long_double_is_bounded true -#endif +#define __glibcpp_signed(T) ((T)(-1) < 0) -#ifndef __glibcpp_long_double_is_modulo -#define __glibcpp_long_double_is_modulo false -#endif +#define __glibcpp_min(T) \ + (__glibcpp_signed (T) ? (T)1 << __glibcpp_digits (T) : (T)0) -#ifndef __glibcpp_long_double_traps -#define __glibcpp_long_double_traps false -#endif +#define __glibcpp_max(T) \ + (__glibcpp_signed (T) ? ((T)1 << __glibcpp_digits (T)) - 1 : ~(T)0) -#ifndef __glibcpp_long_double_tinyness_before -#define __glibcpp_long_double_tinyness_before false -#endif +#define __glibcpp_digits(T) \ + (sizeof(T) * __CHAR_BIT__ - __glibcpp_signed (T)) -#ifndef __glibcpp_long_double_round_style -#define __glibcpp_long_double_round_style round_toward_zero -#endif +// The fraction 643/2136 approximates log10(2) to 7 significant digits. +#define __glibcpp_digits10(T) \ + (__glibcpp_digits (T) * 643 / 2136) namespace std { - enum float_round_style + enum float_round_style { round_indeterminate = -1, round_toward_zero = 0, @@ -895,7 +158,7 @@ namespace std round_toward_neg_infinity = 3 }; - enum float_denorm_style + enum float_denorm_style { denorm_indeterminate = -1, denorm_absent = 0, @@ -920,7 +183,7 @@ namespace std static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; - + static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; @@ -936,8 +199,8 @@ namespace std static const float_round_style round_style = round_toward_zero; }; - template<typename _Tp> - struct numeric_limits : public __numeric_limits_base + template<typename _Tp> + struct numeric_limits : public __numeric_limits_base { static _Tp min() throw() { return static_cast<_Tp>(0); } static _Tp max() throw() { return static_cast<_Tp>(0); } @@ -950,7 +213,7 @@ namespace std }; // Now there follow 15 explicit specializations. Yes, 15. Make sure - // you get the count right. + // you get the count right. template<> struct numeric_limits<bool> { @@ -958,11 +221,10 @@ namespace std static bool min() throw() { return false; } - static bool max() throw() { return true; } - static const int digits = __glibcpp_bool_digits; + static const int digits = 1; static const int digits10 = 0; static const bool is_signed = false; static const bool is_integer = true; @@ -1000,34 +262,31 @@ namespace std // It is not clear what it means for a boolean type to trap. // This is a DR on the LWG issue list. Here, I use integer // promotion semantics. - static const bool traps = __glibcpp_signed_int_traps - || __glibcpp_signed_long_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_bool_digits - template<> struct numeric_limits<char> { static const bool is_specialized = true; static char min() throw() - { return __glibcpp_char_min; } + { return __glibcpp_min(char); } static char max() throw() - { return __glibcpp_char_max; } + { return __glibcpp_max(char); } - static const int digits = __glibcpp_char_digits; - static const int digits10 = __glibcpp_char_digits10; - static const bool is_signed = __glibcpp_plain_char_is_signed; + static const int digits = __glibcpp_digits (char); + static const int digits10 = __glibcpp_digits10 (char); + static const bool is_signed = __glibcpp_signed (char); static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; static char epsilon() throw() - { return char(); } + { return 0; } static char round_error() throw() - { return char(); } + { return 0; } static const int min_exponent = 0; static const int min_exponent10 = 0; @@ -1051,35 +310,25 @@ namespace std static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = __glibcpp_char_is_modulo; + static const bool is_modulo = true; - static const bool traps = __glibcpp_char_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_char_min -#undef __glibcpp_char_max -#undef __glibcpp_char_digits -#undef __glibcpp_char_digits10 -#undef __glibcpp_char_is_signed -#undef __glibcpp_char_is_modulo -#undef __glibcpp_char_traps - - - template<> struct numeric_limits<signed char> { static const bool is_specialized = true; static signed char min() throw() - { return __glibcpp_signed_char_min; } + { return -__SCHAR_MAX__ - 1; } static signed char max() throw() - { return __glibcpp_signed_char_max; } + { return __SCHAR_MAX__; } - static const int digits = __glibcpp_signed_char_digits; - static const int digits10 = __glibcpp_signed_char_digits10; + static const int digits = __glibcpp_digits (signed char); + static const int digits10 = __glibcpp_digits10 (signed char); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; @@ -1111,20 +360,13 @@ namespace std static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = __glibcpp_signed_char_is_modulo; + static const bool is_modulo = true; - static const bool traps = __glibcpp_signed_char_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_signed_char_min -#undef __glibcpp_signed_char_max -#undef __glibcpp_signed_char_digits -#undef __glibcpp_signed_char_digits10 -#undef __glibcpp_signed_char_is_modulo -#undef __glibcpp_signed_char_traps - template<> struct numeric_limits<unsigned char> { @@ -1133,10 +375,10 @@ namespace std static unsigned char min() throw() { return 0; } static unsigned char max() throw() - { return __glibcpp_unsigned_char_max; } + { return __SCHAR_MAX__ * 2U + 1; } - static const int digits = __glibcpp_unsigned_char_digits; - static const int digits10 = __glibcpp_unsigned_char_digits10; + static const int digits = __glibcpp_digits (unsigned char); + static const int digits10 = __glibcpp_digits10 (unsigned char); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; @@ -1170,29 +412,24 @@ namespace std static const bool is_bounded = true; static const bool is_modulo = true; - static const bool traps = __glibcpp_unsigned_char_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_unsigned_char_max -#undef __glibcpp_unsigned_char_digits -#undef __glibcpp_unsigned_char_digits10 -#undef __glibcpp_unsigned_char_traps - template<> struct numeric_limits<wchar_t> { static const bool is_specialized = true; static wchar_t min() throw() - { return __glibcpp_wchar_t_min; } + { return __glibcpp_min (wchar_t); } static wchar_t max() throw() - { return __glibcpp_wchar_t_max; } + { return __glibcpp_max (wchar_t); } - static const int digits = __glibcpp_wchar_t_digits; - static const int digits10 = __glibcpp_wchar_t_digits10; - static const bool is_signed = __glibcpp_wchar_t_is_signed; + static const int digits = __glibcpp_digits (wchar_t); + static const int digits10 = __glibcpp_digits10 (wchar_t); + static const bool is_signed = __glibcpp_signed (wchar_t); static const bool is_integer = true; static const bool is_exact = true; static const int radix = 2; @@ -1223,33 +460,25 @@ namespace std static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = __glibcpp_wchar_t_is_modulo; + static const bool is_modulo = true; - static const bool traps = __glibcpp_wchar_t_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_wchar_t_min -#undef __glibcpp_wchar_t_max -#undef __glibcpp_wchar_t_digits -#undef __glibcpp_wchar_t_digits10 -#undef __glibcpp_wchar_t_is_signed -#undef __glibcpp_wchar_t_is_modulo -#undef __glibcpp_wchar_t_traps - template<> struct numeric_limits<short> { static const bool is_specialized = true; static short min() throw() - { return __glibcpp_signed_short_min; } + { return -__SHRT_MAX__ - 1; } static short max() throw() - { return __glibcpp_signed_short_max; } + { return __SHRT_MAX__; } - static const int digits = __glibcpp_signed_short_digits; - static const int digits10 = __glibcpp_signed_short_digits10; + static const int digits = __glibcpp_digits (short); + static const int digits10 = __glibcpp_digits10 (short); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; @@ -1279,22 +508,15 @@ namespace std static short denorm_min() throw() { return short(); } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = __glibcpp_signed_short_is_modulo; + static const bool is_modulo = true; - static const bool traps = __glibcpp_signed_short_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_signed_short_min -#undef __glibcpp_signed_short_max -#undef __glibcpp_signed_short_digits -#undef __glibcpp_signed_short_digits10 -#undef __glibcpp_signed_short_is_modulo -#undef __glibcpp_signed_short_traps - template<> struct numeric_limits<unsigned short> { @@ -1303,10 +525,10 @@ namespace std static unsigned short min() throw() { return 0; } static unsigned short max() throw() - { return __glibcpp_unsigned_short_max; } + { return __SHRT_MAX__ * 2U + 1; } - static const int digits = __glibcpp_unsigned_short_digits; - static const int digits10 = __glibcpp_unsigned_short_digits10; + static const int digits = __glibcpp_digits (unsigned short); + static const int digits10 = __glibcpp_digits10 (unsigned short); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; @@ -1336,32 +558,27 @@ namespace std static unsigned short denorm_min() throw() { return static_cast<unsigned short>(0); } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; - static const bool traps = __glibcpp_unsigned_short_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_unsigned_short_max -#undef __glibcpp_unsigned_short_digits -#undef __glibcpp_unsigned_short_digits10 -#undef __glibcpp_unsigned_short_traps - template<> struct numeric_limits<int> { static const bool is_specialized = true; static int min() throw() - { return __glibcpp_signed_int_min; } + { return -__INT_MAX__ - 1; } static int max() throw() - { return __glibcpp_signed_int_max; } + { return __INT_MAX__; } - static const int digits = __glibcpp_signed_int_digits; - static const int digits10 = __glibcpp_signed_int_digits10; + static const int digits = __glibcpp_digits (int); + static const int digits10 = __glibcpp_digits10 (int); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; @@ -1391,22 +608,15 @@ namespace std static int denorm_min() throw() { return static_cast<int>(0); } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = __glibcpp_signed_int_is_modulo; + static const bool is_modulo = true; - static const bool traps = __glibcpp_signed_int_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_signed_int_min -#undef __glibcpp_signed_int_max -#undef __glibcpp_signed_int_digits -#undef __glibcpp_signed_int_digits10 -#undef __glibcpp_signed_int_is_modulo -#undef __glibcpp_signed_int_traps - template<> struct numeric_limits<unsigned int> { @@ -1414,11 +624,11 @@ namespace std static unsigned int min() throw() { return 0; } - static unsigned int max() throw() - { return __glibcpp_unsigned_int_max; } + static unsigned int max() throw() + { return __INT_MAX__ * 2U + 1; } - static const int digits = __glibcpp_unsigned_int_digits; - static const int digits10 = __glibcpp_unsigned_int_digits10; + static const int digits = __glibcpp_digits (unsigned int); + static const int digits10 = __glibcpp_digits10 (unsigned int); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; @@ -1448,32 +658,27 @@ namespace std static unsigned int denorm_min() throw() { return static_cast<unsigned int>(0); } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; - static const bool traps = __glibcpp_unsigned_int_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_unsigned_int_max -#undef __glibcpp_unsigned_int_digits -#undef __glibcpp_unsigned_int_digits10 -#undef __glibcpp_unsigned_int_traps - template<> struct numeric_limits<long> { static const bool is_specialized = true; static long min() throw() - { return __glibcpp_signed_long_min; } + { return -__LONG_MAX__ - 1; } static long max() throw() - { return __glibcpp_signed_long_max; } + { return __LONG_MAX__; } - static const int digits = __glibcpp_signed_long_digits; - static const int digits10 = __glibcpp_signed_long_digits10; + static const int digits = __glibcpp_digits (long); + static const int digits10 = __glibcpp_digits10 (long); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; @@ -1503,22 +708,15 @@ namespace std static long denorm_min() throw() { return static_cast<long>(0); } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = __glibcpp_signed_long_is_modulo; + static const bool is_modulo = true; - static const bool traps = __glibcpp_signed_long_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_signed_long_min -#undef __glibcpp_signed_long_max -#undef __glibcpp_signed_long_digits -#undef __glibcpp_signed_long_digits10 -#undef __glibcpp_signed_long_is_modulo -#undef __glibcpp_signed_long_traps - template<> struct numeric_limits<unsigned long> { @@ -1527,10 +725,10 @@ namespace std static unsigned long min() throw() { return 0; } static unsigned long max() throw() - { return __glibcpp_unsigned_long_max; } + { return __LONG_MAX__ * 2UL + 1; } - static const int digits = __glibcpp_unsigned_long_digits; - static const int digits10 = __glibcpp_unsigned_long_digits10; + static const int digits = __glibcpp_digits (unsigned long); + static const int digits10 = __glibcpp_digits10 (unsigned long); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; @@ -1560,32 +758,27 @@ namespace std static unsigned long denorm_min() throw() { return static_cast<unsigned long>(0); } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; - static const bool traps = __glibcpp_unsigned_long_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_unsigned_long_max -#undef __glibcpp_unsigned_long_digits -#undef __glibcpp_unsigned_long_digits10 -#undef __glibcpp_unsigned_long_traps - template<> struct numeric_limits<long long> { static const bool is_specialized = true; - + static long long min() throw() - { return __glibcpp_signed_long_long_min; } + { return -__LONG_LONG_MAX__ - 1; } static long long max() throw() - { return __glibcpp_signed_long_long_max; } - - static const int digits = __glibcpp_signed_long_long_digits; - static const int digits10 = __glibcpp_signed_long_long_digits10; + { return __LONG_LONG_MAX__; } + + static const int digits = __glibcpp_digits (long long); + static const int digits10 = __glibcpp_digits10 (long long); static const bool is_signed = true; static const bool is_integer = true; static const bool is_exact = true; @@ -1594,18 +787,18 @@ namespace std { return 0; } static long long round_error() throw() { return 0; } - + static const int min_exponent = 0; static const int min_exponent10 = 0; static const int max_exponent = 0; static const int max_exponent10 = 0; - + static const bool has_infinity = false; static const bool has_quiet_NaN = false; static const bool has_signaling_NaN = false; static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false; - + static long long infinity() throw() { return static_cast<long long>(0); } static long long quiet_NaN() throw() @@ -1614,23 +807,16 @@ namespace std { return static_cast<long long>(0); } static long long denorm_min() throw() { return static_cast<long long>(0); } - - static const bool is_iec559 = true; + + static const bool is_iec559 = false; static const bool is_bounded = true; - static const bool is_modulo = __glibcpp_signed_long_long_is_modulo; + static const bool is_modulo = true; - static const bool traps = __glibcpp_signed_long_long_traps; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_signed_long_long_min -#undef __glibcpp_signed_long_long_max -#undef __glibcpp_signed_long_long_digits -#undef __glibcpp_signed_long_long_digits10 -#undef __glibcpp_signed_long_long_is_modulo -#undef __glibcpp_signed_long_long_traps - template<> struct numeric_limits<unsigned long long> { @@ -1639,10 +825,10 @@ namespace std static unsigned long long min() throw() { return 0; } static unsigned long long max() throw() - { return __glibcpp_unsigned_long_long_max; } + { return __LONG_LONG_MAX__ * 2ULL + 1; } - static const int digits = __glibcpp_unsigned_long_long_digits; - static const int digits10 = __glibcpp_unsigned_long_long_digits10; + static const int digits = __glibcpp_digits (unsigned long long); + static const int digits10 = __glibcpp_digits10 (unsigned long long); static const bool is_signed = false; static const bool is_integer = true; static const bool is_exact = true; @@ -1672,95 +858,72 @@ namespace std static unsigned long long denorm_min() throw() { return static_cast<unsigned long long>(0); } - static const bool is_iec559 = true; + static const bool is_iec559 = false; static const bool is_bounded = true; static const bool is_modulo = true; - static const bool traps = true; + static const bool traps = __glibcpp_integral_traps; static const bool tinyness_before = false; static const float_round_style round_style = round_toward_zero; }; -#undef __glibcpp_unsigned_long_long_max -#undef __glibcpp_unsigned_long_long_digits -#undef __glibcpp_unsigned_long_long_digits10 -#undef __glibcpp_unsigned_long_long_traps - template<> struct numeric_limits<float> { static const bool is_specialized = true; static float min() throw() - { return __glibcpp_float_min; } + { return __FLT_MIN__; } static float max() throw() - { return __glibcpp_float_max; } + { return __FLT_MAX__; } - static const int digits = __glibcpp_float_digits; - static const int digits10 = __glibcpp_float_digits10; + static const int digits = __FLT_MANT_DIG__; + static const int digits10 = __FLT_DIG__; static const bool is_signed = true; static const bool is_integer = false; static const bool is_exact = false; - static const int radix = __glibcpp_float_radix; + static const int radix = __FLT_RADIX__; static float epsilon() throw() - { return __glibcpp_float_epsilon; } + { return __FLT_EPSILON__; } static float round_error() throw() - { return __glibcpp_float_round_error; } - - static const int min_exponent = __glibcpp_float_min_exponent; - static const int min_exponent10 = __glibcpp_float_min_exponent10; - static const int max_exponent = __glibcpp_float_max_exponent; - static const int max_exponent10 = __glibcpp_float_max_exponent10; - - static const bool has_infinity = __glibcpp_float_has_infinity; - static const bool has_quiet_NaN = __glibcpp_float_has_quiet_NaN; - static const bool has_signaling_NaN = __glibcpp_float_has_signaling_NaN; - static const float_denorm_style has_denorm = __glibcpp_float_has_denorm; + { return 0.5F; } + + static const int min_exponent = __FLT_MIN_EXP__; + static const int min_exponent10 = __FLT_MIN_10_EXP__; + static const int max_exponent = __FLT_MAX_EXP__; + static const int max_exponent10 = __FLT_MAX_10_EXP__; + + static const bool has_infinity + = __builtin_huge_valf () / 2 == __builtin_huge_valf (); + static const bool has_quiet_NaN + = __builtin_nanf ("") != __builtin_nanf (""); + static const bool has_signaling_NaN = has_quiet_NaN; + static const float_denorm_style has_denorm + = __FLT_DENORM_MIN__ ? denorm_present : denorm_absent; static const bool has_denorm_loss = __glibcpp_float_has_denorm_loss; static float infinity() throw() - { return __glibcpp_float_infinity; } + { return __builtin_huge_valf (); } static float quiet_NaN() throw() - { return __glibcpp_float_quiet_NaN; } + { return __builtin_nanf (""); } static float signaling_NaN() throw() - { return __glibcpp_float_signaling_NaN; } + { return __builtin_nansf (""); } static float denorm_min() throw() - { return __glibcpp_float_denorm_min; } + { return __FLT_DENORM_MIN__; } - static const bool is_iec559 = __glibcpp_float_is_iec559; - static const bool is_bounded = __glibcpp_float_is_bounded; - static const bool is_modulo = __glibcpp_float_is_modulo; + static const bool is_iec559 + = has_infinity && has_quiet_NaN && has_denorm == denorm_present; + static const bool is_bounded = true; + static const bool is_modulo = false; static const bool traps = __glibcpp_float_traps; static const bool tinyness_before = __glibcpp_float_tinyness_before; - static const float_round_style round_style = __glibcpp_float_round_style; + static const float_round_style round_style = round_to_nearest; }; -#undef __glibcpp_float_min -#undef __glibcpp_float_max -#undef __glibcpp_float_digits -#undef __glibcpp_float_digits10 -#undef __glibcpp_float_radix -#undef __glibcpp_float_round_error -#undef __glibcpp_float_min_exponent -#undef __glibcpp_float_min_exponent10 -#undef __glibcpp_float_max_exponent -#undef __glibcpp_float_max_exponent10 -#undef __glibcpp_float_has_infinity -#undef __glibcpp_float_has_quiet_NaN -#undef __glibcpp_float_has_signaling_NaN -#undef __glibcpp_float_has_denorm #undef __glibcpp_float_has_denorm_loss -#undef __glibcpp_float_infinity -#undef __glibcpp_float_quiet_NaN -#undef __glibcpp_float_signaling_NaN -#undef __glibcpp_float_denorm_min -#undef __glibcpp_float_is_iec559 -#undef __glibcpp_float_is_bounded -#undef __glibcpp_float_is_modulo #undef __glibcpp_float_traps #undef __glibcpp_float_tinyness_before -#undef __glibcpp_float_round_style template<> struct numeric_limits<double> @@ -1768,159 +931,123 @@ namespace std static const bool is_specialized = true; static double min() throw() - { return __glibcpp_double_min; } + { return __DBL_MIN__; } static double max() throw() - { return __glibcpp_double_max; } + { return __DBL_MAX__; } - static const int digits = __glibcpp_double_digits; - static const int digits10 = __glibcpp_double_digits10; + static const int digits = __DBL_MANT_DIG__; + static const int digits10 = __DBL_DIG__; static const bool is_signed = true; static const bool is_integer = false; static const bool is_exact = false; - static const int radix = __glibcpp_double_radix; + static const int radix = __FLT_RADIX__; static double epsilon() throw() - { return __glibcpp_double_epsilon; } + { return __DBL_EPSILON__; } static double round_error() throw() - { return __glibcpp_double_round_error; } - - static const int min_exponent = __glibcpp_double_min_exponent; - static const int min_exponent10 = __glibcpp_double_min_exponent10; - static const int max_exponent = __glibcpp_double_max_exponent; - static const int max_exponent10 = __glibcpp_double_max_exponent10; - - static const bool has_infinity = __glibcpp_double_has_infinity; - static const bool has_quiet_NaN = __glibcpp_double_has_quiet_NaN; - static const bool has_signaling_NaN = __glibcpp_double_has_signaling_NaN; - static const float_denorm_style has_denorm = - __glibcpp_double_has_denorm; + { return 0.5; } + + static const int min_exponent = __DBL_MIN_EXP__; + static const int min_exponent10 = __DBL_MIN_10_EXP__; + static const int max_exponent = __DBL_MAX_EXP__; + static const int max_exponent10 = __DBL_MAX_10_EXP__; + + static const bool has_infinity + = __builtin_huge_val () / 2 == __builtin_huge_val (); + static const bool has_quiet_NaN + = __builtin_nan ("") != __builtin_nan (""); + static const bool has_signaling_NaN = has_quiet_NaN; + static const float_denorm_style has_denorm + = __DBL_DENORM_MIN__ ? denorm_present : denorm_absent; static const bool has_denorm_loss = __glibcpp_double_has_denorm_loss; static double infinity() throw() - { return __glibcpp_double_infinity; } + { return __builtin_huge_val(); } static double quiet_NaN() throw() - { return __glibcpp_double_quiet_NaN; } + { return __builtin_nan (""); } static double signaling_NaN() throw() - { return __glibcpp_double_signaling_NaN; } + { return __builtin_nans (""); } static double denorm_min() throw() - { return __glibcpp_double_denorm_min; } + { return __DBL_DENORM_MIN__; } - static const bool is_iec559 = __glibcpp_double_is_iec559; - static const bool is_bounded = __glibcpp_double_is_bounded; - static const bool is_modulo = __glibcpp_double_is_modulo; + static const bool is_iec559 + = has_infinity && has_quiet_NaN && has_denorm == denorm_present; + static const bool is_bounded = true; + static const bool is_modulo = false; static const bool traps = __glibcpp_double_traps; static const bool tinyness_before = __glibcpp_double_tinyness_before; - static const float_round_style round_style = - __glibcpp_double_round_style; + static const float_round_style round_style = round_to_nearest; }; -#undef __glibcpp_double_min -#undef __glibcpp_double_max -#undef __glibcpp_double_digits -#undef __glibcpp_double_digits10 -#undef __glibcpp_double_radix -#undef __glibcpp_double_round_error -#undef __glibcpp_double_min_exponent -#undef __glibcpp_double_min_exponent10 -#undef __glibcpp_double_max_exponent -#undef __glibcpp_double_max_exponent10 -#undef __glibcpp_double_has_infinity -#undef __glibcpp_double_has_quiet_NaN -#undef __glibcpp_double_has_signaling_NaN -#undef __glibcpp_double_has_denorm #undef __glibcpp_double_has_denorm_loss -#undef __glibcpp_double_infinity -#undef __glibcpp_double_quiet_NaN -#undef __glibcpp_double_signaling_NaN -#undef __glibcpp_double_denorm_min -#undef __glibcpp_double_is_iec559 -#undef __glibcpp_double_is_bounded -#undef __glibcpp_double_is_modulo #undef __glibcpp_double_traps #undef __glibcpp_double_tinyness_before -#undef __glibcpp_double_round_style - - + template<> struct numeric_limits<long double> { static const bool is_specialized = true; static long double min() throw() - { return __glibcpp_long_double_min; } + { return __LDBL_MIN__; } static long double max() throw() - { return __glibcpp_long_double_max; } + { return __LDBL_MAX__; } - static const int digits = __glibcpp_long_double_digits; - static const int digits10 = __glibcpp_long_double_digits10; + static const int digits = __LDBL_MANT_DIG__; + static const int digits10 = __LDBL_DIG__; static const bool is_signed = true; static const bool is_integer = false; static const bool is_exact = false; - static const int radix = __glibcpp_long_double_radix; + static const int radix = __FLT_RADIX__; static long double epsilon() throw() - { return __glibcpp_long_double_epsilon; } + { return __LDBL_EPSILON__; } static long double round_error() throw() - { return __glibcpp_long_double_round_error; } - - static const int min_exponent = __glibcpp_long_double_min_exponent; - static const int min_exponent10 = __glibcpp_long_double_min_exponent10; - static const int max_exponent = __glibcpp_long_double_max_exponent; - static const int max_exponent10 = __glibcpp_long_double_max_exponent10; - - static const bool has_infinity = __glibcpp_long_double_has_infinity; - static const bool has_quiet_NaN = __glibcpp_long_double_has_quiet_NaN; - static const bool has_signaling_NaN = - __glibcpp_long_double_has_signaling_NaN; - static const float_denorm_style has_denorm = - __glibcpp_long_double_has_denorm; - static const bool has_denorm_loss = - __glibcpp_long_double_has_denorm_loss; + { return 0.5L; } + + static const int min_exponent = __LDBL_MIN_EXP__; + static const int min_exponent10 = __LDBL_MIN_10_EXP__; + static const int max_exponent = __LDBL_MAX_EXP__; + static const int max_exponent10 = __LDBL_MAX_10_EXP__; + + static const bool has_infinity + = __builtin_huge_vall () / 2 == __builtin_huge_vall (); + static const bool has_quiet_NaN + = __builtin_nanl ("") != __builtin_nanl (""); + static const bool has_signaling_NaN = has_quiet_NaN; + static const float_denorm_style has_denorm + = __LDBL_DENORM_MIN__ ? denorm_present : denorm_absent; + static const bool has_denorm_loss + = __glibcpp_long_double_has_denorm_loss; static long double infinity() throw() - { return __glibcpp_long_double_infinity; } + { return __builtin_huge_vall (); } static long double quiet_NaN() throw() - { return __glibcpp_long_double_quiet_NaN; } + { return __builtin_nanl (""); } static long double signaling_NaN() throw() - { return __glibcpp_long_double_signaling_NaN; } + { return __builtin_nansl (""); } static long double denorm_min() throw() - { return __glibcpp_long_double_denorm_min; } + { return __LDBL_DENORM_MIN__; } - static const bool is_iec559 = __glibcpp_long_double_is_iec559; - static const bool is_bounded = __glibcpp_long_double_is_bounded; - static const bool is_modulo = __glibcpp_long_double_is_modulo; + static const bool is_iec559 + = has_infinity && has_quiet_NaN && has_denorm == denorm_present; + static const bool is_bounded = true; + static const bool is_modulo = false; - static const bool traps = __glibcpp_long_double_traps; + static const bool traps = __glibcpp_long_double_traps; static const bool tinyness_before = __glibcpp_long_double_tinyness_before; - static const float_round_style round_style = - __glibcpp_long_double_round_style; + static const float_round_style round_style = round_to_nearest; }; -#undef __glibcpp_long_double_min -#undef __glibcpp_long_double_max -#undef __glibcpp_long_double_digits -#undef __glibcpp_long_double_digits10 -#undef __glibcpp_long_double_radix -#undef __glibcpp_long_double_round_error -#undef __glibcpp_long_double_min_exponent -#undef __glibcpp_long_double_min_exponent10 -#undef __glibcpp_long_double_max_exponent -#undef __glibcpp_long_double_max_exponent10 -#undef __glibcpp_long_double_has_infinity -#undef __glibcpp_long_double_has_quiet_NaN -#undef __glibcpp_long_double_has_signaling_NaN -#undef __glibcpp_long_double_has_denorm #undef __glibcpp_long_double_has_denorm_loss -#undef __glibcpp_long_double_infinity -#undef __glibcpp_long_double_quiet_NaN -#undef __glibcpp_long_double_signaling_NaN -#undef __glibcpp_long_double_denorm_min -#undef __glibcpp_long_double_is_iec559 -#undef __glibcpp_long_double_is_bounded -#undef __glibcpp_long_double_is_modulo #undef __glibcpp_long_double_traps #undef __glibcpp_long_double_tinyness_before -#undef __glibcpp_long_double_round_style - + } // namespace std +#undef __glibcpp_signed +#undef __glibcpp_min +#undef __glibcpp_max +#undef __glibcpp_digits +#undef __glibcpp_digits10 + #endif // _CPP_NUMERIC_LIMITS diff --git a/contrib/libstdc++/include/std/std_list.h b/contrib/libstdc++/include/std/std_list.h index f32553b..84523ad 100644 --- a/contrib/libstdc++/include/std/std_list.h +++ b/contrib/libstdc++/include/std/std_list.h @@ -70,8 +70,9 @@ #include <bits/stl_uninitialized.h> #include <bits/stl_list.h> +#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT +# include <bits/list.tcc> +#endif + #endif /* _CPP_LIST */ -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/include/std/std_locale.h b/contrib/libstdc++/include/std/std_locale.h index 9c46b96..2960256 100644 --- a/contrib/libstdc++/include/std/std_locale.h +++ b/contrib/libstdc++/include/std/std_locale.h @@ -1,6 +1,6 @@ // Locale support -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -42,11 +42,8 @@ #pragma GCC system_header #include <bits/localefwd.h> +#include <bits/locale_classes.h> #include <bits/locale_facets.h> #include <bits/locale_facets.tcc> #endif - -// Local Variables: -// mode:c++ -// End: diff --git a/contrib/libstdc++/include/std/std_memory.h b/contrib/libstdc++/include/std/std_memory.h index 5850eb2..47c3ede 100644 --- a/contrib/libstdc++/include/std/std_memory.h +++ b/contrib/libstdc++/include/std/std_memory.h @@ -58,314 +58,301 @@ #include <bits/stl_uninitialized.h> #include <bits/stl_raw_storage_iter.h> -// Since this entire file is within namespace std, there's no reason to -// waste two spaces along the left column. Thus the leading indentation is -// slightly violated from here on. namespace std { -/** - * @if maint - * This is a helper function. The unused second parameter exists to - * permit the real get_temporary_buffer to use template parameter deduction. - * - * XXX This should perhaps use the pool. - * @endif -*/ -template <typename _Tp> -pair<_Tp*, ptrdiff_t> -__get_temporary_buffer(ptrdiff_t __len, _Tp*) -{ - if (__len > ptrdiff_t(INT_MAX / sizeof(_Tp))) - __len = INT_MAX / sizeof(_Tp); - - while (__len > 0) { - _Tp* __tmp = (_Tp*) std::malloc((std::size_t)__len * sizeof(_Tp)); - if (__tmp != 0) - return pair<_Tp*, ptrdiff_t>(__tmp, __len); - __len /= 2; - } - - return pair<_Tp*, ptrdiff_t>((_Tp*)0, 0); -} - -/** - * @brief This is a mostly-useless wrapper around malloc(). - * @param len The number of objects of type Tp. - * @return See full description. - * - * Reinventing the wheel, but this time with prettier spokes! - * - * This function tries to obtain storage for @c len adjacent Tp objects. - * The objects themselves are not constructed, of course. A pair<> is - * returned containing "the buffer s address and capacity (in the units of - * sizeof(Tp)), or a pair of 0 values if no storage can be obtained." - * Note that the capacity obtained may be less than that requested if the - * memory is unavailable; you should compare len with the .second return - * value. -*/ -template<typename _Tp> - inline pair<_Tp*,ptrdiff_t> - get_temporary_buffer(ptrdiff_t __len) - { - return __get_temporary_buffer(__len, (_Tp*) 0); - } - -/** - * @brief The companion to get_temporary_buffer(). - * @param p A buffer previously allocated by get_temporary_buffer. - * @return None. - * - * Frees the memory pointed to by p. - */ -template<typename _Tp> - void - return_temporary_buffer(_Tp* __p) - { - std::free(__p); - } - - -/** - * A wrapper class to provide auto_ptr with reference semantics. For - * example, an auto_ptr can be assigned (or constructed from) the result of - * a function which returns an auto_ptr by value. - * - * All the auto_ptr_ref stuff should happen behind the scenes. -*/ -template<typename _Tp1> - struct auto_ptr_ref -{ - _Tp1* _M_ptr; - - explicit - auto_ptr_ref(_Tp1* __p) - : _M_ptr(__p) {} -}; - - -/** - * @brief A simple smart pointer providing strict ownership semantics. - * - * The Standard says: - * <pre> - * An @c auto_ptr owns the object it holds a pointer to. Copying an - * @c auto_ptr copies the pointer and transfers ownership to the destination. - * If more than one @c auto_ptr owns the same object at the same time the - * behavior of the program is undefined. - * - * The uses of @c auto_ptr include providing temporary exception-safety for - * dynamically allocated memory, passing ownership of dynamically allocated - * memory to a function, and returning dynamically allocated memory from a - * function. @c auto_ptr does not meet the CopyConstructible and Assignable - * requirements for Standard Library <a href="tables.html#65">container</a> - * elements and thus instantiating a Standard Library container with an - * @c auto_ptr results in undefined behavior. - * </pre> - * Quoted from [20.4.5]/3. - * - * Good examples of what can and cannot be done with auto_ptr can be found - * in the libstdc++ testsuite. - * - * @if maint - * _GLIBCPP_RESOLVE_LIB_DEFECTS - * 127. auto_ptr<> conversion issues - * These resolutions have all been incorporated. - * @endif -*/ -template<typename _Tp> - class auto_ptr -{ -private: - _Tp* _M_ptr; - -public: - /// The pointed-to type. - typedef _Tp element_type; - /** - * @brief An %auto_ptr is usually constructed from a raw pointer. - * @param p A pointer (defaults to NULL). - * - * This object now @e owns the object pointed to by @a p. - */ - explicit - auto_ptr(element_type* __p = 0) throw() - : _M_ptr(__p) { } - - /** - * @brief An %auto_ptr can be constructed from another %auto_ptr. - * @param a Another %auto_ptr of the same type. - * - * This object now @e owns the object previously owned by @a a, which has - * given up ownsership. - */ - auto_ptr(auto_ptr& __a) throw() - : _M_ptr(__a.release()) { } - - /** - * @brief An %auto_ptr can be constructed from another %auto_ptr. - * @param a Another %auto_ptr of a different but related type. - * - * A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type. - * - * This object now @e owns the object previously owned by @a a, which has - * given up ownsership. - */ - template<typename _Tp1> - auto_ptr(auto_ptr<_Tp1>& __a) throw() - : _M_ptr(__a.release()) { } - - /** - * @brief %auto_ptr assignment operator. - * @param a Another %auto_ptr of the same type. + * @if maint + * This is a helper function. The unused second parameter exists to + * permit the real get_temporary_buffer to use template parameter deduction. * - * This object now @e owns the object previously owned by @a a, which has - * given up ownsership. The object that this one @e used to own and - * track has been deleted. - */ - auto_ptr& - operator=(auto_ptr& __a) throw() + * XXX This should perhaps use the pool. + * @endif + */ + template<typename _Tp> + pair<_Tp*, ptrdiff_t> + __get_temporary_buffer(ptrdiff_t __len, _Tp*) { - reset(__a.release()); - return *this; + if (__len > ptrdiff_t(INT_MAX / sizeof(_Tp))) + __len = INT_MAX / sizeof(_Tp); + + while (__len > 0) + { + _Tp* __tmp = (_Tp*) std::malloc((std::size_t)__len * sizeof(_Tp)); + if (__tmp != 0) + return pair<_Tp*, ptrdiff_t>(__tmp, __len); + __len /= 2; + } + return pair<_Tp*, ptrdiff_t>((_Tp*)0, 0); } /** - * @brief %auto_ptr assignment operator. - * @param a Another %auto_ptr of a different but related type. + * @brief This is a mostly-useless wrapper around malloc(). + * @param len The number of objects of type Tp. + * @return See full description. * - * A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type. + * Reinventing the wheel, but this time with prettier spokes! * - * This object now @e owns the object previously owned by @a a, which has - * given up ownsership. The object that this one @e used to own and - * track has been deleted. - */ - template <typename _Tp1> - auto_ptr& - operator=(auto_ptr<_Tp1>& __a) throw() - { - reset(__a.release()); - return *this; - } + * This function tries to obtain storage for @c len adjacent Tp objects. + * The objects themselves are not constructed, of course. A pair<> is + * returned containing "the buffer s address and capacity (in the units of + * sizeof(Tp)), or a pair of 0 values if no storage can be obtained." + * Note that the capacity obtained may be less than that requested if the + * memory is unavailable; you should compare len with the .second return + * value. + */ + template<typename _Tp> + inline pair<_Tp*,ptrdiff_t> + get_temporary_buffer(ptrdiff_t __len) + { return __get_temporary_buffer(__len, (_Tp*) 0); } /** - * When the %auto_ptr goes out of scope, the object it owns is deleted. - * If it no longer owns anything (i.e., @c get() is @c NULL), then this - * has no effect. + * @brief The companion to get_temporary_buffer(). + * @param p A buffer previously allocated by get_temporary_buffer. + * @return None. * - * @if maint - * The C++ standard says there is supposed to be an empty throw - * specification here, but omitting it is standard conforming. Its - * presence can be detected only if _Tp::~_Tp() throws, but this is - * prohibited. [17.4.3.6]/2 - * @end maint - */ - ~auto_ptr() { delete _M_ptr; } + * Frees the memory pointed to by p. + */ + template<typename _Tp> + void + return_temporary_buffer(_Tp* __p) + { std::free(__p); } /** - * @brief Smart pointer dereferencing. + * A wrapper class to provide auto_ptr with reference semantics. For + * example, an auto_ptr can be assigned (or constructed from) the result of + * a function which returns an auto_ptr by value. * - * If this %auto_ptr no longer owns anything, then this operation will - * crash. (For a smart pointer, "no longer owns anything" is the same as - * being a null pointer, and you know what happens when you dereference - * one of those...) - */ - element_type& - operator*() const throw() { return *_M_ptr; } + * All the auto_ptr_ref stuff should happen behind the scenes. + */ + template<typename _Tp1> + struct auto_ptr_ref + { + _Tp1* _M_ptr; + + explicit + auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } + }; - /** - * @brief Smart pointer dereferencing. - * - * This returns the pointer itself, which the language then will - * automatically cause to be dereferenced. - */ - element_type* - operator->() const throw() { return _M_ptr; } /** - * @brief Bypassing the smart pointer. - * @return The raw pointer being managed. + * @brief A simple smart pointer providing strict ownership semantics. * - * You can get a copy of the pointer that this object owns, for - * situations such as passing to a function which only accepts a raw - * pointer. + * The Standard says: + * <pre> + * An @c auto_ptr owns the object it holds a pointer to. Copying an + * @c auto_ptr copies the pointer and transfers ownership to the destination. + * If more than one @c auto_ptr owns the same object at the same time the + * behavior of the program is undefined. * - * @note This %auto_ptr still owns the memory. - */ - element_type* - get() const throw() { return _M_ptr; } - - /** - * @brief Bypassing the smart pointer. - * @return The raw pointer being managed. + * The uses of @c auto_ptr include providing temporary exception-safety for + * dynamically allocated memory, passing ownership of dynamically allocated + * memory to a function, and returning dynamically allocated memory from a + * function. @c auto_ptr does not meet the CopyConstructible and Assignable + * requirements for Standard Library <a href="tables.html#65">container</a> + * elements and thus instantiating a Standard Library container with an + * @c auto_ptr results in undefined behavior. + * </pre> + * Quoted from [20.4.5]/3. * - * You can get a copy of the pointer that this object owns, for - * situations such as passing to a function which only accepts a raw - * pointer. + * Good examples of what can and cannot be done with auto_ptr can be found + * in the libstdc++ testsuite. * - * @note This %auto_ptr no longer owns the memory. When this object - * goes out of scope, nothing will happen. - */ - element_type* - release() throw() - { - element_type* __tmp = _M_ptr; - _M_ptr = 0; - return __tmp; - } - - /** - * @brief Forcibly deletes the managed object. - * @param p A pointer (defaults to NULL). - * - * This object now @e owns the object pointed to by @a p. The previous - * object has been deleted. - */ - void - reset(element_type* __p = 0) throw() - { - if (__p != _M_ptr) - { - delete _M_ptr; - _M_ptr = __p; - } - } - - /** @{ - * @brief Automatic conversions - * - * These operations convert an %auto_ptr into and from an auto_ptr_ref - * automatically as needed. This allows constructs such as - * @code - * auto_ptr<Derived> func_returning_auto_ptr(.....); - * ... - * auto_ptr<Base> ptr = func_returning_auto_ptr(.....); - * @endcode - */ - auto_ptr(auto_ptr_ref<element_type> __ref) throw() - : _M_ptr(__ref._M_ptr) {} - - auto_ptr& - operator=(auto_ptr_ref<element_type> __ref) throw() + * @if maint + * _GLIBCPP_RESOLVE_LIB_DEFECTS + * 127. auto_ptr<> conversion issues + * These resolutions have all been incorporated. + * @endif + */ + template<typename _Tp> + class auto_ptr { - if (__ref._M_ptr != this->get()) + private: + _Tp* _M_ptr; + + public: + /// The pointed-to type. + typedef _Tp element_type; + + /** + * @brief An %auto_ptr is usually constructed from a raw pointer. + * @param p A pointer (defaults to NULL). + * + * This object now @e owns the object pointed to by @a p. + */ + explicit + auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } + + /** + * @brief An %auto_ptr can be constructed from another %auto_ptr. + * @param a Another %auto_ptr of the same type. + * + * This object now @e owns the object previously owned by @a a, + * which has given up ownsership. + */ + auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } + + /** + * @brief An %auto_ptr can be constructed from another %auto_ptr. + * @param a Another %auto_ptr of a different but related type. + * + * A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type. + * + * This object now @e owns the object previously owned by @a a, + * which has given up ownsership. + */ + template<typename _Tp1> + auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } + + /** + * @brief %auto_ptr assignment operator. + * @param a Another %auto_ptr of the same type. + * + * This object now @e owns the object previously owned by @a a, + * which has given up ownsership. The object that this one @e + * used to own and track has been deleted. + */ + auto_ptr& + operator=(auto_ptr& __a) throw() + { + reset(__a.release()); + return *this; + } + + /** + * @brief %auto_ptr assignment operator. + * @param a Another %auto_ptr of a different but related type. + * + * A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type. + * + * This object now @e owns the object previously owned by @a a, + * which has given up ownsership. The object that this one @e + * used to own and track has been deleted. + */ + template<typename _Tp1> + auto_ptr& + operator=(auto_ptr<_Tp1>& __a) throw() { - delete _M_ptr; - _M_ptr = __ref._M_ptr; - } - return *this; - } - - template<typename _Tp1> - operator auto_ptr_ref<_Tp1>() throw() - { return auto_ptr_ref<_Tp1>(this->release()); } - - template<typename _Tp1> - operator auto_ptr<_Tp1>() throw() - { return auto_ptr<_Tp1>(this->release()); } - /** @} */ -}; - + reset(__a.release()); + return *this; + } + + /** + * When the %auto_ptr goes out of scope, the object it owns is deleted. + * If it no longer owns anything (i.e., @c get() is @c NULL), then this + * has no effect. + * + * @if maint + * The C++ standard says there is supposed to be an empty throw + * specification here, but omitting it is standard conforming. Its + * presence can be detected only if _Tp::~_Tp() throws, but this is + * prohibited. [17.4.3.6]/2 + * @end maint + */ + ~auto_ptr() { delete _M_ptr; } + + /** + * @brief Smart pointer dereferencing. + * + * If this %auto_ptr no longer owns anything, then this + * operation will crash. (For a smart pointer, "no longer owns + * anything" is the same as being a null pointer, and you know + * what happens when you dereference one of those...) + */ + element_type& + operator*() const throw() { return *_M_ptr; } + + /** + * @brief Smart pointer dereferencing. + * + * This returns the pointer itself, which the language then will + * automatically cause to be dereferenced. + */ + element_type* + operator->() const throw() { return _M_ptr; } + + /** + * @brief Bypassing the smart pointer. + * @return The raw pointer being managed. + * + * You can get a copy of the pointer that this object owns, for + * situations such as passing to a function which only accepts a raw + * pointer. + * + * @note This %auto_ptr still owns the memory. + */ + element_type* + get() const throw() { return _M_ptr; } + + /** + * @brief Bypassing the smart pointer. + * @return The raw pointer being managed. + * + * You can get a copy of the pointer that this object owns, for + * situations such as passing to a function which only accepts a raw + * pointer. + * + * @note This %auto_ptr no longer owns the memory. When this object + * goes out of scope, nothing will happen. + */ + element_type* + release() throw() + { + element_type* __tmp = _M_ptr; + _M_ptr = 0; + return __tmp; + } + + /** + * @brief Forcibly deletes the managed object. + * @param p A pointer (defaults to NULL). + * + * This object now @e owns the object pointed to by @a p. The previous + * object has been deleted. + */ + void + reset(element_type* __p = 0) throw() + { + if (__p != _M_ptr) + { + delete _M_ptr; + _M_ptr = __p; + } + } + + /** @{ + * @brief Automatic conversions + * + * These operations convert an %auto_ptr into and from an auto_ptr_ref + * automatically as needed. This allows constructs such as + * @code + * auto_ptr<Derived> func_returning_auto_ptr(.....); + * ... + * auto_ptr<Base> ptr = func_returning_auto_ptr(.....); + * @endcode + */ + auto_ptr(auto_ptr_ref<element_type> __ref) throw() + : _M_ptr(__ref._M_ptr) { } + + auto_ptr& + operator=(auto_ptr_ref<element_type> __ref) throw() + { + if (__ref._M_ptr != this->get()) + { + delete _M_ptr; + _M_ptr = __ref._M_ptr; + } + return *this; + } + + template<typename _Tp1> + operator auto_ptr_ref<_Tp1>() throw() + { return auto_ptr_ref<_Tp1>(this->release()); } + + template<typename _Tp1> + operator auto_ptr<_Tp1>() throw() + { return auto_ptr<_Tp1>(this->release()); } + /** @} */ + }; } // namespace std -#endif /* _CPP_MEMORY */ +#endif diff --git a/contrib/libstdc++/include/std/std_ostream.h b/contrib/libstdc++/include/std/std_ostream.h index eff4bb5..82f8a28 100644 --- a/contrib/libstdc++/include/std/std_ostream.h +++ b/contrib/libstdc++/include/std/std_ostream.h @@ -46,7 +46,14 @@ namespace std { - // 27.6.2.1 Template class basic_ostream + // [27.6.2.1] Template class basic_ostream + /** + * @brief Controlling output. + * + * This is the base class for all output streams. It provides text + * formatting of all builtin types, and communicates with any class + * derived from basic_streambuf to do the actual output. + */ template<typename _CharT, typename _Traits> class basic_ostream : virtual public basic_ios<_CharT, _Traits> { @@ -66,20 +73,60 @@ namespace std typedef num_put<_CharT, __ostreambuf_iter> __numput_type; typedef ctype<_CharT> __ctype_type; - // 27.6.2.2 Constructor/destructor: + template<typename _CharT2, typename _Traits2> + friend basic_ostream<_CharT2, _Traits2>& + operator<<(basic_ostream<_CharT2, _Traits2>&, _CharT2); + + template<typename _Traits2> + friend basic_ostream<char, _Traits2>& + operator<<(basic_ostream<char, _Traits2>&, char); + + template<typename _CharT2, typename _Traits2> + friend basic_ostream<_CharT2, _Traits2>& + operator<<(basic_ostream<_CharT2, _Traits2>&, const _CharT2*); + + template<typename _Traits2> + friend basic_ostream<char, _Traits2>& + operator<<(basic_ostream<char, _Traits2>&, const char*); + + template<typename _CharT2, typename _Traits2> + friend basic_ostream<_CharT2, _Traits2>& + operator<<(basic_ostream<_CharT2, _Traits2>&, const char*); + + // [27.6.2.2] constructor/destructor + /** + * @brief Base constructor. + * + * This ctor is almost never called by the user directly, rather from + * derived classes' initialization lists, which pass a pointer to + * their own stream buffer. + */ explicit basic_ostream(__streambuf_type* __sb) { this->init(__sb); } + /** + * @brief Base destructor. + * + * This does very little apart from providing a virtual base dtor. + */ virtual ~basic_ostream() { } - // 27.6.2.3 Prefix/suffix: + // [27.6.2.3] prefix/suffix class sentry; friend class sentry; - // 27.6.2.5 Formatted output: - // 27.6.2.5.3 basic_ostream::operator<< + // [27.6.2.5] formatted output + // [27.6.2.5.3] basic_ostream::operator<< + //@{ + /** + * @brief Interface for manipulators. + * + * Manuipulators such as @c std::endl and @c std::hex use these + * functions in constructs like "std::cout << std::endl". For more + * information, see the iomanip header. + */ __ostream_type& operator<<(__ostream_type& (*__pf)(__ostream_type&)); @@ -88,8 +135,35 @@ namespace std __ostream_type& operator<<(ios_base& (*__pf) (ios_base&)); - - // 27.6.2.5.2 Arithmetic Inserters + //@} + + // [27.6.2.5.2] arithmetic inserters + /** + * @name Arithmetic Inserters + * + * All the @c operator<< functions (aka <em>formatted output + * functions</em>) have some common behavior. Each starts by + * constructing a temporary object of type std::basic_ostream::sentry. + * This can have several effects, concluding with the setting of a + * status flag; see the sentry documentation for more. + * + * If the sentry status is good, the function tries to generate + * whatever data is appropriate for the type of the argument. + * + * If an exception is thrown during insertion, ios_base::badbit + * will be turned on in the stream's error state without causing an + * ios_base::failure to be thrown. The original exception will then + * be rethrown. + */ + //@{ + /** + * @brief Basic arithmetic inserters + * @param A variable of builtin type. + * @return @c *this if successful + * + * These functions use the stream's current locale (specifically, the + * @c num_get facet) to perform numeric formatting. + */ __ostream_type& operator<<(long __n); @@ -150,31 +224,140 @@ namespace std __ostream_type& operator<<(const void* __p); + /** + * @brief Extracting from another streambuf. + * @param sb A pointer to a streambuf + * + * This function behaves like one of the basic arithmetic extractors, + * in that it also constructs a sentry onject and has the same error + * handling behavior. + * + * If @a sb is NULL, the stream will set failbit in its error state. + * + * Characters are extracted from @a sb and inserted into @c *this + * until one of the following occurs: + * + * - the input stream reaches end-of-file, + * - insertion into the output sequence fails (in this case, the + * character that would have been inserted is not extracted), or + * - an exception occurs while getting a character from @a sb, which + * sets failbit in the error state + * + * If the function inserts no characters, failbit is set. + */ __ostream_type& operator<<(__streambuf_type* __sb); - - // Unformatted output: + //@} + + // [27.6.2.6] unformatted output functions + /** + * @name Unformatted Output Functions + * + * All the unformatted output functions have some common behavior. + * Each starts by constructing a temporary object of type + * std::basic_ostream::sentry. This has several effects, concluding + * with the setting of a status flag; see the sentry documentation + * for more. + * + * If the sentry status is good, the function tries to generate + * whatever data is appropriate for the type of the argument. + * + * If an exception is thrown during insertion, ios_base::badbit + * will be turned on in the stream's error state. If badbit is on in + * the stream's exceptions mask, the exception will be rethrown + * without completing its actions. + */ + //@{ + /** + * @brief Simple insertion. + * @param c The character to insert. + * @return *this + * + * Tries to insert @a c. + * + * @note This function is not overloaded on signed char and + * unsigned char. + */ __ostream_type& put(char_type __c); + /** + * @brief Character string insertion. + * @param s The array to insert. + * @param n Maximum number of characters to insert. + * @return *this + * + * Characters are copied from @a s and inserted into the stream until + * one of the following happens: + * + * - @a n characters are inserted + * - inserting into the output sequence fails (in this case, badbit + * will be set in the stream's error state) + * + * @note This function is not overloaded on signed char and + * unsigned char. + */ __ostream_type& write(const char_type* __s, streamsize __n); - + //@} + + /** + * @brief Synchronizing the stream buffer. + * @return *this + * + * If @c rdbuf() is a null pointer, changes nothing. + * + * Otherwise, calls @c rdbuf()->pubsync(), and if that returns -1, + * sets badbit. + */ __ostream_type& flush(); - // Seeks: + // [27.6.2.4] seek members + /** + * @brief Getting the current write position. + * @return A file position object. + * + * If @c fail() is not false, returns @c pos_type(-1) to indicate + * failure. Otherwise returns @c rdbuf()->pubseekoff(0,cur,out). + */ pos_type tellp(); + /** + * @brief Changing the current write position. + * @param pos A file position object. + * @return *this + * + * If @c fail() is not true, calls @c rdbuf()->pubseekpos(pos). If + * that function fails, sets failbit. + */ __ostream_type& seekp(pos_type); - __ostream_type& + /** + * @brief Changing the current write position. + * @param off A file offset object. + * @param dir The direction in which to seek. + * @return *this + * + * If @c fail() is not true, calls @c rdbuf()->pubseekoff(off,dir). + * If that function fails, sets failbit. + */ + __ostream_type& seekp(off_type, ios_base::seekdir); }; - // 27.6.2.3 Class basic_ostream::sentry + /** + * @brief Performs setup work for output streams. + * + * Objects of this class are created before all of the standard + * inserters are run. It is responsible for "exception-safe prefix and + * suffix operations." Additional actions may be added by the + * implementation, and we list them in + * http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/howto.html#5 + * under [27.6] notes. + */ template <typename _CharT, typename _Traits> class basic_ostream<_CharT, _Traits>::sentry { @@ -183,9 +366,27 @@ namespace std basic_ostream<_CharT,_Traits>& _M_os; public: + /** + * @brief The constructor performs preparatory work. + * @param os The output stream to guard. + * + * If the stream state is good (@a os.good() is true), then if the + * stream is tied to another output stream, @c is.tie()->flush() + * is called to synchronize the output sequences. + * + * If the stream state is still good, then the sentry state becomes + * true ("okay"). + */ explicit sentry(basic_ostream<_CharT,_Traits>& __os); + /** + * @brief Possibly flushes the stream. + * + * If @c ios_base::unitbuf is set in @c os.flags(), and + * @c std::uncaught_exception() is true, the sentry destructor calls + * @c flush() on the output stream. + */ ~sentry() { // XXX MT @@ -197,10 +398,34 @@ namespace std } } + /** + * @brief Quick status checking. + * @return The sentry state. + * + * For ease of use, sentries may be converted to booleans. The + * return value is that of the sentry state (true == okay). + */ operator bool() { return _M_ok; } }; + // [27.6.2.5.4] character insertion templates + //@{ + /** + * @brief Character inserters + * @param out An output stream. + * @param c A character. + * @return out + * + * Behaves like one of the formatted arithmetic inserters described in + * std::basic_ostream. After constructing a sentry object with good + * status, this function inserts a single character and any required + * padding (as determined by [22.2.2.2.2]). @c out.width(0) is then + * called. + * + * If @a c is of type @c char and the character type of the stream is not + * @c char, the character is widened before insertion. + */ template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c); @@ -225,7 +450,22 @@ namespace std basic_ostream<char, _Traits>& operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) { return (__out << static_cast<char>(__c)); } + //@} + //@{ + /** + * @brief String inserters + * @param out An output stream. + * @param s A character string. + * @return out + * @pre @a s must be a non-NULL pointer + * + * Behaves like one of the formatted arithmetic inserters described in + * std::basic_ostream. After constructing a sentry object with good + * status, this function inserts @c traits::length(s) characters starting + * at @a s, widened if necessary, followed by any required padding (as + * determined by [22.2.2.2.2]). @c out.width(0) is then called. + */ template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s); @@ -249,18 +489,38 @@ namespace std basic_ostream<char, _Traits> & operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) { return (__out << reinterpret_cast<const char*>(__s)); } - - // 27.6.2.7 Standard basic_ostream manipulators + //@} + + // [27.6.2.7] standard basic_ostream manipulators + /** + * @brief Write a newline and flush the stream. + * + * This manipulator is often mistakenly used when a simple newline is + * desired, leading to poor buffering performance. See + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 for more + * on this subject. + */ template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>& endl(basic_ostream<_CharT, _Traits>& __os) { return flush(__os.put(__os.widen('\n'))); } + /** + * @brief Write a null character into the output sequence. + * + * "Null character" is @c CharT() by definition. For CharT of @c char, + * this correctly writes the ASCII @c NUL character string terminator. + */ template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>& ends(basic_ostream<_CharT, _Traits>& __os) { return __os.put(_CharT()); } + /** + * @brief Flushes the output stream. + * + * This manipulator simply calls the stream's @c flush() member function. + */ template<typename _CharT, typename _Traits> basic_ostream<_CharT, _Traits>& flush(basic_ostream<_CharT, _Traits>& __os) diff --git a/contrib/libstdc++/include/std/std_queue.h b/contrib/libstdc++/include/std/std_queue.h index 6be3551..60636e6 100644 --- a/contrib/libstdc++/include/std/std_queue.h +++ b/contrib/libstdc++/include/std/std_queue.h @@ -74,8 +74,9 @@ #include <bits/stl_function.h> #include <bits/stl_queue.h> -#endif /* _CPP_QUEUE */ +#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT +# include <bits/deque.tcc> +# include <bits/vector.tcc> +#endif -// Local Variables: -// mode:C++ -// End: +#endif /* _CPP_QUEUE */ diff --git a/contrib/libstdc++/include/std/std_sstream.h b/contrib/libstdc++/include/std/std_sstream.h index 6ee7505..0940e60 100644 --- a/contrib/libstdc++/include/std/std_sstream.h +++ b/contrib/libstdc++/include/std/std_sstream.h @@ -1,6 +1,6 @@ // String based streams -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 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 @@ -46,6 +46,18 @@ namespace std { + // [27.7.1] template class basic_stringbuf + /** + * @brief The actual work of input and output (for std::string). + * + * This class associates either or both of its input and output sequences + * with a sequence of characters, which can be initialized from, or made + * available as, a @c std::basic_string. (Paraphrased from [27.7.1]/1.) + * + * For this class, open modes (of type @c ios_base::openmode) have + * @c in set if the input sequence can be read, and @c out set if the + * output sequence can be written. + */ template<typename _CharT, typename _Traits, typename _Alloc> class basic_stringbuf : public basic_streambuf<_CharT, _Traits> { @@ -61,22 +73,48 @@ namespace std typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; - // Non-standard Types: + //@{ + /** + * @if maint + * @doctodo + * @endif + */ typedef basic_streambuf<char_type, traits_type> __streambuf_type; typedef basic_string<char_type, _Traits, _Alloc> __string_type; typedef typename __string_type::size_type __size_type; + //@} protected: // Data Members: + /** + * @if maint + * @doctodo + * @endif + */ __string_type _M_string; public: // Constructors: + /** + * @brief Starts with an empty string buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * The default constructor initializes the parent class using its + * own default ctor. + */ explicit basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out) : __streambuf_type(), _M_string() { _M_stringbuf_init(__mode); } + /** + * @brief Starts with an existing string buffer. + * @param str A string to copy as a starting buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * This constructor initializes the parent class using its + * own default ctor. + */ explicit basic_stringbuf(const __string_type& __str, ios_base::openmode __mode = ios_base::in | ios_base::out) @@ -84,6 +122,14 @@ namespace std { _M_stringbuf_init(__mode); } // Get and set: + /** + * @brief Copying out the string buffer. + * @return A copy of one of the underlying sequences. + * + * "If the buffer is only created in input mode, the underlying + * character sequence is equal to the input sequence; otherwise, it + * is equal to the output sequence." [27.7.1.2]/1 + */ __string_type str() const { @@ -94,7 +140,7 @@ namespace std // _M_string, and may not be the correct size of the // current stringbuf internal buffer. __size_type __len = _M_string.size(); - if (_M_out_cur > _M_out_beg) + if (_M_out_end > _M_out_beg) __len = max(__size_type(_M_out_end - _M_out_beg), __len); return __string_type(_M_out_beg, _M_out_beg + __len); } @@ -102,6 +148,13 @@ namespace std return _M_string; } + /** + * @brief Setting a new buffer. + * @param s The string to use as a new sequence. + * + * Deallocates any previous stored sequence, then copies @a s to + * use as a new one. + */ void str(const __string_type& __s) { @@ -112,6 +165,11 @@ namespace std protected: // Common initialization code for both ctors goes here. + /** + * @if maint + * @doctodo + * @endif + */ void _M_stringbuf_init(ios_base::openmode __mode) { @@ -135,6 +193,7 @@ namespace std } // Overridden virtual functions: + // [documentation is inherited] virtual int_type underflow() { @@ -144,12 +203,25 @@ namespace std return traits_type::eof(); } + // [documentation is inherited] virtual int_type pbackfail(int_type __c = traits_type::eof()); + // [documentation is inherited] virtual int_type overflow(int_type __c = traits_type::eof()); + /** + * @brief Manipulates the buffer. + * @param s Pointer to a buffer area. + * @param n Size of @a s. + * @return @c this + * + * If no buffer has already been created, and both @a s and @a n are + * non-zero, then @c s is used as a buffer; see + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 + * for more. + */ virtual __streambuf_type* setbuf(char_type* __s, streamsize __n) { @@ -161,10 +233,12 @@ namespace std return this; } + // [documentation is inherited] virtual pos_type seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out); + // [documentation is inherited] virtual pos_type seekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out); @@ -175,6 +249,11 @@ namespace std // Assumes: contents of _M_string and internal buffer match exactly. // __i == _M_in_cur - _M_in_beg // __o == _M_out_cur - _M_out_beg + /** + * @if maint + * @doctodo + * @endif + */ virtual int _M_really_sync(__size_type __i, __size_type __o) { @@ -196,7 +275,15 @@ namespace std }; - // 27.7.2 Template class basic_istringstream + // [27.7.2] Template class basic_istringstream + /** + * @brief Controlling input for std::string. + * + * This class supports reading from objects of type std::basic_string, + * using the inherited functions from std::basic_istream. To control + * the associated sequence, an instance of std::basic_stringbuf is used, + * which this page refers to as @c sb. + */ template<typename _CharT, typename _Traits, typename _Alloc> class basic_istringstream : public basic_istream<_CharT, _Traits> { @@ -218,40 +305,104 @@ namespace std typedef basic_istream<char_type, traits_type> __istream_type; private: + /** + * @if maint + * @doctodo + * @endif + */ __stringbuf_type _M_stringbuf; public: // Constructors: + /** + * @brief Default constructor starts with an empty string buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * @c ios_base::in is automatically included in @a mode. + * + * Initializes @c sb using @c mode|in, and passes @c &sb to the base + * class initializer. Does not allocate any buffer. + * + * @if maint + * That's a lie. We initialize the base class with NULL, because the + * string class does its own memory management. + * @endif + */ explicit basic_istringstream(ios_base::openmode __mode = ios_base::in) : __istream_type(NULL), _M_stringbuf(__mode | ios_base::in) { this->init(&_M_stringbuf); } + /** + * @brief Starts with an existing string buffer. + * @param str A string to copy as a starting buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * @c ios_base::in is automatically included in @a mode. + * + * Initializes @c sb using @a str and @c mode|in, and passes @c &sb + * to the base class initializer. + * + * @if maint + * That's a lie. We initialize the base class with NULL, because the + * string class does its own memory management. + * @endif + */ explicit basic_istringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::in) : __istream_type(NULL), _M_stringbuf(__str, __mode | ios_base::in) { this->init(&_M_stringbuf); } + /** + * @brief The destructor does nothing. + * + * The buffer is deallocated by the stringbuf object, not the + * formatting stream. + */ ~basic_istringstream() { } // Members: + /** + * @brief Accessing the underlying buffer. + * @return The current basic_stringbuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). + */ __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } + /** + * @brief Copying out the string buffer. + * @return @c rdbuf()->str() + */ __string_type str() const { return _M_stringbuf.str(); } + /** + * @brief Setting a new buffer. + * @param s The string to use as a new sequence. + * + * Calls @c rdbuf()->str(s). + */ void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; - // 27.7.3 Template class basic_ostringstream + // [27.7.3] Template class basic_ostringstream + /** + * @brief Controlling output for std::string. + * + * This class supports writing to objects of type std::basic_string, + * using the inherited functions from std::basic_ostream. To control + * the associated sequence, an instance of std::basic_stringbuf is used, + * which this page refers to as @c sb. + */ template <typename _CharT, typename _Traits, typename _Alloc> class basic_ostringstream : public basic_ostream<_CharT, _Traits> { @@ -273,40 +424,104 @@ namespace std typedef basic_ostream<char_type, traits_type> __ostream_type; private: + /** + * @if maint + * @doctodo + * @endif + */ __stringbuf_type _M_stringbuf; public: - // Constructors/destructor: + // Constructors/destructor: + /** + * @brief Default constructor starts with an empty string buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * @c ios_base::out is automatically included in @a mode. + * + * Initializes @c sb using @c mode|out, and passes @c &sb to the base + * class initializer. Does not allocate any buffer. + * + * @if maint + * That's a lie. We initialize the base class with NULL, because the + * string class does its own memory management. + * @endif + */ explicit basic_ostringstream(ios_base::openmode __mode = ios_base::out) : __ostream_type(NULL), _M_stringbuf(__mode | ios_base::out) { this->init(&_M_stringbuf); } + /** + * @brief Starts with an existing string buffer. + * @param str A string to copy as a starting buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * @c ios_base::out is automatically included in @a mode. + * + * Initializes @c sb using @a str and @c mode|out, and passes @c &sb + * to the base class initializer. + * + * @if maint + * That's a lie. We initialize the base class with NULL, because the + * string class does its own memory management. + * @endif + */ explicit basic_ostringstream(const __string_type& __str, ios_base::openmode __mode = ios_base::out) : __ostream_type(NULL), _M_stringbuf(__str, __mode | ios_base::out) { this->init(&_M_stringbuf); } + /** + * @brief The destructor does nothing. + * + * The buffer is deallocated by the stringbuf object, not the + * formatting stream. + */ ~basic_ostringstream() { } // Members: + /** + * @brief Accessing the underlying buffer. + * @return The current basic_stringbuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). + */ __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } + /** + * @brief Copying out the string buffer. + * @return @c rdbuf()->str() + */ __string_type str() const { return _M_stringbuf.str(); } + /** + * @brief Setting a new buffer. + * @param s The string to use as a new sequence. + * + * Calls @c rdbuf()->str(s). + */ void str(const __string_type& __s) { _M_stringbuf.str(__s); } }; - // 27.7.4 Template class basic_stringstream + // [27.7.4] Template class basic_stringstream + /** + * @brief Controlling input and output for std::string. + * + * This class supports reading from and writing to objects of type + * std::basic_string, using the inherited functions from + * std::basic_iostream. To control the associated sequence, an instance + * of std::basic_stringbuf is used, which this page refers to as @c sb. + */ template <typename _CharT, typename _Traits, typename _Alloc> class basic_stringstream : public basic_iostream<_CharT, _Traits> { @@ -328,33 +543,85 @@ namespace std typedef basic_iostream<char_type, traits_type> __iostream_type; private: + /** + * @if maint + * @doctodo + * @endif + */ __stringbuf_type _M_stringbuf; public: // Constructors/destructors + /** + * @brief Default constructor starts with an empty string buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * Initializes @c sb using @c mode, and passes @c &sb to the base + * class initializer. Does not allocate any buffer. + * + * @if maint + * That's a lie. We initialize the base class with NULL, because the + * string class does its own memory management. + * @endif + */ explicit basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(NULL), _M_stringbuf(__m) { this->init(&_M_stringbuf); } + /** + * @brief Starts with an existing string buffer. + * @param str A string to copy as a starting buffer. + * @param mode Whether the buffer can read, or write, or both. + * + * Initializes @c sb using @a str and @c mode, and passes @c &sb + * to the base class initializer. + * + * @if maint + * That's a lie. We initialize the base class with NULL, because the + * string class does its own memory management. + * @endif + */ explicit basic_stringstream(const __string_type& __str, ios_base::openmode __m = ios_base::out | ios_base::in) : __iostream_type(NULL), _M_stringbuf(__str, __m) { this->init(&_M_stringbuf); } + /** + * @brief The destructor does nothing. + * + * The buffer is deallocated by the stringbuf object, not the + * formatting stream. + */ ~basic_stringstream() { } // Members: + /** + * @brief Accessing the underlying buffer. + * @return The current basic_stringbuf buffer. + * + * This hides both signatures of std::basic_ios::rdbuf(). + */ __stringbuf_type* rdbuf() const { return const_cast<__stringbuf_type*>(&_M_stringbuf); } + /** + * @brief Copying out the string buffer. + * @return @c rdbuf()->str() + */ __string_type str() const { return _M_stringbuf.str(); } + /** + * @brief Setting a new buffer. + * @param s The string to use as a new sequence. + * + * Calls @c rdbuf()->str(s). + */ void str(const __string_type& __s) { _M_stringbuf.str(__s); } diff --git a/contrib/libstdc++/include/std/std_stack.h b/contrib/libstdc++/include/std/std_stack.h index e517c42..ddae7e7 100644 --- a/contrib/libstdc++/include/std/std_stack.h +++ b/contrib/libstdc++/include/std/std_stack.h @@ -70,8 +70,8 @@ #include <bits/stl_deque.h> #include <bits/stl_stack.h> -#endif /* _CPP_STACK */ +#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT +# include <bits/deque.tcc> +#endif -// Local Variables: -// mode:C++ -// End: +#endif /* _CPP_STACK */ diff --git a/contrib/libstdc++/include/std/std_streambuf.h b/contrib/libstdc++/include/std/std_streambuf.h index db36ed3..a1958c1 100644 --- a/contrib/libstdc++/include/std/std_streambuf.h +++ b/contrib/libstdc++/include/std/std_streambuf.h @@ -50,28 +50,104 @@ namespace std { + /** + * @if maint + * Does stuff. + * @endif + */ template<typename _CharT, typename _Traits> streamsize __copy_streambufs(basic_ios<_CharT, _Traits>& _ios, basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout); - // 27.5.2 Template class basic_streambuf<_CharT, _Traits> + /** + * @brief The actual work of input and output (interface). + * + * This is a base class. Derived stream buffers each control a + * pair of character sequences: one for input, and one for output. + * + * Section [27.5.1] of the standard describes the requirements and + * behavior of stream buffer classes. That section (three paragraphs) + * is reproduced here, for simplicity and accuracy. + * + * -# Stream buffers can impose various constraints on the sequences + * they control. Some constraints are: + * - The controlled input sequence can be not readable. + * - The controlled output sequence can be not writable. + * - The controlled sequences can be associated with the contents of + * other representations for character sequences, such as external + * files. + * - The controlled sequences can support operations @e directly to or + * from associated sequences. + * - The controlled sequences can impose limitations on how the + * program can read characters from a sequence, write characters to + * a sequence, put characters back into an input sequence, or alter + * the stream position. + * . + * -# Each sequence is characterized by three pointers which, if non-null, + * all point into the same @c charT array object. The array object + * represents, at any moment, a (sub)sequence of characters from the + * sequence. Operations performed on a sequence alter the values + * stored in these pointers, perform reads and writes directly to or + * from associated sequences, and alter "the stream position" and + * conversion state as needed to maintain this subsequence relationship. + * The three pointers are: + * - the <em>beginning pointer</em>, or lowest element address in the + * array (called @e xbeg here); + * - the <em>next pointer</em>, or next element address that is a + * current candidate for reading or writing (called @e xnext here); + * - the <em>end pointer</em>, or first element address beyond the + * end of the array (called @e xend here). + * . + * -# The following semantic constraints shall always apply for any set + * of three pointers for a sequence, using the pointer names given + * immediately above: + * - If @e xnext is not a null pointer, then @e xbeg and @e xend shall + * also be non-null pointers into the same @c charT array, as + * described above; otherwise, @e xbeg and @e xend shall also be null. + * - If @e xnext is not a null pointer and @e xnext < @e xend for an + * output sequence, then a <em>write position</em> is available. + * In this case, @e *xnext shall be assignable as the next element + * to write (to put, or to store a character value, into the sequence). + * - If @e xnext is not a null pointer and @e xbeg < @e xnext for an + * input sequence, then a <em>putback position</em> is available. + * In this case, @e xnext[-1] shall have a defined value and is the + * next (preceding) element to store a character that is put back + * into the input sequence. + * - If @e xnext is not a null pointer and @e xnext< @e xend for an + * input sequence, then a <em>read position</em> is available. + * In this case, @e *xnext shall have a defined value and is the + * next element to read (to get, or to obtain a character value, + * from the sequence). + */ template<typename _CharT, typename _Traits> class basic_streambuf { public: - // Types: + //@{ + /** + * These are standard types. They permit a standardized way of + * referring to names of (or names dependant on) the template + * parameters, which are specific to the implementation. + */ typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; - - // Non-standard Types: + //@} + + //@{ + /** + * @if maint + * These are non-standard types. + * @endif + */ typedef ctype<char_type> __ctype_type; typedef basic_streambuf<char_type, traits_type> __streambuf_type; typedef typename traits_type::state_type __state_type; + //@} friend class basic_ios<char_type, traits_type>; friend class basic_istream<char_type, traits_type>; @@ -84,56 +160,100 @@ namespace std __streambuf_type* __sbin,__streambuf_type* __sbout); protected: - // Pointer to the beginning of internally-allocated - // space. Filebuf manually allocates/deallocates this, whereas - // stringstreams attempt to use the built-in intelligence of the - // string class. If you are managing memory, set this. If not, - // leave it NULL. + /** + * @if maint + * Pointer to the beginning of internally-allocated space. Filebuf + * manually allocates/deallocates this, whereas stringstreams attempt + * to use the built-in intelligence of the string class. If you are + * managing memory, set this. If not, leave it NULL. + * @endif + */ char_type* _M_buf; - // Actual size of allocated internal buffer, in bytes. + /** + * @if maint + * Actual size of allocated internal buffer, in bytes. + * @endif + */ size_t _M_buf_size; - // Optimal or preferred size of internal buffer, in bytes. + /** + * @if maint + * Optimal or preferred size of internal buffer, in bytes. + * @endif + */ size_t _M_buf_size_opt; - // True iff _M_in_* and _M_out_* buffers should always point to - // the same place. True for fstreams, false for sstreams. + /** + * @if maint + * True iff _M_in_* and _M_out_* buffers should always point to + * the same place. True for fstreams, false for sstreams. + * @endif + */ bool _M_buf_unified; - // This is based on _IO_FILE, just reordered to be more - // consistent, and is intended to be the most minimal abstraction - // for an internal buffer. - // get == input == read - // put == output == write + //@{ + /** + * @if maint + * This is based on _IO_FILE, just reordered to be more consistent, + * and is intended to be the most minimal abstraction for an + * internal buffer. + * - get == input == read + * - put == output == write + * @endif + */ char_type* _M_in_beg; // Start of get area. char_type* _M_in_cur; // Current read area. char_type* _M_in_end; // End of get area. char_type* _M_out_beg; // Start of put area. char_type* _M_out_cur; // Current put area. char_type* _M_out_end; // End of put area. + //@} - // Place to stash in || out || in | out settings for current streambuf. + /** + * @if maint + * Place to stash in || out || in | out settings for current streambuf. + * @endif + */ ios_base::openmode _M_mode; - // Current locale setting. + /** + * @if maint + * Current locale setting. + * @endif + */ locale _M_buf_locale; - // True iff locale is initialized. + /** + * @if maint + * True iff locale is initialized. + * @endif + */ bool _M_buf_locale_init; - // Necessary bits for putback buffer management. Only used in - // the basic_filebuf class, as necessary for the standard - // requirements. The only basic_streambuf member function that - // needs access to these data members is in_avail... - // NB: pbacks of over one character are not currently supported. + //@{ + /** + * @if maint + * Necessary bits for putback buffer management. Only used in + * the basic_filebuf class, as necessary for the standard + * requirements. The only basic_streambuf member function that + * needs access to these data members is in_avail... + * + * @note pbacks of over one character are not currently supported. + * @endif + */ static const size_t _S_pback_size = 1; char_type _M_pback[_S_pback_size]; char_type* _M_pback_cur_save; char_type* _M_pback_end_save; bool _M_pback_init; + //@} - // Yet unused. + /** + * @if maint + * Yet unused. + * @endif + */ fpos<__state_type> _M_pos; // Initializes pback buffers, and moves normal buffers to safety. @@ -158,7 +278,7 @@ namespace std // Assumptions: // The pback buffer has only moved forward. void - _M_pback_destroy() + _M_pback_destroy() throw() { if (_M_pback_init) { @@ -236,6 +356,7 @@ namespace std } public: + /// Destructor deallocates no buffer space. virtual ~basic_streambuf() { @@ -245,7 +366,14 @@ namespace std _M_mode = ios_base::openmode(0); } - // Locales: + // [27.5.2.2.1] locales + /** + * @brief Entry point for imbue(). + * @param loc The new locale. + * @return The previous locale. + * + * Calls the derived imbue(loc). + */ locale pubimbue(const locale &__loc) { @@ -254,11 +382,27 @@ namespace std return __tmp; } + /** + * @brief Locale access. + * @return The current locale in effect. + * + * If pubimbue(loc) has been called, then the most recent @c loc + * is returned. Otherwise the global locale in effect at the time + * of construction is returned. + */ locale getloc() const { return _M_buf_locale; } - // Buffer and positioning: + // [27.5.2.2.2] buffer management and positioning + //@{ + /** + * @brief Entry points for derived buffer functions. + * + * The public versions of @c pubfoo dispatch to the protected + * derived @c foo member functions, passing the arguments (if any) + * and returning the result unchanged. + */ __streambuf_type* pubsetbuf(char_type* __s, streamsize __n) { return this->setbuf(__s, __n); } @@ -275,9 +419,17 @@ namespace std int pubsync() { return this->sync(); } - - // Get and put areas: - // Get area: + //@} + + // [27.5.2.2.3] get area + /** + * @brief Looking ahead into the stream. + * @return The number of characters available. + * + * If a read position is available, returns the number of characters + * available for reading before the buffer must be refilled. + * Otherwise returns the derived @c showmanyc(). + */ streamsize in_avail() { @@ -298,6 +450,13 @@ namespace std return __ret; } + /** + * @brief Getting the next character. + * @return The next character, or eof. + * + * Calls @c sbumpc(), and if that function returns + * @c traits::eof(), so does this function. Otherwise, @c sgetc(). + */ int_type snextc() { @@ -306,9 +465,25 @@ namespace std ? __eof : this->sgetc()); } + /** + * @brief Getting the next character. + * @return The next character, or eof. + * + * If the input read position is available, returns that character + * and increments the read pointer, otherwise calls and returns + * @c uflow(). + */ int_type sbumpc(); + /** + * @brief Getting the next character. + * @return The next character, or eof. + * + * If the input read position is available, returns that character, + * otherwise calls and returns @c underflow(). Does not move the + * read position after fetching the character. + */ int_type sgetc() { @@ -320,26 +495,84 @@ namespace std return __ret; } + /** + * @brief Entry point for xsgetn. + * @param s A buffer area. + * @param n A count. + * + * Returns xsgetn(s,n). The effect is to fill @a s[0] through + * @a s[n-1] with characters from the input sequence, if possible. + */ streamsize sgetn(char_type* __s, streamsize __n) { return this->xsgetn(__s, __n); } - // Putback: + // [27.5.2.2.4] putback + /** + * @brief Pushing characters back into the input stream. + * @param c The character to push back. + * @return The previous character, if possible. + * + * Similar to sungetc(), but @a c is pushed onto the stream instead + * of "the previous character". If successful, the next character + * fetched from the input stream will be @a c. + */ int_type sputbackc(char_type __c); + /** + * @brief Moving backwards in the input stream. + * @return The previous character, if possible. + * + * If a putback position is available, this function decrements the + * input pointer and returns that character. Otherwise, calls and + * returns pbackfail(). The effect is to "unget" the last character + * "gotten". + */ int_type sungetc(); - // Put area: + // [27.5.2.2.5] put area + /** + * @brief Entry point for all single-character output functions. + * @param c A character to output. + * @return @a c, if possible. + * + * One of two public output functions. + * + * If a write position is available for the output sequence (i.e., + * the buffer is not full), stores @a c in that position, increments + * the position, and returns @c traits::to_int_type(c). If a write + * position is not available, returns @c overflow(c). + */ int_type sputc(char_type __c); + /** + * @brief Entry point for all single-character output functions. + * @param s A buffer read area. + * @param n A count. + * + * One of two public output functions. + * + * + * Returns xsputn(s,n). The effect is to write @a s[0] through + * @a s[n-1] to the output sequence, if possible. + */ streamsize sputn(const char_type* __s, streamsize __n) { return this->xsputn(__s, __n); } protected: + /** + * @brief Base constructor. + * + * Only called from derived constructors, and sets up all the + * buffer data to zero, including the pointers described in the + * basic_streambuf class description. Note that, as a result, + * - the class starts with no read nor write positions available, + * - this is not an error + */ basic_streambuf() : _M_buf(NULL), _M_buf_size(0), _M_buf_size_opt(BUFSIZ), _M_buf_unified(false), _M_in_beg(0), _M_in_cur(0), _M_in_end(0), @@ -349,7 +582,18 @@ namespace std _M_pback_init(false) { } - // Get area: + // [27.5.2.3.1] get area access + //@{ + /** + * @brief Access to the get area. + * + * These functions are only available to other protected functions, + * including derived classes. + * + * - eback() returns the beginning pointer for the input sequence + * - gptr() returns the next pointer for the input sequence + * - egptr() returns the end pointer for the input sequence + */ char_type* eback() const { return _M_in_beg; } @@ -358,10 +602,25 @@ namespace std char_type* egptr() const { return _M_in_end; } - + //@} + + /** + * @brief Moving the read position. + * @param n The delta by which to move. + * + * This just advances the read position without returning any data. + */ void gbump(int __n) { _M_in_cur += __n; } + /** + * @brief Setting the three read area pointers. + * @param gbeg A pointer. + * @param gnext A pointer. + * @param gend A pointer. + * @post @a gbeg == @c eback(), @a gnext == @c gptr(), and + * @a gend == @c egptr() + */ void setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) { @@ -372,7 +631,18 @@ namespace std _M_mode = _M_mode | ios_base::in; } - // Put area: + // [27.5.2.3.2] put area access + //@{ + /** + * @brief Access to the put area. + * + * These functions are only available to other protected functions, + * including derived classes. + * + * - pbase() returns the beginning pointer for the output sequence + * - pptr() returns the next pointer for the output sequence + * - epptr() returns the end pointer for the output sequence + */ char_type* pbase() const { return _M_out_beg; } @@ -381,10 +651,24 @@ namespace std char_type* epptr() const { return _M_out_end; } - + //@} + + /** + * @brief Moving the write position. + * @param n The delta by which to move. + * + * This just advances the write position without returning any data. + */ void pbump(int __n) { _M_out_cur += __n; } + /** + * @brief Setting the three write area pointers. + * @param pbeg A pointer. + * @param pend A pointer. + * @post @a pbeg == @c pbase(), @a pbeg == @c pptr(), and + * @a pend == @c epptr() + */ void setp(char_type* __pbeg, char_type* __pend) { @@ -394,8 +678,19 @@ namespace std _M_mode = _M_mode | ios_base::out; } - // Virtual functions: - // Locales: + // [27.5.2.4] virtual functions + // [27.5.2.4.1] locales + /** + * @brief Changes translations. + * @param loc A new locale. + * + * Translations done during I/O which depend on the current locale + * are changed by this call. The standard adds, "Between invocations + * of this function a class derived from streambuf can safely cache + * results of calls to locale functions and to members of facets + * so obtained." This function simply stores the new locale for use + * by derived classes. + */ virtual void imbue(const locale& __loc) { @@ -403,35 +698,126 @@ namespace std _M_buf_locale = __loc; } - // Buffer management and positioning: + // [27.5.2.4.2] buffer management and positioning + /** + * @brief Maniuplates the buffer. + * + * Each derived class provides its own appropriate behavior. See + * the next-to-last paragraph of + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 for + * more on this function. + * + * @note Base class version does nothing, returns @c this. + */ virtual basic_streambuf<char_type,_Traits>* setbuf(char_type*, streamsize) { return this; } + /** + * @brief Alters the stream positions. + * + * Each derived class provides its own appropriate behavior. + * @note Base class version does nothing, returns a @c pos_type + * that represents an invalid stream position. + */ virtual pos_type seekoff(off_type, ios_base::seekdir, ios_base::openmode /*__mode*/ = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } + /** + * @brief Alters the stream positions. + * + * Each derived class provides its own appropriate behavior. + * @note Base class version does nothing, returns a @c pos_type + * that represents an invalid stream position. + */ virtual pos_type seekpos(pos_type, ios_base::openmode /*__mode*/ = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } + /** + * @brief Synchronizes the buffer arrays with the controlled sequences. + * @return -1 on failure. + * + * Each derived class provides its own appropriate behavior, + * including the definition of "failure". + * @note Base class version does nothing, returns zero. + */ virtual int sync() { return 0; } - // Get area: + // [27.5.2.4.3] get area + /** + * @brief Investigating the data available. + * @return An estimate of the number of characters available in the + * input sequence, or -1. + * + * "If it returns a positive value, then successive calls to + * @c underflow() will not return @c traits::eof() until at least that + * number of characters have been supplied. If @c showmanyc() + * returns -1, then calls to @c underflow() or @c uflow() will fail." + * [27.5.2.4.3]/1 + * + * @note Base class version does nothing, returns zero. + * @note The standard adds that "the intention is not only that the + * calls [to underflow or uflow] will not return @c eof() but + * that they will return "immediately". + * @note The standard adds that "the morphemes of @c showmanyc are + * "es-how-many-see", not "show-manic". + */ virtual streamsize showmanyc() { return 0; } + /** + * @brief Multiple character extraction. + * @param s A buffer area. + * @param n Maximum number of characters to assign. + * @return The number of characters assigned. + * + * Fills @a s[0] through @a s[n-1] with characters from the input + * sequence, as if by @c sbumpc(). Stops when either @a n characters + * have been copied, or when @c traits::eof() would be copied. + * + * It is expected that derived classes provide a more efficient + * implementation by overriding this definition. + */ virtual streamsize xsgetn(char_type* __s, streamsize __n); + /** + * @brief Fetches more data from the controlled sequence. + * @return The first character from the <em>pending sequence</em>. + * + * Informally, this function is called when the input buffer is + * exhausted (or does not exist, as buffering need not actually be + * done). If a buffer exists, it is "refilled". In either case, the + * next available character is returned, or @c traits::eof() to + * indicate a null pending sequence. + * + * For a formal definiton of the pending sequence, see a good text + * such as Langer & Kreft, or [27.5.2.4.3]/7-14. + * + * A functioning input streambuf can be created by overriding only + * this function (no buffer area will be used). For an example, see + * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#6 + * + * @note Base class version does nothing, returns eof(). + */ virtual int_type underflow() { return traits_type::eof(); } + /** + * @brief Fetches more data from the controlled sequence. + * @return The first character from the <em>pending sequence</em>. + * + * Informally, this function does the same thing as @c underflow(), + * and in fact is required to call that function. It also returns + * the new character, like @c underflow() does. However, this + * function also moves the read position forward by one. + */ virtual int_type uflow() { @@ -448,21 +834,78 @@ namespace std return __ret; } - // Putback: + // [27.5.2.4.4] putback + /** + * @brief Tries to back up the input sequence. + * @param c The character to be inserted back into the sequence. + * @return eof() on failure, "some other value" on success + * @post The constraints of @c gptr(), @c eback(), and @c pptr() + * are the same as for @c underflow(). + * + * @note Base class version does nothing, returns eof(). + */ virtual int_type pbackfail(int_type /* __c */ = traits_type::eof()) { return traits_type::eof(); } // Put area: + /** + * @brief Multiple character insertion. + * @param s A buffer area. + * @param n Maximum number of characters to write. + * @return The number of characters written. + * + * Writes @a s[0] through @a s[n-1] to the output sequence, as if + * by @c sputc(). Stops when either @a n characters have been + * copied, or when @c sputc() would return @c traits::eof(). + * + * It is expected that derived classes provide a more efficient + * implementation by overriding this definition. + */ virtual streamsize xsputn(const char_type* __s, streamsize __n); + /** + * @brief Consumes data from the buffer; writes to the + * controlled sequence. + * @param c An additional character to consume. + * @return eof() to indicate failure, something else (usually + * @a c, or not_eof()) + * + * Informally, this function is called when the output buffer is full + * (or does not exist, as buffering need not actually be done). If a + * buffer exists, it is "consumed", with "some effect" on the + * controlled sequence. (Typically, the buffer is written out to the + * sequence verbatim.) In either case, the character @a c is also + * written out, if @a c is not @c eof(). + * + * For a formal definiton of this function, see a good text + * such as Langer & Kreft, or [27.5.2.4.5]/3-7. + * + * A functioning output streambuf can be created by overriding only + * this function (no buffer area will be used). + * + * @note Base class version does nothing, returns eof(). + */ virtual int_type overflow(int_type /* __c */ = traits_type::eof()) { return traits_type::eof(); } #ifdef _GLIBCPP_DEPRECATED + // Annex D.6 public: + /** + * @brief Tosses a character. + * + * Advances the read pointer, ignoring the character that would have + * been read. + * + * See http://gcc.gnu.org/ml/libstdc++/2002-05/msg00168.html + * + * @note This function has been deprecated by the standard. You + * must define @c _GLIBCPP_DEPRECATED to make this visible; see + * c++config.h. + */ void stossc() { diff --git a/contrib/libstdc++/include/std/std_valarray.h b/contrib/libstdc++/include/std/std_valarray.h index 3957d7f..b4de5df 100644 --- a/contrib/libstdc++/include/std/std_valarray.h +++ b/contrib/libstdc++/include/std/std_valarray.h @@ -45,48 +45,47 @@ #include <cmath> #include <cstdlib> #include <numeric> -#include <functional> #include <algorithm> namespace std { - template<class _Clos, typename _Tp> class _Expr; + template<class _Clos, typename _Tp> + class _Expr; - template<typename _Tp1, typename _Tp2> class _ValArray; + template<typename _Tp1, typename _Tp2> + class _ValArray; - template<template<class> class _Oper, - template<class, class> class _Meta, class _Dom> struct _UnClos; + template<class _Oper, template<class, class> class _Meta, class _Dom> + struct _UnClos; - template<template<class> class _Oper, + template<class _Oper, template<class, class> class _Meta1, template<class, class> class _Meta2, - class _Dom1, class _Dom2> class _BinClos; + class _Dom1, class _Dom2> + class _BinClos; - template<template<class, class> class _Meta, class _Dom> class _SClos; + template<template<class, class> class _Meta, class _Dom> + class _SClos; - template<template<class, class> class _Meta, class _Dom> class _GClos; + template<template<class, class> class _Meta, class _Dom> + class _GClos; - template<template<class, class> class _Meta, class _Dom> class _IClos; + template<template<class, class> class _Meta, class _Dom> + class _IClos; - template<template<class, class> class _Meta, class _Dom> class _ValFunClos; - - template<template<class, class> class _Meta, class _Dom> class _RefFunClos; - - template<class _Tp> struct _Unary_plus; - template<class _Tp> struct _Bitwise_and; - template<class _Tp> struct _Bitwise_or; - template<class _Tp> struct _Bitwise_xor; - template<class _Tp> struct _Bitwise_not; - template<class _Tp> struct _Shift_left; - template<class _Tp> struct _Shift_right; + template<template<class, class> class _Meta, class _Dom> + class _ValFunClos; - template<class _Tp> class valarray; // An array of type _Tp - class slice; // BLAS-like slice out of an array - template<class _Tp> class slice_array; - class gslice; // generalized slice out of an array - template<class _Tp> class gslice_array; - template<class _Tp> class mask_array; // masked array - template<class _Tp> class indirect_array; // indirected array + template<template<class, class> class _Meta, class _Dom> + class _RefFunClos; + + template<class _Tp> class valarray; // An array of type _Tp + class slice; // BLAS-like slice out of an array + template<class _Tp> class slice_array; + class gslice; // generalized slice out of an array + template<class _Tp> class gslice_array; + template<class _Tp> class mask_array; // masked array + template<class _Tp> class indirect_array; // indirected array } // namespace std @@ -95,12 +94,19 @@ namespace std namespace std { - template<class _Tp> class valarray - { - public: + template<class _Tp> + class valarray + { + template<class _Op> + struct _UnaryOp + { + typedef typename __fun<_Op, _Tp>::result_type __rt; + typedef _Expr<_UnClos<_Op, _ValArray, _Tp>, __rt> _Rt; + }; + public: typedef _Tp value_type; - - // _lib.valarray.cons_ construct/destroy: + + // _lib.valarray.cons_ construct/destroy: valarray(); explicit valarray(size_t); valarray(const _Tp&, size_t); @@ -111,8 +117,8 @@ namespace std valarray(const mask_array<_Tp>&); valarray(const indirect_array<_Tp>&); template<class _Dom> - valarray(const _Expr<_Dom,_Tp>& __e); - ~valarray(); + valarray(const _Expr<_Dom,_Tp>& __e); + ~valarray(); // _lib.valarray.assign_ assignment: valarray<_Tp>& operator=(const valarray<_Tp>&); @@ -123,7 +129,7 @@ namespace std valarray<_Tp>& operator=(const indirect_array<_Tp>&); template<class _Dom> valarray<_Tp>& - operator= (const _Expr<_Dom,_Tp>&); + operator= (const _Expr<_Dom,_Tp>&); // _lib.valarray.access_ element access: // XXX: LWG to be resolved. @@ -137,67 +143,67 @@ namespace std valarray<_Tp> operator[](const valarray<bool>&) const; mask_array<_Tp> operator[](const valarray<bool>&); _Expr<_IClos<_ValArray, _Tp>, _Tp> - operator[](const valarray<size_t>&) const; + operator[](const valarray<size_t>&) const; indirect_array<_Tp> operator[](const valarray<size_t>&); // _lib.valarray.unary_ unary operators: - _Expr<_UnClos<_Unary_plus,_ValArray,_Tp>,_Tp> operator+ () const; - _Expr<_UnClos<negate,_ValArray,_Tp>,_Tp> operator- () const; - _Expr<_UnClos<_Bitwise_not,_ValArray,_Tp>,_Tp> operator~ () const; - _Expr<_UnClos<logical_not,_ValArray,_Tp>,bool> operator! () const; - + typename _UnaryOp<__unary_plus>::_Rt operator+() const; + typename _UnaryOp<__negate>::_Rt operator-() const; + typename _UnaryOp<__bitwise_not>::_Rt operator~() const; + typename _UnaryOp<__logical_not>::_Rt operator!() const; + // _lib.valarray.cassign_ computed assignment: - valarray<_Tp>& operator*= (const _Tp&); - valarray<_Tp>& operator/= (const _Tp&); - valarray<_Tp>& operator%= (const _Tp&); - valarray<_Tp>& operator+= (const _Tp&); - valarray<_Tp>& operator-= (const _Tp&); - valarray<_Tp>& operator^= (const _Tp&); - valarray<_Tp>& operator&= (const _Tp&); - valarray<_Tp>& operator|= (const _Tp&); + valarray<_Tp>& operator*=(const _Tp&); + valarray<_Tp>& operator/=(const _Tp&); + valarray<_Tp>& operator%=(const _Tp&); + valarray<_Tp>& operator+=(const _Tp&); + valarray<_Tp>& operator-=(const _Tp&); + valarray<_Tp>& operator^=(const _Tp&); + valarray<_Tp>& operator&=(const _Tp&); + valarray<_Tp>& operator|=(const _Tp&); valarray<_Tp>& operator<<=(const _Tp&); valarray<_Tp>& operator>>=(const _Tp&); - valarray<_Tp>& operator*= (const valarray<_Tp>&); - valarray<_Tp>& operator/= (const valarray<_Tp>&); - valarray<_Tp>& operator%= (const valarray<_Tp>&); - valarray<_Tp>& operator+= (const valarray<_Tp>&); - valarray<_Tp>& operator-= (const valarray<_Tp>&); - valarray<_Tp>& operator^= (const valarray<_Tp>&); - valarray<_Tp>& operator|= (const valarray<_Tp>&); - valarray<_Tp>& operator&= (const valarray<_Tp>&); + valarray<_Tp>& operator*=(const valarray<_Tp>&); + valarray<_Tp>& operator/=(const valarray<_Tp>&); + valarray<_Tp>& operator%=(const valarray<_Tp>&); + valarray<_Tp>& operator+=(const valarray<_Tp>&); + valarray<_Tp>& operator-=(const valarray<_Tp>&); + valarray<_Tp>& operator^=(const valarray<_Tp>&); + valarray<_Tp>& operator|=(const valarray<_Tp>&); + valarray<_Tp>& operator&=(const valarray<_Tp>&); valarray<_Tp>& operator<<=(const valarray<_Tp>&); valarray<_Tp>& operator>>=(const valarray<_Tp>&); template<class _Dom> - valarray<_Tp>& operator*= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator*=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator/= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator/=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator%= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator%=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator+= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator+=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator-= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator-=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator^= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator^=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator|= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator|=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator&= (const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator&=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator<<=(const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator<<=(const _Expr<_Dom,_Tp>&); template<class _Dom> - valarray<_Tp>& operator>>=(const _Expr<_Dom,_Tp>&); + valarray<_Tp>& operator>>=(const _Expr<_Dom,_Tp>&); + - // _lib.valarray.members_ member functions: size_t size() const; _Tp sum() const; _Tp min() const; _Tp max() const; -// // FIXME: Extension -// _Tp product () const; + // // FIXME: Extension + // _Tp product () const; valarray<_Tp> shift (int) const; valarray<_Tp> cshift(int) const; @@ -205,56 +211,25 @@ namespace std _Expr<_RefFunClos<_ValArray,_Tp>,_Tp> apply(_Tp func(const _Tp&)) const; void resize(size_t __size, _Tp __c = _Tp()); - private: + private: size_t _M_size; _Tp* __restrict__ _M_data; - + friend class _Array<_Tp>; - }; - - - template<typename _Tp> struct _Unary_plus : unary_function<_Tp,_Tp> { - _Tp operator() (const _Tp& __t) const { return __t; } - }; - - template<typename _Tp> struct _Bitwise_and : binary_function<_Tp,_Tp,_Tp> { - _Tp operator() (_Tp __x, _Tp __y) const { return __x & __y; } - }; - - template<typename _Tp> struct _Bitwise_or : binary_function<_Tp,_Tp,_Tp> { - _Tp operator() (_Tp __x, _Tp __y) const { return __x | __y; } - }; - - template<typename _Tp> struct _Bitwise_xor : binary_function<_Tp,_Tp,_Tp> { - _Tp operator() (_Tp __x, _Tp __y) const { return __x ^ __y; } - }; - - template<typename _Tp> struct _Bitwise_not : unary_function<_Tp,_Tp> { - _Tp operator() (_Tp __t) const { return ~__t; } - }; - - template<typename _Tp> struct _Shift_left : unary_function<_Tp,_Tp> { - _Tp operator() (_Tp __x, _Tp __y) const { return __x << __y; } - }; - - template<typename _Tp> struct _Shift_right : unary_function<_Tp,_Tp> { - _Tp operator() (_Tp __x, _Tp __y) const { return __x >> __y; } - }; - + }; template<typename _Tp> - inline const _Tp& - valarray<_Tp>::operator[] (size_t __i) const - { return _M_data[__i]; } + inline const _Tp& + valarray<_Tp>::operator[](size_t __i) const + { return _M_data[__i]; } template<typename _Tp> - inline _Tp& - valarray<_Tp>::operator[] (size_t __i) - { return _M_data[__i]; } + inline _Tp& + valarray<_Tp>::operator[](size_t __i) + { return _M_data[__i]; } } // std:: -#include <bits/slice.h> #include <bits/slice_array.h> #include <bits/gslice.h> #include <bits/gslice_array.h> @@ -264,214 +239,227 @@ namespace std namespace std { template<typename _Tp> - inline valarray<_Tp>::valarray () : _M_size (0), _M_data (0) {} + inline + valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {} template<typename _Tp> - inline valarray<_Tp>::valarray (size_t __n) - : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) - { __valarray_default_construct(_M_data, _M_data + __n); } + inline + valarray<_Tp>::valarray(size_t __n) + : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) + { __valarray_default_construct(_M_data, _M_data + __n); } template<typename _Tp> - inline valarray<_Tp>::valarray (const _Tp& __t, size_t __n) - : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) - { __valarray_fill_construct (_M_data, _M_data + __n, __t); } + inline + valarray<_Tp>::valarray(const _Tp& __t, size_t __n) + : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) + { __valarray_fill_construct(_M_data, _M_data + __n, __t); } template<typename _Tp> - inline valarray<_Tp>::valarray (const _Tp* __restrict__ __p, size_t __n) - : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) - { __valarray_copy_construct (__p, __p + __n, _M_data); } + inline + valarray<_Tp>::valarray(const _Tp* __restrict__ __p, size_t __n) + : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) + { __valarray_copy_construct(__p, __p + __n, _M_data); } template<typename _Tp> - inline valarray<_Tp>::valarray (const valarray<_Tp>& __v) - : _M_size(__v._M_size), _M_data(__valarray_get_storage<_Tp>(__v._M_size)) - { __valarray_copy_construct (__v._M_data, __v._M_data + _M_size, _M_data); } + inline + valarray<_Tp>::valarray(const valarray<_Tp>& __v) + : _M_size(__v._M_size), _M_data(__valarray_get_storage<_Tp>(__v._M_size)) + { __valarray_copy_construct(__v._M_data, __v._M_data + _M_size, _M_data); } template<typename _Tp> - inline valarray<_Tp>::valarray (const slice_array<_Tp>& __sa) - : _M_size(__sa._M_sz), _M_data(__valarray_get_storage<_Tp>(__sa._M_sz)) - { - __valarray_copy - (__sa._M_array, __sa._M_sz, __sa._M_stride, _Array<_Tp>(_M_data)); - } + inline + valarray<_Tp>::valarray(const slice_array<_Tp>& __sa) + : _M_size(__sa._M_sz), _M_data(__valarray_get_storage<_Tp>(__sa._M_sz)) + { + __valarray_copy + (__sa._M_array, __sa._M_sz, __sa._M_stride, _Array<_Tp>(_M_data)); + } template<typename _Tp> - inline valarray<_Tp>::valarray (const gslice_array<_Tp>& __ga) - : _M_size(__ga._M_index.size()), - _M_data(__valarray_get_storage<_Tp>(_M_size)) - { - __valarray_copy - (__ga._M_array, _Array<size_t>(__ga._M_index), - _Array<_Tp>(_M_data), _M_size); - } + inline + valarray<_Tp>::valarray(const gslice_array<_Tp>& __ga) + : _M_size(__ga._M_index.size()), + _M_data(__valarray_get_storage<_Tp>(_M_size)) + { + __valarray_copy + (__ga._M_array, _Array<size_t>(__ga._M_index), + _Array<_Tp>(_M_data), _M_size); + } template<typename _Tp> - inline valarray<_Tp>::valarray (const mask_array<_Tp>& __ma) - : _M_size(__ma._M_sz), _M_data(__valarray_get_storage<_Tp>(__ma._M_sz)) - { - __valarray_copy - (__ma._M_array, __ma._M_mask, _Array<_Tp>(_M_data), _M_size); - } + inline + valarray<_Tp>::valarray(const mask_array<_Tp>& __ma) + : _M_size(__ma._M_sz), _M_data(__valarray_get_storage<_Tp>(__ma._M_sz)) + { + __valarray_copy + (__ma._M_array, __ma._M_mask, _Array<_Tp>(_M_data), _M_size); + } template<typename _Tp> - inline valarray<_Tp>::valarray (const indirect_array<_Tp>& __ia) - : _M_size(__ia._M_sz), _M_data(__valarray_get_storage<_Tp>(__ia._M_sz)) - { - __valarray_copy - (__ia._M_array, __ia._M_index, _Array<_Tp>(_M_data), _M_size); - } + inline + valarray<_Tp>::valarray(const indirect_array<_Tp>& __ia) + : _M_size(__ia._M_sz), _M_data(__valarray_get_storage<_Tp>(__ia._M_sz)) + { + __valarray_copy + (__ia._M_array, __ia._M_index, _Array<_Tp>(_M_data), _M_size); + } template<typename _Tp> template<class _Dom> - inline valarray<_Tp>::valarray (const _Expr<_Dom, _Tp>& __e) - : _M_size(__e.size ()), _M_data(__valarray_get_storage<_Tp>(_M_size)) - { __valarray_copy (__e, _M_size, _Array<_Tp>(_M_data)); } + inline + valarray<_Tp>::valarray(const _Expr<_Dom, _Tp>& __e) + : _M_size(__e.size()), _M_data(__valarray_get_storage<_Tp>(_M_size)) + { __valarray_copy(__e, _M_size, _Array<_Tp>(_M_data)); } template<typename _Tp> - inline valarray<_Tp>::~valarray () - { + inline + valarray<_Tp>::~valarray() + { __valarray_destroy_elements(_M_data, _M_data + _M_size); __valarray_release_memory(_M_data); - } + } template<typename _Tp> - inline valarray<_Tp>& - valarray<_Tp>::operator= (const valarray<_Tp>& __v) - { + inline valarray<_Tp>& + valarray<_Tp>::operator=(const valarray<_Tp>& __v) + { __valarray_copy(__v._M_data, _M_size, _M_data); return *this; - } + } template<typename _Tp> - inline valarray<_Tp>& - valarray<_Tp>::operator= (const _Tp& __t) - { - __valarray_fill (_M_data, _M_size, __t); + inline valarray<_Tp>& + valarray<_Tp>::operator=(const _Tp& __t) + { + __valarray_fill(_M_data, _M_size, __t); return *this; - } + } template<typename _Tp> - inline valarray<_Tp>& - valarray<_Tp>::operator= (const slice_array<_Tp>& __sa) - { - __valarray_copy (__sa._M_array, __sa._M_sz, - __sa._M_stride, _Array<_Tp>(_M_data)); + inline valarray<_Tp>& + valarray<_Tp>::operator=(const slice_array<_Tp>& __sa) + { + __valarray_copy(__sa._M_array, __sa._M_sz, + __sa._M_stride, _Array<_Tp>(_M_data)); return *this; - } + } template<typename _Tp> - inline valarray<_Tp>& - valarray<_Tp>::operator= (const gslice_array<_Tp>& __ga) - { - __valarray_copy (__ga._M_array, _Array<size_t>(__ga._M_index), - _Array<_Tp>(_M_data), _M_size); + inline valarray<_Tp>& + valarray<_Tp>::operator=(const gslice_array<_Tp>& __ga) + { + __valarray_copy(__ga._M_array, _Array<size_t>(__ga._M_index), + _Array<_Tp>(_M_data), _M_size); return *this; - } + } template<typename _Tp> - inline valarray<_Tp>& - valarray<_Tp>::operator= (const mask_array<_Tp>& __ma) - { - __valarray_copy (__ma._M_array, __ma._M_mask, - _Array<_Tp>(_M_data), _M_size); + inline valarray<_Tp>& + valarray<_Tp>::operator=(const mask_array<_Tp>& __ma) + { + __valarray_copy(__ma._M_array, __ma._M_mask, + _Array<_Tp>(_M_data), _M_size); return *this; - } + } template<typename _Tp> - inline valarray<_Tp>& - valarray<_Tp>::operator= (const indirect_array<_Tp>& __ia) - { - __valarray_copy (__ia._M_array, __ia._M_index, - _Array<_Tp>(_M_data), _M_size); + inline valarray<_Tp>& + valarray<_Tp>::operator=(const indirect_array<_Tp>& __ia) + { + __valarray_copy(__ia._M_array, __ia._M_index, + _Array<_Tp>(_M_data), _M_size); return *this; - } + } template<typename _Tp> template<class _Dom> - inline valarray<_Tp>& - valarray<_Tp>::operator= (const _Expr<_Dom, _Tp>& __e) - { - __valarray_copy (__e, _M_size, _Array<_Tp>(_M_data)); - return *this; - } + inline valarray<_Tp>& + valarray<_Tp>::operator=(const _Expr<_Dom, _Tp>& __e) + { + __valarray_copy(__e, _M_size, _Array<_Tp>(_M_data)); + return *this; + } template<typename _Tp> - inline _Expr<_SClos<_ValArray,_Tp>, _Tp> - valarray<_Tp>::operator[] (slice __s) const - { + inline _Expr<_SClos<_ValArray,_Tp>, _Tp> + valarray<_Tp>::operator[](slice __s) const + { typedef _SClos<_ValArray,_Tp> _Closure; - return _Expr<_Closure, _Tp> (_Closure (_Array<_Tp>(_M_data), __s)); - } + return _Expr<_Closure, _Tp>(_Closure (_Array<_Tp>(_M_data), __s)); + } template<typename _Tp> - inline slice_array<_Tp> - valarray<_Tp>::operator[] (slice __s) - { - return slice_array<_Tp> (_Array<_Tp>(_M_data), __s); - } + inline slice_array<_Tp> + valarray<_Tp>::operator[](slice __s) + { + return slice_array<_Tp>(_Array<_Tp>(_M_data), __s); + } template<typename _Tp> - inline _Expr<_GClos<_ValArray,_Tp>, _Tp> - valarray<_Tp>::operator[] (const gslice& __gs) const - { + inline _Expr<_GClos<_ValArray,_Tp>, _Tp> + valarray<_Tp>::operator[](const gslice& __gs) const + { typedef _GClos<_ValArray,_Tp> _Closure; return _Expr<_Closure, _Tp> - (_Closure (_Array<_Tp>(_M_data), __gs._M_index->_M_index)); - } + (_Closure(_Array<_Tp>(_M_data), __gs._M_index->_M_index)); + } template<typename _Tp> - inline gslice_array<_Tp> - valarray<_Tp>::operator[] (const gslice& __gs) - { + inline gslice_array<_Tp> + valarray<_Tp>::operator[](const gslice& __gs) + { return gslice_array<_Tp> - (_Array<_Tp>(_M_data), __gs._M_index->_M_index); - } + (_Array<_Tp>(_M_data), __gs._M_index->_M_index); + } template<typename _Tp> - inline valarray<_Tp> - valarray<_Tp>::operator[] (const valarray<bool>& __m) const - { - size_t __s (0); - size_t __e (__m.size ()); + inline valarray<_Tp> + valarray<_Tp>::operator[](const valarray<bool>& __m) const + { + size_t __s = 0; + size_t __e = __m.size(); for (size_t __i=0; __i<__e; ++__i) - if (__m[__i]) ++__s; - return valarray<_Tp> (mask_array<_Tp> (_Array<_Tp>(_M_data), __s, - _Array<bool> (__m))); - } + if (__m[__i]) ++__s; + return valarray<_Tp>(mask_array<_Tp>(_Array<_Tp>(_M_data), __s, + _Array<bool> (__m))); + } template<typename _Tp> - inline mask_array<_Tp> - valarray<_Tp>::operator[] (const valarray<bool>& __m) - { - size_t __s (0); - size_t __e (__m.size ()); + inline mask_array<_Tp> + valarray<_Tp>::operator[](const valarray<bool>& __m) + { + size_t __s = 0; + size_t __e = __m.size(); for (size_t __i=0; __i<__e; ++__i) - if (__m[__i]) ++__s; - return mask_array<_Tp> (_Array<_Tp>(_M_data), __s, _Array<bool> (__m)); - } + if (__m[__i]) ++__s; + return mask_array<_Tp>(_Array<_Tp>(_M_data), __s, _Array<bool>(__m)); + } template<typename _Tp> - inline _Expr<_IClos<_ValArray,_Tp>, _Tp> - valarray<_Tp>::operator[] (const valarray<size_t>& __i) const - { + inline _Expr<_IClos<_ValArray,_Tp>, _Tp> + valarray<_Tp>::operator[](const valarray<size_t>& __i) const + { typedef _IClos<_ValArray,_Tp> _Closure; - return _Expr<_Closure, _Tp> (_Closure (*this, __i)); - } + return _Expr<_Closure, _Tp>(_Closure(*this, __i)); + } template<typename _Tp> - inline indirect_array<_Tp> - valarray<_Tp>::operator[] (const valarray<size_t>& __i) - { - return indirect_array<_Tp> (_Array<_Tp>(_M_data), __i.size(), - _Array<size_t> (__i)); - } + inline indirect_array<_Tp> + valarray<_Tp>::operator[](const valarray<size_t>& __i) + { + return indirect_array<_Tp>(_Array<_Tp>(_M_data), __i.size(), + _Array<size_t>(__i)); + } template<class _Tp> - inline size_t valarray<_Tp>::size () const { return _M_size; } + inline size_t + valarray<_Tp>::size() const + { return _M_size; } template<class _Tp> - inline _Tp - valarray<_Tp>::sum () const - { + inline _Tp + valarray<_Tp>::sum() const + { return __valarray_sum(_M_data, _M_data + _M_size); - } + } // template<typename _Tp> // inline _Tp @@ -530,209 +518,172 @@ namespace std } template <class _Tp> - inline void - valarray<_Tp>::resize (size_t __n, _Tp __c) - { - // This complication is so to make valarray<valarray<T> > work - // even though it is not required by the standard. Nobody should - // be saying valarray<valarray<T> > anyway. See the specs. - __valarray_destroy_elements(_M_data, _M_data + _M_size); - if (_M_size != __n) - { - __valarray_release_memory(_M_data); - _M_size = __n; - _M_data = __valarray_get_storage<_Tp>(__n); - } - __valarray_fill_construct(_M_data, _M_data + __n, __c); - } + inline void + valarray<_Tp>::resize (size_t __n, _Tp __c) + { + // This complication is so to make valarray<valarray<T> > work + // even though it is not required by the standard. Nobody should + // be saying valarray<valarray<T> > anyway. See the specs. + __valarray_destroy_elements(_M_data, _M_data + _M_size); + if (_M_size != __n) + { + __valarray_release_memory(_M_data); + _M_size = __n; + _M_data = __valarray_get_storage<_Tp>(__n); + } + __valarray_fill_construct(_M_data, _M_data + __n, __c); + } template<typename _Tp> - inline _Tp - valarray<_Tp>::min() const - { + inline _Tp + valarray<_Tp>::min() const + { return *min_element (_M_data, _M_data+_M_size); - } + } template<typename _Tp> - inline _Tp - valarray<_Tp>::max() const - { + inline _Tp + valarray<_Tp>::max() const + { return *max_element (_M_data, _M_data+_M_size); - } + } template<class _Tp> - inline _Expr<_ValFunClos<_ValArray,_Tp>,_Tp> - valarray<_Tp>::apply (_Tp func (_Tp)) const - { + inline _Expr<_ValFunClos<_ValArray,_Tp>,_Tp> + valarray<_Tp>::apply(_Tp func(_Tp)) const + { typedef _ValFunClos<_ValArray,_Tp> _Closure; - return _Expr<_Closure,_Tp> (_Closure (*this, func)); - } + return _Expr<_Closure,_Tp>(_Closure(*this, func)); + } template<class _Tp> - inline _Expr<_RefFunClos<_ValArray,_Tp>,_Tp> - valarray<_Tp>::apply (_Tp func (const _Tp &)) const - { + inline _Expr<_RefFunClos<_ValArray,_Tp>,_Tp> + valarray<_Tp>::apply(_Tp func(const _Tp &)) const + { typedef _RefFunClos<_ValArray,_Tp> _Closure; - return _Expr<_Closure,_Tp> (_Closure (*this, func)); - } + return _Expr<_Closure,_Tp>(_Closure(*this, func)); + } #define _DEFINE_VALARRAY_UNARY_OPERATOR(_Op, _Name) \ template<typename _Tp> \ - inline _Expr<_UnClos<_Name,_ValArray,_Tp>, _Tp> \ + inline typename valarray<_Tp>::template _UnaryOp<_Name>::_Rt \ valarray<_Tp>::operator _Op() const \ { \ - typedef _UnClos<_Name,_ValArray,_Tp> _Closure; \ - return _Expr<_Closure, _Tp> (_Closure (*this)); \ + typedef _UnClos<_Name,_ValArray,_Tp> _Closure; \ + typedef typename __fun<_Name, _Tp>::result_type _Rt; \ + return _Expr<_Closure, _Rt>(_Closure(*this)); \ } - _DEFINE_VALARRAY_UNARY_OPERATOR(+, _Unary_plus) - _DEFINE_VALARRAY_UNARY_OPERATOR(-, negate) - _DEFINE_VALARRAY_UNARY_OPERATOR(~, _Bitwise_not) + _DEFINE_VALARRAY_UNARY_OPERATOR(+, __unary_plus) + _DEFINE_VALARRAY_UNARY_OPERATOR(-, __negate) + _DEFINE_VALARRAY_UNARY_OPERATOR(~, __bitwise_not) + _DEFINE_VALARRAY_UNARY_OPERATOR (!, __logical_not) #undef _DEFINE_VALARRAY_UNARY_OPERATOR - - template<typename _Tp> - inline _Expr<_UnClos<logical_not,_ValArray,_Tp>, bool> - valarray<_Tp>::operator!() const - { - typedef _UnClos<logical_not,_ValArray,_Tp> _Closure; - return _Expr<_Closure, bool> (_Closure (*this)); - } #define _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(_Op, _Name) \ template<class _Tp> \ - inline valarray<_Tp> & \ - valarray<_Tp>::operator _Op##= (const _Tp &__t) \ - { \ - _Array_augmented_##_Name (_Array<_Tp>(_M_data), _M_size, __t); \ + inline valarray<_Tp>& \ + valarray<_Tp>::operator _Op##=(const _Tp &__t) \ + { \ + _Array_augmented_##_Name(_Array<_Tp>(_M_data), _M_size, __t); \ return *this; \ - } \ + } \ \ template<class _Tp> \ - inline valarray<_Tp> & \ - valarray<_Tp>::operator _Op##= (const valarray<_Tp> &__v) \ - { \ - _Array_augmented_##_Name (_Array<_Tp>(_M_data), _M_size, \ - _Array<_Tp>(__v._M_data)); \ + inline valarray<_Tp>& \ + valarray<_Tp>::operator _Op##=(const valarray<_Tp> &__v) \ + { \ + _Array_augmented_##_Name(_Array<_Tp>(_M_data), _M_size, \ + _Array<_Tp>(__v._M_data)); \ return *this; \ - } - -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(+, plus) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(-, minus) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(*, multiplies) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(/, divides) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(%, modulus) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(^, xor) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(&, and) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(|, or) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(<<, shift_left) -_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(>>, shift_right) + } + +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(+, __plus) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(-, __minus) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(*, __multiplies) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(/, __divides) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(%, __modulus) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(^, __bitwise_xor) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(&, __bitwise_and) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(|, __bitwise_or) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(<<, __shift_left) +_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(>>, __shift_right) #undef _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT - -} // std:: - - -namespace std -{ - #define _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(_Op, _Name) \ template<class _Tp> template<class _Dom> \ - inline valarray<_Tp> & \ - valarray<_Tp>::operator _Op##= (const _Expr<_Dom,_Tp> &__e) \ - { \ - _Array_augmented_##_Name (_Array<_Tp>(_M_data), __e, _M_size); \ + inline valarray<_Tp>& \ + valarray<_Tp>::operator _Op##=(const _Expr<_Dom,_Tp>& __e) \ + { \ + _Array_augmented_##_Name(_Array<_Tp>(_M_data), __e, _M_size); \ return *this; \ - } - -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(+, plus) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(-, minus) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(*, multiplies) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(/, divides) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(%, modulus) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(^, xor) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(&, and) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(|, or) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(<<, shift_left) -_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(>>, shift_right) + } + +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(+, __plus) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(-, __minus) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(*, __multiplies) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(/, __divides) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(%, __modulus) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(^, __bitwise_xor) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(&, __bitwise_and) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(|, __bitwise_or) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(<<, __shift_left) +_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(>>, __shift_right) #undef _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT #define _DEFINE_BINARY_OPERATOR(_Op, _Name) \ template<typename _Tp> \ - inline _Expr<_BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp>, _Tp> \ - operator _Op (const valarray<_Tp> &__v, const valarray<_Tp> &__w) \ - { \ + inline _Expr<_BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp>, \ + typename __fun<_Name, _Tp>::result_type> \ + operator _Op(const valarray<_Tp>& __v, const valarray<_Tp>& __w) \ + { \ typedef _BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp> _Closure; \ - return _Expr<_Closure, _Tp> (_Closure (__v, __w)); \ - } \ + typedef typename __fun<_Name, _Tp>::result_type _Rt; \ + return _Expr<_Closure, _Rt>(_Closure(__v, __w)); \ + } \ \ template<typename _Tp> \ - inline _Expr<_BinClos<_Name,_ValArray,_Constant,_Tp,_Tp>,_Tp> \ - operator _Op (const valarray<_Tp> &__v, const _Tp &__t) \ + inline _Expr<_BinClos<_Name,_ValArray,_Constant,_Tp,_Tp>, \ + typename __fun<_Name, _Tp>::result_type> \ + operator _Op(const valarray<_Tp>& __v, const _Tp& __t) \ { \ - typedef _BinClos<_Name,_ValArray,_Constant,_Tp,_Tp> _Closure; \ - return _Expr<_Closure, _Tp> (_Closure (__v, __t)); \ + typedef _BinClos<_Name,_ValArray,_Constant,_Tp,_Tp> _Closure; \ + typedef typename __fun<_Name, _Tp>::result_type _Rt; \ + return _Expr<_Closure, _Rt>(_Closure(__v, __t)); \ } \ \ template<typename _Tp> \ - inline _Expr<_BinClos<_Name,_Constant,_ValArray,_Tp,_Tp>,_Tp> \ - operator _Op (const _Tp &__t, const valarray<_Tp> &__v) \ - { \ - typedef _BinClos<_Name,_Constant,_ValArray,_Tp,_Tp> _Closure; \ - return _Expr<_Closure, _Tp> (_Closure (__t, __v)); \ - } - -_DEFINE_BINARY_OPERATOR(+, plus) -_DEFINE_BINARY_OPERATOR(-, minus) -_DEFINE_BINARY_OPERATOR(*, multiplies) -_DEFINE_BINARY_OPERATOR(/, divides) -_DEFINE_BINARY_OPERATOR(%, modulus) -_DEFINE_BINARY_OPERATOR(^, _Bitwise_xor) -_DEFINE_BINARY_OPERATOR(&, _Bitwise_and) -_DEFINE_BINARY_OPERATOR(|, _Bitwise_or) -_DEFINE_BINARY_OPERATOR(<<, _Shift_left) -_DEFINE_BINARY_OPERATOR(>>, _Shift_right) - -#undef _DEFINE_BINARY_OPERATOR - -#define _DEFINE_LOGICAL_OPERATOR(_Op, _Name) \ - template<typename _Tp> \ - inline _Expr<_BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp>,bool> \ - operator _Op (const valarray<_Tp> &__v, const valarray<_Tp> &__w) \ - { \ - typedef _BinClos<_Name,_ValArray,_ValArray,_Tp,_Tp> _Closure; \ - return _Expr<_Closure, bool> (_Closure (__v, __w)); \ - } \ - \ - template<class _Tp> \ - inline _Expr<_BinClos<_Name,_ValArray,_Constant,_Tp,_Tp>,bool> \ - operator _Op (const valarray<_Tp> &__v, const _Tp &__t) \ + inline _Expr<_BinClos<_Name,_Constant,_ValArray,_Tp,_Tp>, \ + typename __fun<_Name, _Tp>::result_type> \ + operator _Op(const _Tp& __t, const valarray<_Tp>& __v) \ { \ - typedef _BinClos<_Name,_ValArray,_Constant,_Tp,_Tp> _Closure; \ - return _Expr<_Closure, bool> (_Closure (__v, __t)); \ - } \ - \ - template<class _Tp> \ - inline _Expr<_BinClos<_Name,_Constant,_ValArray,_Tp,_Tp>,bool> \ - operator _Op (const _Tp &__t, const valarray<_Tp> &__v) \ - { \ - typedef _BinClos<_Name,_Constant,_ValArray,_Tp,_Tp> _Closure; \ - return _Expr<_Closure, bool> (_Closure (__t, __v)); \ - } - -_DEFINE_LOGICAL_OPERATOR(&&, logical_and) -_DEFINE_LOGICAL_OPERATOR(||, logical_or) -_DEFINE_LOGICAL_OPERATOR(==, equal_to) -_DEFINE_LOGICAL_OPERATOR(!=, not_equal_to) -_DEFINE_LOGICAL_OPERATOR(<, less) -_DEFINE_LOGICAL_OPERATOR(>, greater) -_DEFINE_LOGICAL_OPERATOR(<=, less_equal) -_DEFINE_LOGICAL_OPERATOR(>=, greater_equal) - -#undef _DEFINE_LOGICAL_OPERATOR + typedef _BinClos<_Name,_Constant,_ValArray,_Tp,_Tp> _Closure; \ + typedef typename __fun<_Name, _Tp>::result_type _Rt; \ + return _Expr<_Closure, _Tp>(_Closure(__t, __v)); \ + } + +_DEFINE_BINARY_OPERATOR(+, __plus) +_DEFINE_BINARY_OPERATOR(-, __minus) +_DEFINE_BINARY_OPERATOR(*, __multiplies) +_DEFINE_BINARY_OPERATOR(/, __divides) +_DEFINE_BINARY_OPERATOR(%, __modulus) +_DEFINE_BINARY_OPERATOR(^, __bitwise_xor) +_DEFINE_BINARY_OPERATOR(&, __bitwise_and) +_DEFINE_BINARY_OPERATOR(|, __bitwise_or) +_DEFINE_BINARY_OPERATOR(<<, __shift_left) +_DEFINE_BINARY_OPERATOR(>>, __shift_right) +_DEFINE_BINARY_OPERATOR(&&, __logical_and) +_DEFINE_BINARY_OPERATOR(||, __logical_or) +_DEFINE_BINARY_OPERATOR(==, __equal_to) +_DEFINE_BINARY_OPERATOR(!=, __not_equal_to) +_DEFINE_BINARY_OPERATOR(<, __less) +_DEFINE_BINARY_OPERATOR(>, __greater) +_DEFINE_BINARY_OPERATOR(<=, __less_equal) +_DEFINE_BINARY_OPERATOR(>=, __greater_equal) } // namespace std diff --git a/contrib/libstdc++/include/std/std_vector.h b/contrib/libstdc++/include/std/std_vector.h index 4120aa9..5738ef7 100644 --- a/contrib/libstdc++/include/std/std_vector.h +++ b/contrib/libstdc++/include/std/std_vector.h @@ -71,8 +71,9 @@ #include <bits/stl_vector.h> #include <bits/stl_bvector.h> +#ifdef _GLIBCPP_NO_TEMPLATE_EXPORT +# include <bits/vector.tcc> +#endif + #endif /* _CPP_VECTOR */ -// Local Variables: -// mode:C++ -// End: diff --git a/contrib/libstdc++/libmath/Makefile.am b/contrib/libstdc++/libmath/Makefile.am index c1bf4be..30d3dce 100644 --- a/contrib/libstdc++/libmath/Makefile.am +++ b/contrib/libstdc++/libmath/Makefile.am @@ -41,4 +41,4 @@ INCLUDES = \ $(TOPLEVEL_INCLUDES) # Only compiling "C" sources in this directory. -LIBTOOL = @LIBTOOL@ --tag CC
\ No newline at end of file +LIBTOOL = @LIBTOOL@ --tag CC diff --git a/contrib/libstdc++/libmath/Makefile.in b/contrib/libstdc++/libmath/Makefile.in index 697bc32..658627d 100644 --- a/contrib/libstdc++/libmath/Makefile.in +++ b/contrib/libstdc++/libmath/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -67,15 +67,24 @@ AR = @AR@ AS = @AS@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ AWK = @AWK@ +BASIC_FILE_CC = @BASIC_FILE_CC@ BASIC_FILE_H = @BASIC_FILE_H@ CC = @CC@ CCODECVT_C = @CCODECVT_C@ +CCODECVT_CC = @CCODECVT_CC@ CCODECVT_H = @CCODECVT_H@ +CCOLLATE_CC = @CCOLLATE_CC@ +CCTYPE_CC = @CCTYPE_CC@ +CLOCALE_CC = @CLOCALE_CC@ CLOCALE_H = @CLOCALE_H@ +CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ +CMESSAGES_CC = @CMESSAGES_CC@ CMESSAGES_H = @CMESSAGES_H@ +CMONEY_CC = @CMONEY_CC@ +CNUMERIC_CC = @CNUMERIC_CC@ CPP = @CPP@ -CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@ CSTDIO_H = @CSTDIO_H@ +CTIME_CC = @CTIME_CC@ CTIME_H = @CTIME_H@ CXX = @CXX@ CXXCPP = @CXXCPP@ @@ -107,6 +116,7 @@ RANLIB = @RANLIB@ SECTION_FLAGS = @SECTION_FLAGS@ SECTION_LDFLAGS = @SECTION_LDFLAGS@ STRIP = @STRIP@ +SYMVER_MAP = @SYMVER_MAP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ diff --git a/contrib/libstdc++/libmath/stubs.c b/contrib/libstdc++/libmath/stubs.c index 586fd6d..1968bff 100644 --- a/contrib/libstdc++/libmath/stubs.c +++ b/contrib/libstdc++/libmath/stubs.c @@ -1,6 +1,6 @@ /* Stub definitions for libmath subpart of libstdc++. */ -/* 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 @@ -108,6 +108,8 @@ float hypotf(float x, float y) { float s = fabsf(x) + fabsf(y); + if (s == 0.0F) + return s; x /= s; y /= s; return s * sqrtf(x * x + y * y); } @@ -118,6 +120,8 @@ double hypot(double x, double y) { double s = fabs(x) + fabs(y); + if (s == 0.0) + return s; x /= s; y /= s; return s * sqrt(x * x + y * y); } @@ -128,6 +132,8 @@ long double hypotl(long double x, long double y) { long double s = fabsl(x) + fabsl(y); + if (s == 0.0L) + return s; x /= s; y /= s; return s * sqrtl(x * x + y * y); } diff --git a/contrib/libstdc++/libsupc++/Makefile.am b/contrib/libstdc++/libsupc++/Makefile.am index 0a741de..8d66e0e 100644 --- a/contrib/libstdc++/libsupc++/Makefile.am +++ b/contrib/libstdc++/libsupc++/Makefile.am @@ -1,6 +1,6 @@ ## Makefile for the GNU C++ Support library. ## -## Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +## Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. ## ## Process this file with automake to produce Makefile.in. ## @@ -47,9 +47,8 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS -# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. CONFIG_CXXFLAGS = \ - @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@ + @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@ # Warning flags to use. WARN_CXXFLAGS = \ @@ -84,6 +83,7 @@ sources = \ eh_terminate.cc \ eh_throw.cc \ eh_type.cc \ + guard.cc \ new_handler.cc \ new_op.cc \ new_opnt.cc \ @@ -97,7 +97,7 @@ sources = \ libsupc___la_SOURCES = $(sources) $(c_sources) libsupc__convenience_la_SOURCES = $(sources) $(c_sources) -glibcppinstalldir = @gxx_include_dir@ +glibcppinstalldir = $(gxx_include_dir) glibcppinstall_HEADERS = $(headers) LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS) @@ -126,8 +126,8 @@ dyn-string.o: dyn-string.c # LTCOMPILE is copied from LTCXXCOMPILE below. LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared --mode=compile $(CC) \ - $(DEFS) $(GCC_INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) + $(DEFS) $(GCC_INCLUDES) $(LIBSUPCXX_PICFLAGS) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) # AM_CXXFLAGS needs to be in each subdirectory so that it can be @@ -142,6 +142,9 @@ AM_CXXFLAGS = \ $(OPTIMIZE_CXXFLAGS) \ $(CONFIG_CXXFLAGS) +AM_MAKEFLAGS = \ + "gxx_include_dir=$(gxx_include_dir)" + # libstdc++ libtool notes # 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is diff --git a/contrib/libstdc++/libsupc++/Makefile.in b/contrib/libstdc++/libsupc++/Makefile.in index 9de2f5f..843c7f4 100644 --- a/contrib/libstdc++/libsupc++/Makefile.in +++ b/contrib/libstdc++/libsupc++/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -67,14 +67,23 @@ AR = @AR@ AS = @AS@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ AWK = @AWK@ +BASIC_FILE_CC = @BASIC_FILE_CC@ BASIC_FILE_H = @BASIC_FILE_H@ CCODECVT_C = @CCODECVT_C@ +CCODECVT_CC = @CCODECVT_CC@ CCODECVT_H = @CCODECVT_H@ +CCOLLATE_CC = @CCOLLATE_CC@ +CCTYPE_CC = @CCTYPE_CC@ +CLOCALE_CC = @CLOCALE_CC@ CLOCALE_H = @CLOCALE_H@ +CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ +CMESSAGES_CC = @CMESSAGES_CC@ CMESSAGES_H = @CMESSAGES_H@ +CMONEY_CC = @CMONEY_CC@ +CNUMERIC_CC = @CNUMERIC_CC@ CPP = @CPP@ -CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@ CSTDIO_H = @CSTDIO_H@ +CTIME_CC = @CTIME_CC@ CTIME_H = @CTIME_H@ CXXCPP = @CXXCPP@ C_INCLUDE_DIR = @C_INCLUDE_DIR@ @@ -103,6 +112,7 @@ RANLIB = @RANLIB@ SECTION_FLAGS = @SECTION_FLAGS@ SECTION_LDFLAGS = @SECTION_LDFLAGS@ STRIP = @STRIP@ +SYMVER_MAP = @SYMVER_MAP@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ @@ -153,9 +163,8 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS -# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. CONFIG_CXXFLAGS = \ - @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@ + @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@ # Warning flags to use. @@ -195,6 +204,7 @@ sources = \ eh_terminate.cc \ eh_throw.cc \ eh_type.cc \ + guard.cc \ new_handler.cc \ new_op.cc \ new_opnt.cc \ @@ -209,7 +219,7 @@ sources = \ libsupc___la_SOURCES = $(sources) $(c_sources) libsupc__convenience_la_SOURCES = $(sources) $(c_sources) -glibcppinstalldir = @gxx_include_dir@ +glibcppinstalldir = $(gxx_include_dir) glibcppinstall_HEADERS = $(headers) LIBSUPCXX_CXXFLAGS = $(LIBSUPCXX_PICFLAGS) @@ -224,8 +234,8 @@ C_COMPILE = \ # LTCOMPILE is copied from LTCXXCOMPILE below. LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared --mode=compile $(CC) \ - $(DEFS) $(GCC_INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS) + $(DEFS) $(GCC_INCLUDES) $(LIBSUPCXX_PICFLAGS) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) # AM_CXXFLAGS needs to be in each subdirectory so that it can be @@ -241,6 +251,10 @@ AM_CXXFLAGS = \ $(CONFIG_CXXFLAGS) +AM_MAKEFLAGS = \ + "gxx_include_dir=$(gxx_include_dir)" + + # libstdc++ libtool notes # 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is @@ -291,15 +305,15 @@ libsupc__convenience_la_LIBADD = libsupc__convenience_la_OBJECTS = del_op.lo del_opnt.lo del_opv.lo \ del_opvnt.lo eh_alloc.lo eh_aux_runtime.lo eh_catch.lo eh_exception.lo \ eh_globals.lo eh_personality.lo eh_terminate.lo eh_throw.lo eh_type.lo \ -new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo pure.lo \ -tinfo.lo tinfo2.lo vec.lo cxa_demangle.lo dyn-string.lo +guard.lo new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo \ +pure.lo tinfo.lo tinfo2.lo vec.lo cxa_demangle.lo dyn-string.lo libsupc___la_LDFLAGS = libsupc___la_LIBADD = libsupc___la_OBJECTS = del_op.lo del_opnt.lo del_opv.lo del_opvnt.lo \ eh_alloc.lo eh_aux_runtime.lo eh_catch.lo eh_exception.lo eh_globals.lo \ -eh_personality.lo eh_terminate.lo eh_throw.lo eh_type.lo new_handler.lo \ -new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo pure.lo tinfo.lo \ -tinfo2.lo vec.lo cxa_demangle.lo dyn-string.lo +eh_personality.lo eh_terminate.lo eh_throw.lo eh_type.lo guard.lo \ +new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo pure.lo \ +tinfo.lo tinfo2.lo vec.lo cxa_demangle.lo dyn-string.lo CXXFLAGS = @CXXFLAGS@ CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) diff --git a/contrib/libstdc++/libsupc++/cxxabi.h b/contrib/libstdc++/libsupc++/cxxabi.h index 371b77e..adb1a00 100644 --- a/contrib/libstdc++/libsupc++/cxxabi.h +++ b/contrib/libstdc++/libsupc++/cxxabi.h @@ -500,7 +500,42 @@ void __cxa_vec_delete3 (void *__array_address, __SIZE_TYPE__ __padding_size, void (*__destructor) (void *), void (*__dealloc) (void *, __SIZE_TYPE__)); - + +/* guard variables */ + +/* The ABI requires a 64-bit type. */ +__extension__ typedef int __guard __attribute__((mode (__DI__))); + +extern "C" +int __cxa_guard_acquire (__guard *); + +extern "C" +void __cxa_guard_release (__guard *); + +extern "C" +void __cxa_guard_abort (__guard *); + +/* pure virtual functions */ + +extern "C" void +__cxa_pure_virtual (void); + +/* exception handling */ + +extern "C" void +__cxa_bad_cast (); + +extern "C" void +__cxa_bad_typeid (); + +/* DSO destruction */ + +extern "C" int +__cxa_atexit (void (*)(void *), void *, void *); + +extern "C" int +__cxa_finalize (void *); + /* demangling routines */ extern "C" diff --git a/contrib/libstdc++/libsupc++/eh_catch.cc b/contrib/libstdc++/libsupc++/eh_catch.cc index ba49dfe..4a678eb9 100644 --- a/contrib/libstdc++/libsupc++/eh_catch.cc +++ b/contrib/libstdc++/libsupc++/eh_catch.cc @@ -1,5 +1,5 @@ // -*- C++ -*- Exception handling routines for catching. -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003 Free Software Foundation, Inc. // // This file is part of GNU CC. // @@ -39,15 +39,28 @@ __cxa_begin_catch (void *exc_obj_in) { _Unwind_Exception *exceptionObject = reinterpret_cast <_Unwind_Exception *>(exc_obj_in); - - // ??? Foreign exceptions can't be stacked here, and there doesn't - // appear to be any place to store for __cxa_end_catch to destroy. - - __cxa_exception *header = __get_exception_header_from_ue (exceptionObject); __cxa_eh_globals *globals = __cxa_get_globals (); __cxa_exception *prev = globals->caughtExceptions; - int count = header->handlerCount; + __cxa_exception *header = __get_exception_header_from_ue (exceptionObject); + + // Foreign exceptions can't be stacked here. If the exception stack is + // empty, then fine. Otherwise we really have no choice but to terminate. + // Note that this use of "header" is a lie. It's fine so long as we only + // examine header->unwindHeader though. + if (header->unwindHeader.exception_class != __gxx_exception_class) + { + if (prev != 0) + std::terminate (); + + // Remember for end_catch and rethrow. + globals->caughtExceptions = header; + + // ??? No sensible value to return; we don't know what the + // object is, much less where it is in relation to the header. + return 0; + } + int count = header->handlerCount; if (count < 0) // This exception was rethrown from an immediately enclosing region. count = -count + 1; @@ -71,8 +84,22 @@ __cxa_end_catch () { __cxa_eh_globals *globals = __cxa_get_globals_fast (); __cxa_exception *header = globals->caughtExceptions; - int count = header->handlerCount; + // A rethrow of a foreign exception will be removed from the + // the exception stack immediately by __cxa_rethrow. + if (!header) + return; + + // A foreign exception couldn't have been stacked (see above), + // so by definition processing must be complete. + if (header->unwindHeader.exception_class != __gxx_exception_class) + { + globals->caughtExceptions = 0; + _Unwind_DeleteException (&header->unwindHeader); + return; + } + + int count = header->handlerCount; if (count < 0) { // This exception was rethrown. Decrement the (inverted) catch @@ -92,7 +119,7 @@ __cxa_end_catch () } else if (count < 0) // A bug in the exception handling library or compiler. - std::abort (); + std::terminate (); header->handlerCount = count; } diff --git a/contrib/libstdc++/libsupc++/eh_personality.cc b/contrib/libstdc++/libsupc++/eh_personality.cc index 58c266a..2b315c3 100644 --- a/contrib/libstdc++/libsupc++/eh_personality.cc +++ b/contrib/libstdc++/libsupc++/eh_personality.cc @@ -1,5 +1,5 @@ // -*- C++ -*- The GNU C++ exception personality routine. -// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. // // This file is part of GNU CC. // @@ -124,6 +124,8 @@ get_adjusted_ptr (const std::type_info *catch_type, return false; } +// Return true if THROW_TYPE matches one if the filter types. + static bool check_exception_spec (lsda_header_info *info, const std::type_info *throw_type, void *thrown_ptr, _Unwind_Sword filter_value) @@ -154,6 +156,18 @@ check_exception_spec (lsda_header_info *info, const std::type_info *throw_type, } } +// Return true if the filter spec is empty, ie throw(). + +static bool +empty_exception_spec (lsda_header_info *info, _Unwind_Sword filter_value) +{ + const unsigned char *e = info->TType - filter_value - 1; + _Unwind_Word tmp; + + e = read_uleb128 (e, &tmp); + return tmp == 0; +} + // Using a different personality function name causes link failures // when trying to mix code using different exception handling models. #ifdef _GLIBCPP_SJLJ_EXCEPTIONS @@ -197,6 +211,7 @@ PERSONALITY_FUNCTION (int version, && exception_class == __gxx_exception_class) { handler_switch_value = xh->handlerSwitchValue; + language_specific_data = xh->languageSpecificData; landing_pad = (_Unwind_Ptr) xh->catchTemp; found_type = (landing_pad == 0 ? found_terminate : found_handler); goto install_context; @@ -275,7 +290,7 @@ PERSONALITY_FUNCTION (int version, // If ip is not present in the table, call terminate. This is for // a destructor inside a cleanup, or a library routine the compiler // was not expecting to throw. - found_type = (actions & _UA_FORCE_UNWIND ? found_nothing : found_terminate); + found_type = found_terminate; goto do_something; found_something: @@ -327,23 +342,15 @@ PERSONALITY_FUNCTION (int version, // Positive filter values are handlers. catch_type = get_ttype_entry (&info, ar_filter); - // Null catch type is a catch-all handler. We can catch - // foreign exceptions with this. - if (! catch_type) - { - if (!(actions & _UA_FORCE_UNWIND)) - { - saw_handler = true; - break; - } - } - else if (throw_type) + // Null catch type is a catch-all handler; we can catch foreign + // exceptions with this. Otherwise we must match types. + if (! catch_type + || (throw_type + && get_adjusted_ptr (catch_type, throw_type, + &thrown_ptr))) { - if (get_adjusted_ptr (catch_type, throw_type, &thrown_ptr)) - { - saw_handler = true; - break; - } + saw_handler = true; + break; } } else @@ -352,9 +359,12 @@ PERSONALITY_FUNCTION (int version, // ??? How do foreign exceptions fit in? As far as I can // see we can't match because there's no __cxa_exception // object to stuff bits in for __cxa_call_unexpected to use. + // Allow them iff the exception spec is non-empty. I.e. + // a throw() specification results in __unexpected. if (throw_type - && ! check_exception_spec (&info, throw_type, thrown_ptr, - ar_filter)) + ? ! check_exception_spec (&info, throw_type, thrown_ptr, + ar_filter) + : empty_exception_spec (&info, ar_filter)) { saw_handler = true; break; @@ -394,25 +404,43 @@ PERSONALITY_FUNCTION (int version, // ??? Completely unknown what this field is supposed to be for. // ??? Need to cache TType encoding base for call_unexpected. - xh->catchTemp = (void *) (_Unwind_Ptr) landing_pad; + xh->catchTemp = landing_pad; } return _URC_HANDLER_FOUND; } install_context: - if (found_type == found_terminate) + // We can't use any of the cxa routines with foreign exceptions, + // because they all expect ue_header to be a struct __cxa_exception. + // So in that case, call terminate or unexpected directly. + if ((actions & _UA_FORCE_UNWIND) + || exception_class != __gxx_exception_class) { - __cxa_begin_catch (&xh->unwindHeader); - __terminate (xh->terminateHandler); + if (found_type == found_terminate) + std::terminate (); + else if (handler_switch_value < 0) + { + try + { std::unexpected (); } + catch(...) + { std::terminate (); } + } } - - // Cache the TType base value for __cxa_call_unexpected, as we won't - // have an _Unwind_Context then. - if (handler_switch_value < 0) + else { - parse_lsda_header (context, xh->languageSpecificData, &info); - xh->catchTemp = (void *) base_of_encoded_value (info.ttype_encoding, - context); + if (found_type == found_terminate) + { + __cxa_begin_catch (&xh->unwindHeader); + __terminate (xh->terminateHandler); + } + + // Cache the TType base value for __cxa_call_unexpected, as we won't + // have an _Unwind_Context then. + if (handler_switch_value < 0) + { + parse_lsda_header (context, language_specific_data, &info); + xh->catchTemp = base_of_encoded_value (info.ttype_encoding, context); + } } _Unwind_SetGR (context, __builtin_eh_return_data_regno (0), @@ -457,20 +485,19 @@ __cxa_call_unexpected (void *exc_obj_in) catch(...) { // Get the exception thrown from unexpected. - // ??? Foreign exceptions can't be stacked this way. - + __cxa_eh_globals *globals = __cxa_get_globals_fast (); __cxa_exception *new_xh = globals->caughtExceptions; void *new_ptr = new_xh + 1; - + // We don't quite have enough stuff cached; re-parse the LSDA. parse_lsda_header (0, xh_lsda, &info); - + // If this new exception meets the exception spec, allow it. if (check_exception_spec (&info, new_xh->exceptionType, new_ptr, xh_switch_value)) __throw_exception_again; - + // If the exception spec allows std::bad_exception, throw that. // We don't have a thrown object to compare against, but since // bad_exception doesn't have virtual bases, that's OK; just pass 0. @@ -479,6 +506,7 @@ __cxa_call_unexpected (void *exc_obj_in) if (check_exception_spec (&info, &bad_exc, 0, xh_switch_value)) throw std::bad_exception(); #endif + // Otherwise, die. __terminate (xh_terminate_handler); } diff --git a/contrib/libstdc++/libsupc++/eh_throw.cc b/contrib/libstdc++/libsupc++/eh_throw.cc index 407b829..0e13066 100644 --- a/contrib/libstdc++/libsupc++/eh_throw.cc +++ b/contrib/libstdc++/libsupc++/eh_throw.cc @@ -1,5 +1,5 @@ // -*- C++ -*- Exception handling routines for throwing. -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003 Free Software Foundation, Inc. // // This file is part of GNU CC. // @@ -42,7 +42,10 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc) // If we haven't been caught by a foreign handler, then this is // some sort of unwind error. In that case just die immediately. - if (code != _URC_FOREIGN_EXCEPTION_CAUGHT) + // _Unwind_DeleteException in the HP-UX IA64 libunwind library + // returns _URC_NO_REASON and not _URC_FOREIGN_EXCEPTION_CAUGHT + // like the GCC _Unwind_DeleteException function does. + if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON) __terminate (header->terminateHandler); if (header->exceptionDestructor) @@ -87,12 +90,19 @@ __cxa_rethrow () if (header) { // Tell __cxa_end_catch this is a rethrow. - header->handlerCount = -header->handlerCount; + if (header->unwindHeader.exception_class != __gxx_exception_class) + globals->caughtExceptions = 0; + else + header->handlerCount = -header->handlerCount; #ifdef _GLIBCPP_SJLJ_EXCEPTIONS - _Unwind_SjLj_RaiseException (&header->unwindHeader); + _Unwind_SjLj_Resume_or_Rethrow (&header->unwindHeader); #else +#ifdef _LIBUNWIND_STD_ABI _Unwind_RaiseException (&header->unwindHeader); +#else + _Unwind_Resume_or_Rethrow (&header->unwindHeader); +#endif #endif // Some sort of unwinding error. Note that terminate is a handler. diff --git a/contrib/libstdc++/libsupc++/exception b/contrib/libstdc++/libsupc++/exception index b26cb6d..d76a947 100644 --- a/contrib/libstdc++/libsupc++/exception +++ b/contrib/libstdc++/libsupc++/exception @@ -41,11 +41,13 @@ extern "C++" { namespace std { - /** This is the base class for all exceptions thrown by the standard + /** + * @brief Base class for all library exceptions. + * + * This is the base class for all exceptions thrown by the standard * library, and by certain language expressions. You are free to derive * your own %exception classes, or use a different hierarchy, or to * throw non-class data (e.g., fundamental types). - * @brief Base class for all library exceptions. */ class exception { diff --git a/contrib/libstdc++/libsupc++/guard.cc b/contrib/libstdc++/libsupc++/guard.cc new file mode 100644 index 0000000..b93cffd --- /dev/null +++ b/contrib/libstdc++/libsupc++/guard.cc @@ -0,0 +1,51 @@ +// Copyright (C) 2002 Free Software Foundation, Inc. +// +// This file is part of GCC. +// +// GCC 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. + +// GCC 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 GCC; 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. + +// Written by Mark Mitchell, CodeSourcery LLC, <mark@codesourcery.com> + +#include <cxxabi.h> + +namespace __cxxabiv1 +{ + extern "C" + int __cxa_guard_acquire (__guard *g) + { + return !*(char *)(g); + } + + extern "C" + void __cxa_guard_release (__guard *g) + { + *(char *)g = 1; + } + + extern "C" + void __cxa_guard_abort (__guard *) + { + } +} diff --git a/contrib/libstdc++/libsupc++/new b/contrib/libstdc++/libsupc++/new index 475083b..af19ed8 100644 --- a/contrib/libstdc++/libsupc++/new +++ b/contrib/libstdc++/libsupc++/new @@ -45,7 +45,10 @@ extern "C++" { namespace std { - /** @c bad_alloc (or classes derived from it) is used to report allocation + /** + * @brief Exception possibly thrown by @c new. + * + * @c bad_alloc (or classes derived from it) is used to report allocation * errors from the throwing forms of @c new. */ class bad_alloc : public exception { diff --git a/contrib/libstdc++/libsupc++/tinfo.cc b/contrib/libstdc++/libsupc++/tinfo.cc index d2e189a..d6e465e 100644 --- a/contrib/libstdc++/libsupc++/tinfo.cc +++ b/contrib/libstdc++/libsupc++/tinfo.cc @@ -28,6 +28,7 @@ // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. +#include <bits/c++config.h> #include <cstddef> #include "tinfo.h" #include "new" // for placement new @@ -91,12 +92,28 @@ namespace { using namespace std; using namespace abi; -// initial part of a vtable, this structure is used with offsetof, so we don't +// Initial part of a vtable, this structure is used with offsetof, so we don't // have to keep alignments consistent manually. -struct vtable_prefix { - ptrdiff_t whole_object; // offset to most derived object - const __class_type_info *whole_type; // pointer to most derived type_info - const void *origin; // what a class's vptr points to +struct vtable_prefix +{ + // Offset to most derived object. + ptrdiff_t whole_object; + + // Additional padding if necessary. +#ifdef _GLIBCPP_VTABLE_PADDING + ptrdiff_t padding1; +#endif + + // Pointer to most derived type_info. + const __class_type_info *whole_type; + + // Additional padding if necessary. +#ifdef _GLIBCPP_VTABLE_PADDING + ptrdiff_t padding2; +#endif + + // What a class's vptr points to. + const void *origin; }; template <typename T> diff --git a/contrib/libstdc++/libsupc++/typeinfo b/contrib/libstdc++/libsupc++/typeinfo index 480dc4a..88a2639 100644 --- a/contrib/libstdc++/libsupc++/typeinfo +++ b/contrib/libstdc++/libsupc++/typeinfo @@ -54,9 +54,12 @@ namespace __cxxabiv1 namespace std { - /** The @c type_info class describes type information generated by + /** + * @brief Part of RTTI. + * + * The @c type_info class describes type information generated by * an implementation. - * @brief Used in RTTI. */ + */ class type_info { public: @@ -124,7 +127,10 @@ namespace std void **__obj_ptr) const; }; - /** If you attempt an invalid @c dynamic_cast expression, an instance of + /** + * @brief Thrown during incorrect typecasting. + * + * If you attempt an invalid @c dynamic_cast expression, an instance of * this class (or something derived from this class) is thrown. */ class bad_cast : public exception { diff --git a/contrib/libstdc++/libsupc++/unwind-cxx.h b/contrib/libstdc++/libsupc++/unwind-cxx.h index ea30eba..b0b0b366 100644 --- a/contrib/libstdc++/libsupc++/unwind-cxx.h +++ b/contrib/libstdc++/libsupc++/unwind-cxx.h @@ -70,7 +70,7 @@ struct __cxa_exception int handlerSwitchValue; const unsigned char *actionRecord; const unsigned char *languageSpecificData; - void *catchTemp; + _Unwind_Ptr catchTemp; void *adjustedPtr; // The generic exception header. Must be last. diff --git a/contrib/libstdc++/mkcheck.in b/contrib/libstdc++/mkcheck.in index b104244..c856b05 100755 --- a/contrib/libstdc++/mkcheck.in +++ b/contrib/libstdc++/mkcheck.in @@ -314,7 +314,8 @@ test_file() # and harder as we try compiling at, say, top of the hour; we would # eventually have to calculate time_t anyhow. Or 3) just grab two # time_t's (no more overhead than grabbing two date(1)'s). - compiler_invocation="$LTCXX $S_FLAG $SRC_NAME -o $EXENAME" + our_libs="-L$TEST_DIR -lv3test" + compiler_invocation="$LTCXX $S_FLAG $SRC_NAME -o $EXENAME $our_libs" echo $compiler_invocation >> compile.out 2>&1 COMP_TIME_START=$($TIMER_COMMAND) $compiler_invocation >> compile.out 2>&1 diff --git a/contrib/libstdc++/src/Makefile.am b/contrib/libstdc++/src/Makefile.am index 4592168..304c035 100644 --- a/contrib/libstdc++/src/Makefile.am +++ b/contrib/libstdc++/src/Makefile.am @@ -1,6 +1,6 @@ ## Makefile for the src subdirectory 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. @@ -29,19 +29,30 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs # Cross compiler support. CXX = @glibcpp_CXX@ +glibcpp_srcdir=@glibcpp_srcdir@ +glibcpp_builddir=@glibcpp_builddir@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ toolexeclib_LTLIBRARIES = libstdc++.la +# Symbol versioning for shared libraries. +if GLIBCPP_BUILD_VERSIONED_SHLIB +version_arg = -Wl,--version-script=libstdc++-symbol.ver +libstdc++-symbol.ver: ${glibcpp_srcdir}/@SYMVER_MAP@ + @LN_S@ ${glibcpp_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver || true +else +version_arg = +libstdc++-symbol.ver: +endif + # Compile flags that should be constant throughout the build, both for # SUBDIRS and for libstdc++-v3 in general. OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS -# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. CONFIG_CXXFLAGS = \ - @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@ + @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@ # Warning flags to use. WARN_CXXFLAGS = \ @@ -60,7 +71,8 @@ INCLUDES = \ $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \ $(TOPLEVEL_INCLUDES) -# Source files linked in via configuration magic for a particular target. +# Source files linked in via configuration/make substitution for a +# particular target. target_sources = \ codecvt_members.cc \ collate_members.cc \ @@ -70,12 +82,39 @@ target_sources = \ numeric_members.cc \ time_members.cc -# Source files linked in via configuration magic for a particular -# target, but with ad hoc naming rules. +codecvt_members.cc: ${glibcpp_srcdir}/@CCODECVT_CC@ + @LN_S@ ${glibcpp_srcdir}/@CCODECVT_CC@ . || true + +collate_members.cc: ${glibcpp_srcdir}/@CCOLLATE_CC@ + @LN_S@ ${glibcpp_srcdir}/@CCOLLATE_CC@ . || true + +ctype_members.cc: ${glibcpp_srcdir}/@CCTYPE_CC@ + @LN_S@ ${glibcpp_srcdir}/@CCTYPE_CC@ . || true + +messages_members.cc: ${glibcpp_srcdir}/@CMESSAGES_CC@ + @LN_S@ ${glibcpp_srcdir}/@CMESSAGES_CC@ . || true + +monetary_members.cc: ${glibcpp_srcdir}/@CMONEY_CC@ + @LN_S@ ${glibcpp_srcdir}/@CMONEY_CC@ . || true + +numeric_members.cc: ${glibcpp_srcdir}/@CNUMERIC_CC@ + @LN_S@ ${glibcpp_srcdir}/@CNUMERIC_CC@ . || true + +time_members.cc: ${glibcpp_srcdir}/@CTIME_CC@ + @LN_S@ ${glibcpp_srcdir}/@CTIME_CC@ . || true + +# Source files linked in via configuration/make substitution for a +# particular target, but with ad hoc naming rules. target_sources_extra = \ basic_file.cc \ c++locale.cc +c++locale.cc: ${glibcpp_srcdir}/@CLOCALE_CC@ + @LN_S@ ${glibcpp_srcdir}/@CLOCALE_CC@ ./$@ || true + +basic_file.cc: ${glibcpp_srcdir}/@BASIC_FILE_CC@ + @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_CC@ ./$@ || true + # Sources present in the src directory. sources = \ bitset.cc \ @@ -114,20 +153,15 @@ VPATH = $(top_srcdir)/src:$(top_srcdir) libstdc___la_SOURCES = $(sources) libstdc___la_LIBADD = \ - ../libmath/libmath.la @libio_la@ \ - ../libsupc++/libsupc++convenience.la + $(top_builddir)/libmath/libmath.la @libio_la@ \ + $(top_builddir)/libsupc++/libsupc++convenience.la -if GLIBCPP_BUILD_VERSIONED_SHLIB -version_arg=-Wl,--version-script=linker.map -else -version_arg= -endif +libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD) libstdc___la_LDFLAGS = \ -version-info @libtool_VERSION@ ${version_arg} \ -lm @LIBUNWIND_FLAG@ -libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD) linker.map # Use special rules for the deprecated source files so that they find # deprecated include files. @@ -150,13 +184,13 @@ concept-inst.o: concept-inst.cc # modified in a per-library or per-sub-library way. Need to manually # set this option because CONFIG_CXXFLAGS has to be after # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden -# as the occasion call for it. (ie, --enable-debug) +# as the occasion call for it. AM_CXXFLAGS = \ -fno-implicit-templates \ $(LIBSUPCXX_CXXFLAGS) \ $(WARN_CXXFLAGS) \ $(OPTIMIZE_CXXFLAGS) \ - $(CONFIG_CXXFLAGS) + $(CONFIG_CXXFLAGS) # libstdc++ libtool notes @@ -188,3 +222,37 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \ # compilation driver. CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \ @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ + + +# Added bits to build debug library. +if GLIBCPP_BUILD_DEBUG +all-local: build_debug +install-data-local: install_debug +else +all-local: +install-data-local: +endif + +debugdir = debug + +# Build parallel set of debug objects here. +stamp-debug: + if test ! -d ${debugdir}; then \ + mkdir -p ${debugdir}; \ + (cd ${debugdir}; \ + sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \ + -e 's/srcdir = \.\./srcdir = ..\/../' \ + -e 's/glibcpp_basedir = \.\./glibcpp_basedir = ..\/../' \ + -e 's/all-local: build_debug/all-local:/' \ + -e 's/install-data-local: install_debug/install-data-local:/' \ + < ../Makefile > Makefile) ; \ + fi; \ + echo `date` > stamp-debug; + +build_debug: stamp-debug + (cd ${debugdir} && $(MAKE) CXXFLAGS='@DEBUG_FLAGS@' all) + +# Install debug library here. +install_debug: + (cd ${debugdir} && $(MAKE) \ + toolexeclibdir=@glibcpp_toolexeclibdir@/debug install) diff --git a/contrib/libstdc++/src/Makefile.in b/contrib/libstdc++/src/Makefile.in index 9e3ff9b..95c1cf8 100644 --- a/contrib/libstdc++/src/Makefile.in +++ b/contrib/libstdc++/src/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -66,15 +66,24 @@ AR = @AR@ AS = @AS@ ATOMICITY_INC_SRCDIR = @ATOMICITY_INC_SRCDIR@ AWK = @AWK@ +BASIC_FILE_CC = @BASIC_FILE_CC@ BASIC_FILE_H = @BASIC_FILE_H@ CC = @CC@ CCODECVT_C = @CCODECVT_C@ +CCODECVT_CC = @CCODECVT_CC@ CCODECVT_H = @CCODECVT_H@ +CCOLLATE_CC = @CCOLLATE_CC@ +CCTYPE_CC = @CCTYPE_CC@ +CLOCALE_CC = @CLOCALE_CC@ CLOCALE_H = @CLOCALE_H@ +CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ +CMESSAGES_CC = @CMESSAGES_CC@ CMESSAGES_H = @CMESSAGES_H@ +CMONEY_CC = @CMONEY_CC@ +CNUMERIC_CC = @CNUMERIC_CC@ CPP = @CPP@ -CPU_LIMITS_INC_SRCDIR = @CPU_LIMITS_INC_SRCDIR@ CSTDIO_H = @CSTDIO_H@ +CTIME_CC = @CTIME_CC@ CTIME_H = @CTIME_H@ CXXCPP = @CXXCPP@ C_INCLUDE_DIR = @C_INCLUDE_DIR@ @@ -101,6 +110,7 @@ RANLIB = @RANLIB@ SECTION_FLAGS = @SECTION_FLAGS@ SECTION_LDFLAGS = @SECTION_LDFLAGS@ STRIP = @STRIP@ +SYMVER_MAP = @SYMVER_MAP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_FLAGS = @WARN_FLAGS@ @@ -113,10 +123,8 @@ glibcpp_CXX = @glibcpp_CXX@ glibcpp_MOFILES = @glibcpp_MOFILES@ glibcpp_POFILES = @glibcpp_POFILES@ glibcpp_basedir = @glibcpp_basedir@ -glibcpp_builddir = @glibcpp_builddir@ glibcpp_localedir = @glibcpp_localedir@ glibcpp_prefixdir = @glibcpp_prefixdir@ -glibcpp_srcdir = @glibcpp_srcdir@ glibcpp_thread_h = @glibcpp_thread_h@ glibcpp_toolexecdir = @glibcpp_toolexecdir@ glibcpp_toolexeclibdir = @glibcpp_toolexeclibdir@ @@ -133,9 +141,13 @@ mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs # Cross compiler support. CXX = @glibcpp_CXX@ +glibcpp_srcdir = @glibcpp_srcdir@ +glibcpp_builddir = @glibcpp_builddir@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ toolexeclib_LTLIBRARIES = libstdc++.la +@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@version_arg = @GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@-Wl,--version-script=libstdc++-symbol.ver +@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@version_arg = # Compile flags that should be constant throughout the build, both for # SUBDIRS and for libstdc++-v3 in general. @@ -143,9 +155,8 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.in to see how they are set. See GLIBCPP_EXPORT_FLAGS -# NB: DEBUGFLAGS have to be at the end so that -O2 can be overridden. CONFIG_CXXFLAGS = \ - @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@ @DEBUG_FLAGS@ + @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@ # Warning flags to use. @@ -167,7 +178,8 @@ INCLUDES = \ $(TOPLEVEL_INCLUDES) -# Source files linked in via configuration magic for a particular target. +# Source files linked in via configuration/make substitution for a +# particular target. target_sources = \ codecvt_members.cc \ collate_members.cc \ @@ -178,8 +190,8 @@ target_sources = \ time_members.cc -# Source files linked in via configuration magic for a particular -# target, but with ad hoc naming rules. +# Source files linked in via configuration/make substitution for a +# particular target, but with ad hoc naming rules. target_sources_extra = \ basic_file.cc \ c++locale.cc @@ -224,19 +236,17 @@ VPATH = $(top_srcdir)/src:$(top_srcdir) libstdc___la_SOURCES = $(sources) libstdc___la_LIBADD = \ - ../libmath/libmath.la @libio_la@ \ - ../libsupc++/libsupc++convenience.la + $(top_builddir)/libmath/libmath.la @libio_la@ \ + $(top_builddir)/libsupc++/libsupc++convenience.la -@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@version_arg = @GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@-Wl,--version-script=linker.map -@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@version_arg = + +libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD) libstdc___la_LDFLAGS = \ -version-info @libtool_VERSION@ ${version_arg} \ -lm @LIBUNWIND_FLAG@ -libstdc___la_DEPENDENCIES = $(libstdc___la_LIBADD) linker.map - # Use special rules for the deprecated source files so that they find # deprecated include files. GLIBCPP_INCLUDE_DIR = @glibcpp_builddir@/include @@ -245,13 +255,13 @@ GLIBCPP_INCLUDE_DIR = @glibcpp_builddir@/include # modified in a per-library or per-sub-library way. Need to manually # set this option because CONFIG_CXXFLAGS has to be after # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden -# as the occasion call for it. (ie, --enable-debug) +# as the occasion call for it. AM_CXXFLAGS = \ -fno-implicit-templates \ $(LIBSUPCXX_CXXFLAGS) \ $(WARN_CXXFLAGS) \ $(OPTIMIZE_CXXFLAGS) \ - $(CONFIG_CXXFLAGS) + $(CONFIG_CXXFLAGS) # libstdc++ libtool notes @@ -285,6 +295,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \ CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \ @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@ + +debugdir = debug CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(toolexeclib_LTLIBRARIES) @@ -462,7 +474,7 @@ install-info: install-info-am install-exec-am: install-toolexeclibLTLIBRARIES install-exec: install-exec-am -install-data-am: +install-data-am: install-data-local install-data: install-data-am install-am: all-am @@ -470,7 +482,7 @@ install-am: all-am install: install-am uninstall-am: uninstall-toolexeclibLTLIBRARIES uninstall: uninstall-am -all-am: Makefile $(LTLIBRARIES) +all-am: Makefile $(LTLIBRARIES) all-local all-redirect: all-am install-strip: $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install @@ -523,11 +535,42 @@ maintainer-clean-compile mostlyclean-libtool distclean-libtool \ clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ dvi-am dvi check check-am installcheck-am installcheck install-info-am \ -install-info install-exec-am install-exec install-data-am install-data \ -install-am install uninstall-am uninstall all-redirect all-am all \ -installdirs mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +install-info install-exec-am install-exec install-data-local \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-local all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean + +@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver: ${glibcpp_srcdir}/@SYMVER_MAP@ +@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@ @LN_S@ ${glibcpp_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver || true +@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@libstdc++-symbol.ver: +codecvt_members.cc: ${glibcpp_srcdir}/@CCODECVT_CC@ + @LN_S@ ${glibcpp_srcdir}/@CCODECVT_CC@ . || true + +collate_members.cc: ${glibcpp_srcdir}/@CCOLLATE_CC@ + @LN_S@ ${glibcpp_srcdir}/@CCOLLATE_CC@ . || true + +ctype_members.cc: ${glibcpp_srcdir}/@CCTYPE_CC@ + @LN_S@ ${glibcpp_srcdir}/@CCTYPE_CC@ . || true + +messages_members.cc: ${glibcpp_srcdir}/@CMESSAGES_CC@ + @LN_S@ ${glibcpp_srcdir}/@CMESSAGES_CC@ . || true + +monetary_members.cc: ${glibcpp_srcdir}/@CMONEY_CC@ + @LN_S@ ${glibcpp_srcdir}/@CMONEY_CC@ . || true + +numeric_members.cc: ${glibcpp_srcdir}/@CNUMERIC_CC@ + @LN_S@ ${glibcpp_srcdir}/@CNUMERIC_CC@ . || true + +time_members.cc: ${glibcpp_srcdir}/@CTIME_CC@ + @LN_S@ ${glibcpp_srcdir}/@CTIME_CC@ . || true + +c++locale.cc: ${glibcpp_srcdir}/@CLOCALE_CC@ + @LN_S@ ${glibcpp_srcdir}/@CLOCALE_CC@ ./$@ || true + +basic_file.cc: ${glibcpp_srcdir}/@BASIC_FILE_CC@ + @LN_S@ ${glibcpp_srcdir}/@BASIC_FILE_CC@ ./$@ || true strstream.lo: strstream.cc $(LTCXXCOMPILE) -I$(GLIBCPP_INCLUDE_DIR)/backward -Wno-deprecated -c $< strstream.o: strstream.cc @@ -541,6 +584,34 @@ concept-inst.lo: concept-inst.cc concept-inst.o: concept-inst.cc $(CXXCOMPILE) -D_GLIBCPP_CONCEPT_CHECKS -fimplicit-templates -c $< +# Added bits to build debug library. +@GLIBCPP_BUILD_DEBUG_TRUE@all-local: build_debug +@GLIBCPP_BUILD_DEBUG_TRUE@install-data-local: install_debug +@GLIBCPP_BUILD_DEBUG_FALSE@all-local: +@GLIBCPP_BUILD_DEBUG_FALSE@install-data-local: + +# Build parallel set of debug objects here. +stamp-debug: + if test ! -d ${debugdir}; then \ + mkdir -p ${debugdir}; \ + (cd ${debugdir}; \ + sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \ + -e 's/srcdir = \.\./srcdir = ..\/../' \ + -e 's/glibcpp_basedir = \.\./glibcpp_basedir = ..\/../' \ + -e 's/all-local: build_debug/all-local:/' \ + -e 's/install-data-local: install_debug/install-data-local:/' \ + < ../Makefile > Makefile) ; \ + fi; \ + echo `date` > stamp-debug; + +build_debug: stamp-debug + (cd ${debugdir} && $(MAKE) CXXFLAGS='@DEBUG_FLAGS@' all) + +# Install debug library here. +install_debug: + (cd ${debugdir} && $(MAKE) \ + toolexeclibdir=@glibcpp_toolexeclibdir@/debug install) + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/contrib/libstdc++/src/bitset.cc b/contrib/libstdc++/src/bitset.cc index 7103854..4849a6a 100644 --- a/contrib/libstdc++/src/bitset.cc +++ b/contrib/libstdc++/src/bitset.cc @@ -38,7 +38,7 @@ * in supporting documentation. Silicon Graphics makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. - */ + */ #include <bitset> @@ -68,7 +68,7 @@ std::_Base_bitset<1>::_M_do_find_first(std::size_t __not_found) const } std::size_t -std::_Base_bitset<1>::_M_do_find_next(std::size_t __prev, +std::_Base_bitset<1>::_M_do_find_next(std::size_t __prev, std::size_t __not_found) const { // make bound inclusive @@ -103,8 +103,9 @@ std::_Base_bitset<1>::_M_do_find_next(std::size_t __prev, } // end _M_do_find_next -// Lookup tables for find and count operations. -unsigned char std::_S_bit_count[256] = +// Lookup tables for find and count operations. In _S_bit_count, the value +// *at* an index is the number of bits set *in* that index. +unsigned char std::_S_bit_count[256] = { 0, /* 0 */ 1, /* 1 */ 1, /* 2 */ 2, /* 3 */ 1, /* 4 */ 2, /* 5 */ 2, /* 6 */ 3, /* 7 */ 1, /* 8 */ 2, /* 9 */ @@ -160,7 +161,7 @@ unsigned char std::_S_bit_count[256] = 8 /* 255 */ }; // end _S_bit_count -unsigned char std::_S_first_one[256] = +unsigned char std::_S_first_one[256] = { 0, /* 0 */ 0, /* 1 */ 1, /* 2 */ 0, /* 3 */ 2, /* 4 */ 0, /* 5 */ 1, /* 6 */ 0, /* 7 */ 3, /* 8 */ 0, /* 9 */ diff --git a/contrib/libstdc++/src/codecvt.cc b/contrib/libstdc++/src/codecvt.cc index c536979..bc5508a 100644 --- a/contrib/libstdc++/src/codecvt.cc +++ b/contrib/libstdc++/src/codecvt.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2000, 2002 Free Software Foundation, Inc. +// Copyright (C) 2000, 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 @@ -82,7 +82,7 @@ namespace std const extern_type*, const extern_type*& __from_next, intern_type* __to, intern_type*, intern_type*& __to_next) const - { + { // _GLIBCPP_RESOLVE_LIB_DEFECTS // According to the resolution of DR19, "If returns noconv [...] // there are no changes to the values in [to, to_limit)." diff --git a/contrib/libstdc++/src/concept-inst.cc b/contrib/libstdc++/src/concept-inst.cc index d0129e5..e173549 100644 --- a/contrib/libstdc++/src/concept-inst.cc +++ b/contrib/libstdc++/src/concept-inst.cc @@ -1,6 +1,6 @@ // Concept checking instantiations -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation +// Copyright (C) 2001, 2002, 2003 Free Software Foundation // // 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 @@ -39,6 +39,7 @@ #ifdef _GLIBCPP_CONCEPT_CHECKS #include <memory> +#include <iterator> #include <ostream> #define _Instantiate(...) template void __function_requires< __VA_ARGS__ > () diff --git a/contrib/libstdc++/src/fstream-inst.cc b/contrib/libstdc++/src/fstream-inst.cc index 34f3819..8b866c0 100644 --- a/contrib/libstdc++/src/fstream-inst.cc +++ b/contrib/libstdc++/src/fstream-inst.cc @@ -59,4 +59,4 @@ namespace std #ifdef _GLIBCPP_USE_WCHAR_T template class basic_fstream<wchar_t>; #endif -} //std +} // namespace std diff --git a/contrib/libstdc++/src/fstream.cc b/contrib/libstdc++/src/fstream.cc index be71133..2a099d6 100644 --- a/contrib/libstdc++/src/fstream.cc +++ b/contrib/libstdc++/src/fstream.cc @@ -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 @@ -50,10 +50,14 @@ namespace std // normal buffers and jet outta here before expensive // fileops happen... if (_M_pback_init) + _M_pback_destroy(); + + if (_M_in_cur && _M_in_cur < _M_in_end) { - _M_pback_destroy(); - if (_M_in_cur < _M_in_end) - return traits_type::to_int_type(*_M_in_cur); + __ret = traits_type::to_int_type(*_M_in_cur); + if (__bump) + _M_in_cur_move(1); + return __ret; } // Sync internal and external buffers. @@ -115,10 +119,14 @@ namespace std // normal buffers and jet outta here before expensive // fileops happen... if (_M_pback_init) + _M_pback_destroy(); + + if (_M_in_cur && _M_in_cur < _M_in_end) { - _M_pback_destroy(); - if (_M_in_cur < _M_in_end) - return traits_type::to_int_type(*_M_in_cur); + __ret = traits_type::to_int_type(*_M_in_cur); + if (__bump) + _M_in_cur_move(1); + return __ret; } // Sync internal and external buffers. @@ -154,9 +162,10 @@ namespace std const char* __eend; char_type* __iend; - __res_type __r = __cvt.in(_M_state_cur, __buf, - __buf + __elen, __eend, _M_in_beg, - _M_in_beg + _M_buf_size, __iend); + codecvt_base::result __r; + __r = __cvt.in(_M_state_cur, __buf, + __buf + __elen, __eend, _M_in_beg, + _M_in_beg + _M_buf_size, __iend); if (__r == codecvt_base::ok) __ilen = __iend - _M_in_beg; else diff --git a/contrib/libstdc++/src/globals.cc b/contrib/libstdc++/src/globals.cc index c6ff69c..efbfdbe 100644 --- a/contrib/libstdc++/src/globals.cc +++ b/contrib/libstdc++/src/globals.cc @@ -47,7 +47,7 @@ namespace __gnu_cxx { using namespace std; - + typedef char fake_facet_name[sizeof(char*)] __attribute__ ((aligned(__alignof__(char*)))); fake_facet_name facet_name[6 + _GLIBCPP_NUM_CATEGORIES]; @@ -84,6 +84,11 @@ namespace __gnu_cxx fake_facet_vec facet_vec[_GLIBCPP_NUM_FACETS]; _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9facet_vecE, _ZSt9facet_vec, GLIBCPP_3.2) + // To support combined facets and caches in facet array + typedef char fake_facet_cache_vec[sizeof(locale::facet*)] + __attribute__ ((aligned(__alignof__(locale::facet*)))); + fake_facet_cache_vec facet_cache_vec[2 * _GLIBCPP_NUM_FACETS]; + typedef char fake_ctype_c[sizeof(std::ctype<char>)] __attribute__ ((aligned(__alignof__(std::ctype<char>)))); fake_ctype_c ctype_c; @@ -224,6 +229,17 @@ namespace __gnu_cxx _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx10messages_wE, _ZSt10messages_w, GLIBCPP_3.2) #endif + // Storage for static C locale caches + typedef char fake_locale_cache_np_c[sizeof(std::__locale_cache<numpunct<char> >)] + __attribute__ ((aligned(__alignof__(std::__locale_cache<numpunct<char> >)))); + fake_locale_cache_np_c locale_cache_np_c; + +#ifdef _GLIBCPP_USE_WCHAR_T + typedef char fake_locale_cache_np_w[sizeof(std::__locale_cache<numpunct<wchar_t> >)] + __attribute__ ((aligned(__alignof__(std::__locale_cache<numpunct<wchar_t> >)))); + fake_locale_cache_np_w locale_cache_np_w; +#endif + typedef char fake_filebuf[sizeof(stdio_filebuf<char>)] __attribute__ ((aligned(__alignof__(stdio_filebuf<char>)))); fake_filebuf buf_cout; @@ -243,10 +259,7 @@ namespace __gnu_cxx _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx8buf_wcinE, _ZSt8buf_wcin, GLIBCPP_3.2) _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx9buf_wcerrE, _ZSt9buf_wcerr, GLIBCPP_3.2) #endif -} // namespace __gnu_cxx -namespace std -{ // Globals for once-only runtime initialization of mutex objects. This // allows static initialization of these objects on systems that need a // function call to initialize a mutex. For example, see stl_threads.h. @@ -270,6 +283,17 @@ namespace std { __GTHREAD_MUTEX_INIT_FUNCTION (_GLIBCPP_mutex_address); } #endif + // GLIBCXX_ABI. + struct __compat + { + static const char _S_atoms[]; + }; + const char __compat::_S_atoms[] = "0123456789eEabcdfABCDF"; + _GLIBCPP_ASM_SYMVER(_ZN9__gnu_cxx8__compat8_S_atomsE, _ZNSt10__num_base8_S_atomsE, GLIBCPP_3.2) +} // namespace __gnu_cxx + +namespace std +{ // Standard stream objects. typedef char fake_istream[sizeof(istream)] __attribute__ ((aligned(__alignof__(istream)))); diff --git a/contrib/libstdc++/src/io-inst.cc b/contrib/libstdc++/src/io-inst.cc index f5773c9..31f53b4 100644 --- a/contrib/libstdc++/src/io-inst.cc +++ b/contrib/libstdc++/src/io-inst.cc @@ -57,4 +57,4 @@ namespace std #ifdef _GLIBCPP_USE_WCHAR_T template class basic_iostream<wchar_t>; #endif -} //std +} // namespace std diff --git a/contrib/libstdc++/src/ios.cc b/contrib/libstdc++/src/ios.cc index 9f4c718..00dbe12 100644 --- a/contrib/libstdc++/src/ios.cc +++ b/contrib/libstdc++/src/ios.cc @@ -159,11 +159,12 @@ namespace std void ios_base::Init::_S_ios_create(bool __sync) { - int __out_size = __sync ? 0 : static_cast<int>(BUFSIZ); + size_t __out_size = __sync ? 0 : static_cast<size_t>(BUFSIZ); #ifdef _GLIBCPP_HAVE_ISATTY - int __in_size = (__sync || isatty (0)) ? 1 : static_cast<int>(BUFSIZ); + size_t __in_size = + (__sync || isatty (0)) ? 1 : static_cast<size_t>(BUFSIZ); #else - int __in_size = 1; + size_t __in_size = 1; #endif // NB: The file globals.cc creates the four standard files @@ -172,10 +173,15 @@ namespace std new (&buf_cout) stdio_filebuf<char>(stdout, ios_base::out, __out_size); new (&buf_cin) stdio_filebuf<char>(stdin, ios_base::in, __in_size); new (&buf_cerr) stdio_filebuf<char>(stderr, ios_base::out, __out_size); + new (&cout) ostream(&buf_cout); new (&cin) istream(&buf_cin); new (&cerr) ostream(&buf_cerr); new (&clog) ostream(&buf_cerr); + cout.init(&buf_cout); + cin.init(&buf_cin); + cerr.init(&buf_cerr); + clog.init(&buf_cerr); cin.tie(&cout); cerr.flags(ios_base::unitbuf); @@ -187,6 +193,10 @@ namespace std new (&wcin) wistream(&buf_wcin); new (&wcerr) wostream(&buf_wcerr); new (&wclog) wostream(&buf_wcerr); + wcout.init(&buf_wcout); + wcin.init(&buf_wcin); + wcerr.init(&buf_wcerr); + wclog.init(&buf_wcerr); wcin.tie(&wcout); wcerr.flags(ios_base::unitbuf); #endif @@ -252,8 +262,6 @@ namespace std { words = new _Words[newsize]; } catch (...) { - delete [] _M_word; - _M_word = 0; _M_streambuf_state |= badbit; if (_M_streambuf_state & _M_exception) __throw_ios_failure("ios_base::_M_grow_words failure"); @@ -270,6 +278,8 @@ namespace std else { _M_streambuf_state |= badbit; + if (_M_streambuf_state & _M_exception) + __throw_ios_failure("ios_base::_M_grow_words failure"); return _M_word_zero; } } @@ -286,8 +296,6 @@ namespace std _M_precision = 6; _M_width = 0; _M_flags = skipws | dec; - _M_callbacks = 0; - _M_word_size = 0; _M_ios_locale = locale(); } @@ -301,7 +309,8 @@ namespace std return __old; } - ios_base::ios_base() : _M_callbacks(0), _M_word(0) + ios_base::ios_base() : _M_callbacks(0), _M_word_size(_S_local_word_size), + _M_word(_M_local_word) { // Do nothing: basic_ios::init() does it. // NB: _M_callbacks and _M_word must be zero for non-initialized @@ -313,7 +322,7 @@ namespace std { _M_call_callbacks(erase_event); _M_dispose_callbacks(); - if (_M_word && _M_word != _M_local_word) + if (_M_word != _M_local_word) { delete [] _M_word; _M_word = 0; diff --git a/contrib/libstdc++/src/istream-inst.cc b/contrib/libstdc++/src/istream-inst.cc index 6112509..f2c72fd 100644 --- a/contrib/libstdc++/src/istream-inst.cc +++ b/contrib/libstdc++/src/istream-inst.cc @@ -67,4 +67,4 @@ namespace std template wistream& operator>>(wistream&, _Setprecision); template wistream& operator>>(wistream&, _Setw); #endif -} //std +} // namespace std diff --git a/contrib/libstdc++/src/locale-inst.cc b/contrib/libstdc++/src/locale-inst.cc index 8f2c863..8da410f 100644 --- a/contrib/libstdc++/src/locale-inst.cc +++ b/contrib/libstdc++/src/locale-inst.cc @@ -1,6 +1,6 @@ // Locale support -*- C++ -*- -// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1999, 2000, 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 @@ -34,7 +34,6 @@ #include <cstdlib> #include <clocale> #include <cstring> -#include <cassert> #include <locale> namespace std @@ -46,6 +45,7 @@ namespace std template class moneypunct_byname<char, true>; template class money_get<char, istreambuf_iterator<char> >; template class money_put<char, ostreambuf_iterator<char> >; + template class __locale_cache<numpunct<char> >; #ifdef _GLIBCPP_USE_WCHAR_T template class moneypunct<wchar_t, false>; @@ -54,6 +54,7 @@ namespace std template class moneypunct_byname<wchar_t, true>; template class money_get<wchar_t, istreambuf_iterator<wchar_t> >; template class money_put<wchar_t, ostreambuf_iterator<wchar_t> >; + template class __locale_cache<numpunct<wchar_t> >; #endif // numpunct, numpunct_byname, num_get, and num_put @@ -64,26 +65,26 @@ namespace std template ostreambuf_iterator<char> num_put<char, ostreambuf_iterator<char> >:: - _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, long) const; template ostreambuf_iterator<char> num_put<char, ostreambuf_iterator<char> >:: - _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, unsigned long) const; #ifdef _GLIBCPP_USE_LONG_LONG template ostreambuf_iterator<char> num_put<char, ostreambuf_iterator<char> >:: - _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, long long) const; template ostreambuf_iterator<char> num_put<char, ostreambuf_iterator<char> >:: - _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, unsigned long long) const; #endif @@ -97,8 +98,8 @@ namespace std ostreambuf_iterator<char> num_put<char, ostreambuf_iterator<char> >:: _M_convert_float(ostreambuf_iterator<char>, ios_base&, char, char, - long double) const; - + long double) const; + #ifdef _GLIBCPP_USE_WCHAR_T template class numpunct<wchar_t>; template class numpunct_byname<wchar_t>; @@ -108,27 +109,27 @@ namespace std template ostreambuf_iterator<wchar_t> num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: - _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, - char, long) const; + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, + long) const; template ostreambuf_iterator<wchar_t> num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: - _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, - char, unsigned long) const; + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, + unsigned long) const; #ifdef _GLIBCPP_USE_LONG_LONG template ostreambuf_iterator<wchar_t> num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: - _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, - char, long long) const; + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, + long long) const; template ostreambuf_iterator<wchar_t> num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: - _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, - char, unsigned long long) const; + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, + unsigned long long) const; #endif template @@ -144,6 +145,64 @@ namespace std long double) const; #endif +#if 1 + // XXX GLIBCXX_ABI Deprecated, compatibility only. + template + ostreambuf_iterator<char> + num_put<char, ostreambuf_iterator<char> >:: + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + long) const; + + template + ostreambuf_iterator<char> + num_put<char, ostreambuf_iterator<char> >:: + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + unsigned long) const; + +#ifdef _GLIBCPP_USE_LONG_LONG + template + ostreambuf_iterator<char> + num_put<char, ostreambuf_iterator<char> >:: + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + long long) const; + + template + ostreambuf_iterator<char> + num_put<char, ostreambuf_iterator<char> >:: + _M_convert_int(ostreambuf_iterator<char>, ios_base&, char, char, char, + unsigned long long) const; +#endif + +#ifdef _GLIBCPP_USE_WCHAR_T + template + ostreambuf_iterator<wchar_t> + num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, + char, long) const; + + template + ostreambuf_iterator<wchar_t> + num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, + char, unsigned long) const; + +#ifdef _GLIBCPP_USE_LONG_LONG + template + ostreambuf_iterator<wchar_t> + num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, + char, long long) const; + + template + ostreambuf_iterator<wchar_t> + num_put<wchar_t, ostreambuf_iterator<wchar_t> >:: + _M_convert_int(ostreambuf_iterator<wchar_t>, ios_base&, wchar_t, char, + char, unsigned long long) const; +#endif +#endif + +#endif + // time_get and time_put template class __timepunct<char>; template class time_put<char, ostreambuf_iterator<char> >; @@ -406,6 +465,17 @@ namespace std has_facet<messages<wchar_t> >(const locale&); #endif + // __use_cache + template + const __locale_cache<numpunct<char> >& + __use_cache<numpunct<char> >(const locale& __loc); + +#ifdef _GLIBCPP_USE_WCHAR_T + template + const __locale_cache<numpunct<wchar_t> >& + __use_cache<numpunct<wchar_t> >(const locale& __loc); +#endif + // locale template char* @@ -451,6 +521,7 @@ namespace std __convert_from_v(char*, const int, const char*, unsigned long, const __c_locale&, int); +#ifdef _GLIBCPP_USE_LONG_LONG template int __convert_from_v(char*, const int, const char*, long long, @@ -460,4 +531,31 @@ namespace std int __convert_from_v(char*, const int, const char*, unsigned long long, const __c_locale&, int); +#endif + + template + int + __int_to_char(char*, const int, unsigned long, const char*, + ios_base::fmtflags, bool); + +#ifdef _GLIBCPP_USE_WCHAR_T + template + int + __int_to_char(wchar_t*, const int, unsigned long, const wchar_t*, + ios_base::fmtflags, bool); +#endif + +#ifdef _GLIBCPP_USE_LONG_LONG + template + int + __int_to_char(char*, const int, unsigned long long, const char*, + ios_base::fmtflags, bool); + +#ifdef _GLIBCPP_USE_WCHAR_T + template + int + __int_to_char(wchar_t*, const int, unsigned long long, const wchar_t*, + ios_base::fmtflags, bool); +#endif +#endif } // namespace std diff --git a/contrib/libstdc++/src/locale.cc b/contrib/libstdc++/src/locale.cc index f16ca0d..17ccdc2 100644 --- a/contrib/libstdc++/src/locale.cc +++ b/contrib/libstdc++/src/locale.cc @@ -28,7 +28,6 @@ #include <clocale> #include <cstring> -#include <cassert> #include <cctype> #include <cwctype> // For towupper, etc. #include <locale> @@ -208,9 +207,8 @@ namespace std // different from LANG. size_t __i = 0; if (strcmp(__res, "C") == 0) - for (__i = 0; - __i < _S_categories_size + _S_extra_categories_size; - ++__i) + for (; __i < _S_categories_size + + _S_extra_categories_size; ++__i) { __env = getenv(_S_categories[__i]); if (__env && strcmp(__env, "") != 0 @@ -219,9 +217,8 @@ namespace std break; } else - for (__i = 0; - __i < _S_categories_size + _S_extra_categories_size; - ++__i) + for (; __i < _S_categories_size + + _S_extra_categories_size; ++__i) { __env = getenv(_S_categories[__i]); if (__env && strcmp(__env, "") != 0 @@ -237,14 +234,14 @@ namespace std for (size_t __j = 0; __j < __i; ++__j) { __str += _S_categories[__j]; - __str += "="; + __str += '='; __str += __res; - __str += ";"; + __str += ';'; } __str += _S_categories[__i]; - __str += "="; + __str += '='; __str += __env; - __str += ";"; + __str += ';'; __i++; for (; __i < _S_categories_size + _S_extra_categories_size; ++__i) @@ -266,9 +263,9 @@ namespace std else { __str += _S_categories[__i]; - __str += "="; + __str += '='; __str += __env; - __str += ";"; + __str += ';'; } } __str.erase(__str.end() - 1); @@ -349,15 +346,15 @@ namespace std else { __ret += _S_categories[0]; - __ret += "="; + __ret += '='; __ret += _M_impl->_M_names[0]; for (size_t __i = 1; __i < _S_categories_size + _S_extra_categories_size; ++__i) { - __ret += ";"; + __ret += ';'; __ret += _S_categories[__i]; - __ret += "="; + __ret += '='; __ret += _M_impl->_M_names[__i]; } } @@ -504,13 +501,16 @@ namespace std const money_base::pattern money_base::_S_default_pattern = { {symbol, sign, none, value} }; - const char __num_base::_S_atoms[] = "0123456789eEabcdfABCDF"; + const char* __num_base::_S_atoms_in = "0123456789eEabcdfABCDF"; + const char* __num_base::_S_atoms_out ="-+xX0123456789abcdef0123456789ABCDEF"; - bool - __num_base::_S_format_float(const ios_base& __io, char* __fptr, char __mod, - streamsize __prec) + // _GLIBCPP_RESOLVE_LIB_DEFECTS + // According to the resolution of DR 231, about 22.2.2.2.2, p11, + // "str.precision() is specified in the conversion specification". + void + __num_base::_S_format_float(const ios_base& __io, char* __fptr, + char __mod, streamsize/* unused post DR 231 */) { - bool __incl_prec = false; ios_base::fmtflags __flags = __io.flags(); *__fptr++ = '%'; // [22.2.2.2.2] Table 60 @@ -518,13 +518,12 @@ namespace std *__fptr++ = '+'; if (__flags & ios_base::showpoint) *__fptr++ = '#'; - // As per [22.2.2.2.2.11] - if (__flags & ios_base::fixed || __prec > 0) - { - *__fptr++ = '.'; - *__fptr++ = '*'; - __incl_prec = true; - } + + // As per DR 231: _always_, not only when + // __flags & ios_base::fixed || __prec > 0 + *__fptr++ = '.'; + *__fptr++ = '*'; + if (__mod) *__fptr++ = __mod; ios_base::fmtflags __fltfield = __flags & ios_base::floatfield; @@ -536,7 +535,6 @@ namespace std else *__fptr++ = (__flags & ios_base::uppercase) ? 'G' : 'g'; *__fptr = '\0'; - return __incl_prec; } void diff --git a/contrib/libstdc++/src/localename.cc b/contrib/libstdc++/src/localename.cc index e9debef..ec35fdb 100644 --- a/contrib/libstdc++/src/localename.cc +++ b/contrib/libstdc++/src/localename.cc @@ -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 @@ -35,7 +35,8 @@ namespace __gnu_cxx using namespace std; // Defined in globals.cc. - extern locale::facet** facet_vec; + extern locale::facet* facet_vec[_GLIBCPP_NUM_FACETS]; + extern locale::facet* facet_cache_vec[2 * _GLIBCPP_NUM_FACETS]; extern char* facet_name[6 + _GLIBCPP_NUM_CATEGORIES]; extern std::ctype<char> ctype_c; @@ -68,6 +69,11 @@ namespace __gnu_cxx extern time_put<wchar_t> time_put_w; extern std::messages<wchar_t> messages_w; #endif + + extern std::__locale_cache<numpunct<char> > locale_cache_np_c; +#ifdef _GLIBCPP_USE_WCHAR_T + extern std::__locale_cache<numpunct<wchar_t> > locale_cache_np_w; +#endif } // namespace __gnu_cxx namespace std @@ -77,9 +83,13 @@ namespace std locale::_Impl:: ~_Impl() throw() { + // Clean up facets, then caches. No cache refcounts for now. for (size_t __i = 0; __i < _M_facets_size; ++__i) if (_M_facets[__i]) _M_facets[__i]->_M_remove_reference(); + for (size_t __i = _M_facets_size; __i < 2*_M_facets_size; ++__i) + if (_M_facets[__i]) + delete (__locale_cache_base*)_M_facets[__i]; delete [] _M_facets; for (size_t __i = 0; @@ -94,8 +104,9 @@ namespace std { try { - _M_facets = new facet*[_M_facets_size]; - for (size_t __i = 0; __i < _M_facets_size; ++__i) + // Space for facets and matching caches + _M_facets = new facet*[2*_M_facets_size]; + for (size_t __i = 0; __i < 2*_M_facets_size; ++__i) _M_facets[__i] = 0; } catch(...) @@ -129,9 +140,10 @@ namespace std locale::facet::_S_create_c_locale(__cloc, __s); try - { - _M_facets = new facet*[_M_facets_size]; - for (size_t __i = 0; __i < _M_facets_size; ++__i) + { + // Space for facets and matching caches + _M_facets = new facet*[2*_M_facets_size]; + for (size_t __i = 0; __i < 2*_M_facets_size; ++__i) _M_facets[__i] = 0; } catch(...) @@ -167,7 +179,7 @@ namespace std _M_names[__i] = __new; } } - + // Construct all standard facets and add them to _M_facets. _M_init_facet(new std::ctype<char>(__cloc, 0, false)); _M_init_facet(new codecvt<char, char, mbstate_t>); @@ -214,8 +226,9 @@ namespace std 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) + // Space for facets and matching caches + _M_facets = new(&facet_cache_vec) facet*[2*_M_facets_size]; + for (size_t __i = 0; __i < 2*_M_facets_size; ++__i) _M_facets[__i] = 0; // Name all the categories. @@ -263,6 +276,25 @@ namespace std _M_init_facet(new (&time_put_w) time_put<wchar_t>(1)); _M_init_facet(new (&messages_w) std::messages<wchar_t>(1)); #endif + + // Initialize the static locale caches for C locale. + + locale ltmp(this); // Doesn't bump refcount + _M_add_reference(); // Bump so destructor doesn't trash us + + // These need to be built in static allocated memory. There must + // be a better way to do this! + __locale_cache<numpunct<char> >* __lc = + new (&locale_cache_np_c) __locale_cache<numpunct<char> >(ltmp, true); + _M_facets[numpunct<char>::id._M_id() + _M_facets_size] = + reinterpret_cast<locale::facet*>(__lc); + +#ifdef _GLIBCPP_USE_WCHAR_T + __locale_cache<numpunct<wchar_t> >* __wlc = + new (&locale_cache_np_w) __locale_cache<numpunct<wchar_t> >(ltmp, true); + _M_facets[numpunct<wchar_t>::id._M_id() + _M_facets_size] = + reinterpret_cast<locale::facet*>(__wlc); +#endif } void @@ -322,11 +354,16 @@ namespace std facet** __old = _M_facets; facet** __new; const size_t __new_size = __index + 4; - __new = new facet*[__new_size]; + __new = new facet*[2 * __new_size]; for (size_t __i = 0; __i < _M_facets_size; ++__i) __new[__i] = _M_facets[__i]; for (size_t __i2 = _M_facets_size; __i2 < __new_size; ++__i2) __new[__i2] = 0; + // Also copy caches and clear extra space + for (size_t __i = 0; __i < _M_facets_size; ++__i) + __new[__i + __new_size] = _M_facets[__i + _M_facets_size]; + for (size_t __i2 = _M_facets_size; __i2 < __new_size; ++__i2) + __new[__i2 + __new_size] = 0; _M_facets_size = __new_size; _M_facets = __new; diff --git a/contrib/libstdc++/src/misc-inst.cc b/contrib/libstdc++/src/misc-inst.cc index f4f2ab1..61cb1b3 100644 --- a/contrib/libstdc++/src/misc-inst.cc +++ b/contrib/libstdc++/src/misc-inst.cc @@ -37,6 +37,7 @@ #include <ostream> #include <algorithm> #include <vector> +#include <bits/atomicity.h> namespace std { @@ -67,6 +68,9 @@ namespace std basic_istream<wchar_t>& getline(basic_istream<wchar_t>&, wstring&); #endif +#ifdef _GLIBCPP_INST_ATOMICITY_LOCK + template volatile int __Atomicity_lock<0>::_S_atomicity_lock; +#endif #if 1 // XXX @@ -82,4 +86,22 @@ namespace std (vector<string>::const_iterator, vector<string>::const_iterator, string*, __false_type); #endif -} //std +} // namespace std + +#ifdef _GLIBCPP_NEED_GENERIC_MUTEX +namespace __gnu_cxx +{ +#ifdef __GTHREAD_MUTEX_INIT + __gthread_mutex_t _Atomic_add_mutex = __GTHREAD_MUTEX_INIT; +#else + // generic atomicity.h without static initialization + __gthread_mutex_t _Atomic_add_mutex; + __gthread_once_t _Atomic_add_mutex_once = __GTHREAD_ONCE_INIT; + void __gthread_atomic_add_mutex_once() + { + __GTHREAD_MUTEX_INIT_FUNCTION (&_Atomic_add_mutex); + } +#endif +} // namespace __gnu_cxx +#endif // _GLIBCPP_NEED_GLOBAL_MUTEX + diff --git a/contrib/libstdc++/src/ostream-inst.cc b/contrib/libstdc++/src/ostream-inst.cc index e43b0c7..b834640 100644 --- a/contrib/libstdc++/src/ostream-inst.cc +++ b/contrib/libstdc++/src/ostream-inst.cc @@ -73,4 +73,4 @@ namespace std template wostream& operator<<(wostream&, _Setprecision); template wostream& operator<<(wostream&, _Setw); #endif -} //std +} // namespace std diff --git a/contrib/libstdc++/src/sstream-inst.cc b/contrib/libstdc++/src/sstream-inst.cc index e341f5f..6c0272b 100644 --- a/contrib/libstdc++/src/sstream-inst.cc +++ b/contrib/libstdc++/src/sstream-inst.cc @@ -59,4 +59,4 @@ namespace std #ifdef _GLIBCPP_USE_WCHAR_T template class basic_stringstream<wchar_t>; #endif -} //std +} // namespace std diff --git a/contrib/libstdc++/src/strstream.cc b/contrib/libstdc++/src/strstream.cc index 4d58565..00f5b73 100644 --- a/contrib/libstdc++/src/strstream.cc +++ b/contrib/libstdc++/src/strstream.cc @@ -1,6 +1,6 @@ // strstream definitions -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation +// Copyright (C) 2001, 2002, 2003 Free Software Foundation // // 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 @@ -148,7 +148,7 @@ namespace std if (pptr() == epptr() && _M_dynamic && !_M_frozen && !_M_constant) { ptrdiff_t old_size = epptr() - pbase(); - ptrdiff_t new_size = max(2 * old_size, ptrdiff_t(1)); + ptrdiff_t new_size = max(ptrdiff_t(2 * old_size), ptrdiff_t(1)); char* buf = _M_alloc(new_size); if (buf) diff --git a/contrib/libstdc++/src/valarray-inst.cc b/contrib/libstdc++/src/valarray-inst.cc index b56a911..a45a616 100644 --- a/contrib/libstdc++/src/valarray-inst.cc +++ b/contrib/libstdc++/src/valarray-inst.cc @@ -35,7 +35,7 @@ namespace std { - // Some explicit instanciations. + // Some explicit instantiations. template void __valarray_fill(size_t* __restrict__, size_t, const size_t&); @@ -112,7 +112,5 @@ namespace std const valarray<size_t>& __s) : _M_count(1), _M_start(__o), _M_size(__l), _M_stride(__s), _M_index(__l.size() == 0 ? 0 : __valarray_product(__l)) - { __gslice_to_index(__o, __l, __s, _M_index); } - + { __gslice_to_index(__o, __l, __s, _M_index); } } // namespace std - |