From d73a7e667d702db82b10861fb668594c35282536 Mon Sep 17 00:00:00 2001 From: "Sergey Semyonov (Serge)" Date: Sat, 12 Mar 2016 09:38:51 +0000 Subject: [PATCH] libstdc++-v3-gcc-4.8.5 git-svn-id: svn://kolibrios.org@6325 a494cfbc-eb01-0410-851d-a64ba20cac60 --- contrib/sdk/sources/libstdc++-v3/ChangeLog | 381 ++++ contrib/sdk/sources/libstdc++-v3/Makefile | 1 + contrib/sdk/sources/libstdc++-v3/config.h | 2 +- .../sdk/sources/libstdc++-v3/include/Makefile | 1721 ----------------- .../libstdc++-v3/include/bits/atomic_base.h | 4 +- .../include/bits/shared_ptr_base.h | 6 +- .../libstdc++-v3/include/bits/stl_algo.h | 17 +- .../libstdc++-v3/include/bits/stl_tree.h | 4 +- .../libstdc++-v3/include/bits/stl_vector.h | 3 +- .../sdk/sources/libstdc++-v3/include/cmath | 74 +- .../sdk/sources/libstdc++-v3/include/cstdio | 1 + .../sdk/sources/libstdc++-v3/include/cxxabi.h | 700 +++++++ .../libstdc++-v3/include/debug/functions.h | 122 +- .../libstdc++-v3/include/debug/macros.h | 20 +- .../include/debug/safe_unordered_base.h | 12 +- .../sources/libstdc++-v3/include/exception | 156 ++ .../sdk/sources/libstdc++-v3/include/ext/rope | 7 +- .../sources/libstdc++-v3/include/functional | 13 +- .../sdk/sources/libstdc++-v3/include/future | 62 +- .../sources/libstdc++-v3/include/gstdint.h | 2 +- .../libstdc++-v3/include/initializer_list | 107 + .../sdk/sources/libstdc++-v3/include/iostream | 6 +- .../sdk/sources/libstdc++-v3/include/istream | 5 +- contrib/sdk/sources/libstdc++-v3/include/mem | 0 .../include/mingw32/bits/c++config.h | 26 +- .../include/mingw32/bits/c++locale_internal.h | 25 - .../include/mingw32/bits/compatibility.h | 213 -- .../include/mingw32/bits/opt_random.h | 183 +- .../include/mingw32/bits/os_defines.h | 3 + .../include/mingw32/ext/opt_random.h | 106 +- contrib/sdk/sources/libstdc++-v3/include/new | 122 ++ .../sdk/sources/libstdc++-v3/include/ostream | 5 +- .../libstdc++-v3/include/scoped_allocator | 10 + .../libstdc++-v3/include/stamp-backward | 1 - .../sources/libstdc++-v3/include/stamp-bits | 1 - .../libstdc++-v3/include/stamp-bits-sup | 1 - .../sources/libstdc++-v3/include/stamp-c_base | 1 - .../include/stamp-c_compatibility | 1 - .../sources/libstdc++-v3/include/stamp-debug | 1 - .../libstdc++-v3/include/stamp-decimal | 1 - .../sources/libstdc++-v3/include/stamp-ext | 1 - .../include/stamp-extern-template | 1 - .../sources/libstdc++-v3/include/stamp-host | 1 - .../libstdc++-v3/include/stamp-mingw32 | 1 - .../include/stamp-namespace-version | 1 - .../libstdc++-v3/include/stamp-parallel | 1 - .../sdk/sources/libstdc++-v3/include/stamp-pb | 1 - .../libstdc++-v3/include/stamp-profile | 1 - .../libstdc++-v3/include/stamp-profile-impl | 1 - .../sources/libstdc++-v3/include/stamp-std | 1 - .../sources/libstdc++-v3/include/stamp-tr1 | 1 - .../sources/libstdc++-v3/include/stamp-tr2 | 1 - .../libstdc++-v3/include/stamp-visibility | 1 - .../sources/libstdc++-v3/include/tr1/cmath | 74 +- .../libstdc++-v3/include/tr1/functional | 4 +- .../sources/libstdc++-v3/include/tr2/bool_set | 2 +- .../sdk/sources/libstdc++-v3/include/tuple | 32 +- .../sdk/sources/libstdc++-v3/include/typeinfo | 222 +++ .../libstdc++-v3/libsupc++/atexit_thread.cc | 6 +- .../sources/libstdc++-v3/libsupc++/config.h | 1362 ++++--------- .../sources/libstdc++-v3/libsupc++/dyncast.cc | 12 + .../libstdc++-v3/libsupc++/eh_alloc.cc | 12 - .../sources/libstdc++-v3/libsupc++/eh_call.cc | 6 +- .../libstdc++-v3/libsupc++/eh_personality.cc | 6 + .../libstdc++-v3/libsupc++/eh_throw.cc | 3 + .../libstdc++-v3/libsupc++/libiberty.h | 4 +- .../sources/libstdc++-v3/src/c++11/thread.cc | 2 +- .../libstdc++-v3/src/c++98/ios_init.cc | 2 +- 68 files changed, 2581 insertions(+), 3307 deletions(-) delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/Makefile create mode 100644 contrib/sdk/sources/libstdc++-v3/include/cxxabi.h create mode 100644 contrib/sdk/sources/libstdc++-v3/include/exception create mode 100644 contrib/sdk/sources/libstdc++-v3/include/initializer_list delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/mem delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++locale_internal.h delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/compatibility.h create mode 100644 contrib/sdk/sources/libstdc++-v3/include/new delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-backward delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-bits delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-bits-sup delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-c_base delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-c_compatibility delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-debug delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-decimal delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-ext delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-extern-template delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-host delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-mingw32 delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-namespace-version delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-parallel delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-pb delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-profile delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-profile-impl delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-std delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-tr1 delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-tr2 delete mode 100644 contrib/sdk/sources/libstdc++-v3/include/stamp-visibility create mode 100644 contrib/sdk/sources/libstdc++-v3/include/typeinfo diff --git a/contrib/sdk/sources/libstdc++-v3/ChangeLog b/contrib/sdk/sources/libstdc++-v3/ChangeLog index ee062c766c..04e1123855 100644 --- a/contrib/sdk/sources/libstdc++-v3/ChangeLog +++ b/contrib/sdk/sources/libstdc++-v3/ChangeLog @@ -1,3 +1,384 @@ +2015-06-23 Release Manager + + * GCC 4.8.5 released. + +2015-06-17 Matthias Klose + + Backported from mainline + 2015-06-01 Jonathan Wakely + + * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE + environment variable. + +2015-06-04 Renlin Li + + Backported from mainline + 2015-06-02 Renlin Li + + * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. + +2015-03-25 Jonathan Wakely + + Backport from mainline + 2015-03-02 Jonathan Wakely + + PR libstdc++/65279 + * include/std/scoped_allocator (__inner_type_impl, + scoped_allocator_adaptor): Add defaulted copy assignment and move + assignment operators. + * testsuite/20_util/scoped_allocator/65279.cc: New. + +2015-03-25 Paolo Carlini + + PR libstdc++/65543 + * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert + thinko in r150387. + * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&): + Likewise. + * testsuite/27_io/rvalue_streams-2.cc: New. + +2015-01-09 Jonathan Wakely + + PR libstdc++/60966 + * include/std/future (packaged_task::operator()): Increment the + reference count on the shared state until the function returns. + +2014-12-19 Release Manager + + * GCC 4.8.4 released. + +2014-12-06 Jonathan Wakely + + PR libstdc++/63840 + * include/std/functional (function::function(const function&)): Set + _M_manager after operations that might throw. + * include/tr1/functional (function::function(const function&), + function::function(_Functor, _Useless)): Likewise. + * testsuite/20_util/function/63840.cc: New. + * testsuite/tr1/3_function_objects/function/63840.cc: New. + + PR libstdc++/61947 + * include/std/tuple (_Head_base): Use allocator_arg_t parameters to + disambiguate unary constructors. + (_Tuple_impl): Pass allocator_arg_t arguments. + * testsuite/20_util/tuple/61947.cc: New. + * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line. + + PR libstdc++/59603 + * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping. + * testsuite/25_algorithms/random_shuffle/59603.cc: New. + +2014-11-27 Thomas Preud'homme + + Backport from mainline + 2014-09-10 Tony Wang + + PR target/56846 + * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): + Return with CONTINUE_UNWINDING when the state pattern + contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND + +2014-11-05 David Edelsohn + + Backported from mainline. + 2014-10-30 David Edelsohn + + * configure.host (aix4.3+, 5+): Do not use -G in link command. + +2014-10-15 Jason Merrill + + * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction + dynamic_cast more gracefully. + +2014-10-14 Kai Tietz + + PR libstdc++/57440 + * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC): + Define to avoid leak. + * config/os/mingw32-w64/os_defines.h: Likewise. + +2014-10-03 Jonathan Wakely + + PR libstdc++/63449 + * doc/xml/manual/containers.xml: Remove outdated section. Update + std::list notes. + * doc/html/*: Regenerate. + +2014-10-01 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Corrections. + * doc/html/manual/status.html: Regenerate. + +2014-08-28 Samuel Bronson + + Backport r212453 from trunk + 2014-07-11 Samuel Bronson + Matthias Klose + + PR libstdc++/58962 + * python/libstdcxx/v6/printers.py: Port to Python 2+3 + (imap): New compat function. + (izip): Likewise. + (Iterator): New mixin to allow writing iterators in Python 3 style + regardless of which version we're running on. + [Python3] (long) New compat alias for "int". + * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax) + + Backport r210625 from trunk + 2014-05-19 Jonathan Wakely + + * python/libstdcxx/v6/printers.py: Use Python3 raise syntax. + +2014-08-26 John David Anglin + + * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. + +2014-08-26 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Correct status table. + * doc/html/manual/*: Regenerate. + +2014-08-04 Jonathan Wakely + + Backported from mainline + 2014-07-29 Jonathan Wakely + + PR libstdc++/61946 + * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool, + const allocator_type&)): Pass non-const allocator to + _S_new_RopeFunction. + * testsuite/ext/rope/61946.cc: New. + +2014-08-04 Zifei Tong + + * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add + _GLIBCXX_ prefix to macro. + +2014-06-03 Jonathan Wakely + + Backport from mainline + 2014-04-15 Jonathan Wakely + + PR libstdc++/60734 + * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast. + + Backport from mainline + 2014-05-16 Jonathan Wakely + + PR libstdc++/60966 + * include/std/future (__future_base::_State_baseV2::_M_set_result): + Signal condition variable after call_once returns. + (__future_base::_State_baseV2::_M_do_set): Do not signal here. + (promise::set_value, promise::set_exception): Increment the reference + count on the shared state until the function returns. + * testsuite/30_threads/promise/60966.cc: New. + +2014-05-29 Jonathan Wakely + + * include/tr2/bool_set: Use UTF-8 for accented characters. + * scripts/run_doxygen: Handle Doxygen 1.8.x change. + +2014-05-22 Release Manager + + * GCC 4.8.3 released. + +2014-05-08 Joshua Gay + + PR libstdc++/61117 + * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open + source" with "free software". + * doc/html/faq.html: Likewise. + +2014-05-08 Jonathan Wakely + + * include/std/iostream: Fix URL in comment. + * src/c++98/ios_init.cc: Fix path in comment. + +2014-05-06 Jonathan Wakely + + Backport from mainline + 2014-04-15 Jonathan Wakely + + PR libstdc++/60594 + * include/std/functional (function::_Callable): Exclude own type + from the callable checks. + * testsuite/20_util/function/60594.cc: New. + +2014-04-27 Jonathan Wakely + + PR libstdc++/60497 + * include/std/tuple (get): Qualify calls to prevent ADL. + * testsuite/20_util/tuple/60497.cc: New. + +2012-04-05 Dominique d'Humieres + Jack Howarth + + PR target/54407 + * 30_threads/condition_variable/54185.cc: Skip for darwin < 11. + +2014-04-04 Bill Schmidt + + Backport from mainline + 2013-11-15 Ulrich Weigand + + * configure: Regenerate. + +2014-04-04 Bill Schmidt + + Backport from mainline r204808: + + 2013-11-14 Ulrich Weigand + + * scripts/extract_symvers.in: Ignore fields + in readelf --symbols output. + +2014-03-26 Jonathan Wakely + + PR libstdc++/59548 + * include/debug/safe_unordered_base.h (_Safe_unordered_container_base): + Define copy and move constructors that handle iterators correctly. + * testsuite/23_containers/unordered_map/59548.cc: New. + +2014-03-25 Jonathan Wakely + + PR libstdc++/60658 + * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()): + Use sizeof pointer type not the element type. + * testsuite/29_atomics/atomic/60658.cc: New. + +2014-03-18 Jonathan Wakely + + PR libstdc++/60564 + * include/std/future (__future_base::_Task_state<>): Change + constructors to template functions using perfect forwarding. + (__create_task_state): Use decayed type as stored task. + (packaged_task::packaged_task(_Fn&&)): Forward instead of moving. + * testsuite/30_threads/packaged_task/60564.cc: New. + +2014-03-12 Roland McGrath + Mark Seaborn + + PR libstdc++/59392 + * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with + the address of a null pointer, not with a null pointer to pointer. + Copy comment for this case from eh_personality.cc:__cxa_call_unexpected. + * testsuite/18_support/bad_exception/59392.cc: New file. + +2014-03-11 Jonathan Wakely + + Backport from mainline. + 2014-01-09 Jonathan Wakely + + PR libstdc++/59680 + * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep. + +2014-03-11 Jonathan Wakely + + Backport from mainline. + 2014-01-27 Jonathan Wakely + + PR libstdc++/59215 + * include/bits/shared_ptr_base.h + (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic + load. + +2014-03-11 Jonathan Wakely + + Backport from mainline. + + 2014-01-09 Jonathan Wakely + + PR libstdc++/59738 + * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore + support for non-Movable types. + + 2014-01-08 François Dumont + + * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass + *this allocator instance when building temporary vector instance + so that *this allocator does not get moved. + * testsuite/23_containers/vector/allocator/move.cc (test01): Add + check on a vector iterator. + * testsuite/23_containers/vector/allocator/move_assign.cc + (test02): Likewise. + (test03): New, test with a non-propagating allocator. + + 2013-11-15 Jonathan Wakely + + * testsuite/23_containers/vector/allocator/move.cc: New + +2014-01-27 Jason Merrill + + Core DR 475 + PR c++/41174 + PR c++/59224 + * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions. + * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception) + (__cxa_allocate_exception): Don't set it here. + +2013-12-15 H.J. Lu + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. + +2013-11-22 Jonathan Wakely + + * acinclude.m4 (libtool_VERSION): Bump. + * configure: Regenerate. + * doc/xml/manual/abi.xml: Update version information. + +2013-11-05 Jonathan Wakely + + * doc/xml/manual/status_cxx2011.xml: Document aligned_union as + missing. + + * doc/xml/manual/spine.xml: Update copyright years. + * doc/html/*: Regenerate. + +2013-11-01 Paolo Carlini + + PR libstdc++/58952 + * include/c_global/cstdio: Undef getchar. + +2013-10-31 Jonathan Wakely + + * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use + default_delete. + +2013-10-30 Chris Studholme + + PR libstdc++/58912 + * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Remove + unnecessary initialization of storage buffer. + +2013-10-29 Jonathan Wakely + + PR libstdc++/58839 + * include/bits/shared_ptr_base.h + (__shared_ptr::__shared_ptr(unique_ptr&&)): Do not dereference + pointer. + * testsuite/20_util/shared_ptr/cons/58839.cc: New. + +2013-10-20 Chris Jefferson + Paolo Carlini + + PR libstdc++/58800 + * include/bits/stl_algo.h (__unguarded_partition_pivot): Change + __last - 2 to __last - 1. + * testsuite/25_algorithms/nth_element/58800.cc: New + +2013-10-16 François Dumont + + PR libstdc++/58191 + * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add + __gnu_debug::__base calls on iterators passed to internal debug + check. + (__glibcxx_check_partitioned_lower_pred): Likewise. + (__glibcxx_check_partitioned_upper): Likewise. + (__glibcxx_check_partitioned_upper_pred): Likewise. + * include/debug/functions.h (__check_partitioned_lower): + Remove code to detect safe iterators. + (__check_partitioned_upper): Likewise. + 2013-10-16 Release Manager * GCC 4.8.2 released. diff --git a/contrib/sdk/sources/libstdc++-v3/Makefile b/contrib/sdk/sources/libstdc++-v3/Makefile index 47d831ec43..b039b3fac2 100644 --- a/contrib/sdk/sources/libstdc++-v3/Makefile +++ b/contrib/sdk/sources/libstdc++-v3/Makefile @@ -7,6 +7,7 @@ CPP= kos32-g++ STRIP = kos32-strip CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fno-ident -fomit-frame-pointer -ffunction-sections -fdata-sections +CFLAGS+= -fno-rtti -fno-exceptions ARFLAGS= crs diff --git a/contrib/sdk/sources/libstdc++-v3/config.h b/contrib/sdk/sources/libstdc++-v3/config.h index 4e079956b7..824df3f583 100644 --- a/contrib/sdk/sources/libstdc++-v3/config.h +++ b/contrib/sdk/sources/libstdc++-v3/config.h @@ -444,7 +444,7 @@ /* #undef HAVE_TGMATH_H */ /* Define to 1 if the target supports thread-local storage. */ -/* #undef HAVE_TLS */ +#define HAVE_TLS 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 diff --git a/contrib/sdk/sources/libstdc++-v3/include/Makefile b/contrib/sdk/sources/libstdc++-v3/include/Makefile deleted file mode 100644 index 5c1e9d6b76..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/Makefile +++ /dev/null @@ -1,1721 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# include/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - -VPATH = ../../../../gcc-4.8.2/libstdc++-v3/include -pkgdatadir = $(datadir)/libstdc++ -pkgincludedir = $(includedir)/libstdc++ -pkglibdir = $(libdir)/libstdc++ -pkglibexecdir = $(libexecdir)/libstdc++ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = i686-pc-mingw32 -host_triplet = i386-pc-mingw32 -target_triplet = i386-pc-mingw32 -DIST_COMMON = $(top_srcdir)/fragment.am $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.am -subdir = include -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ - $(top_srcdir)/../config/enable.m4 \ - $(top_srcdir)/../config/futex.m4 \ - $(top_srcdir)/../config/iconv.m4 \ - $(top_srcdir)/../config/lead-dot.m4 \ - $(top_srcdir)/../config/lib-ld.m4 \ - $(top_srcdir)/../config/lib-link.m4 \ - $(top_srcdir)/../config/lib-prefix.m4 \ - $(top_srcdir)/../config/lthostflags.m4 \ - $(top_srcdir)/../config/multi.m4 \ - $(top_srcdir)/../config/no-executables.m4 \ - $(top_srcdir)/../config/override.m4 \ - $(top_srcdir)/../config/stdint.m4 \ - $(top_srcdir)/../config/unwind_ipinfo.m4 \ - $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ - $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ - $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ - $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/../config/gc++filt.m4 \ - $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -depcomp = -am__depfiles_maybe = -SOURCES = -ABI_TWEAKS_SRCDIR = config/cpu/generic -ACLOCAL = ${SHELL} /src/gcc-4.8.2/missing --run aclocal-1.11 -ALLOCATOR_H = config/allocator/new_allocator_base.h -ALLOCATOR_NAME = __gnu_cxx::new_allocator -AMTAR = ${SHELL} /src/gcc-4.8.2/missing --run tar -AR = /home/autobuild/tools/win32/mingw32/bin/ar -AS = /src/build-4.8.2/./gcc/as -ATOMICITY_SRCDIR = config/cpu/generic/atomicity_builtins -ATOMIC_FLAGS = -ATOMIC_WORD_SRCDIR = config/cpu/generic -AUTOCONF = ${SHELL} /src/gcc-4.8.2/missing --run autoconf -AUTOHEADER = ${SHELL} /src/gcc-4.8.2/missing --run autoheader -AUTOMAKE = ${SHELL} /src/gcc-4.8.2/missing --run automake-1.11 -AWK = gawk -BASIC_FILE_CC = config/io/basic_file_stdio.cc -BASIC_FILE_H = config/io/basic_file_stdio.h -CC = /src/build-4.8.2/./gcc/xgcc -B/src/build-4.8.2/./gcc/ -L/src/build-4.8.2/mingw32/winsup/mingw -L/src/build-4.8.2/mingw32/winsup/w32api/lib -isystem /src/gcc-4.8.2/winsup/mingw/include -isystem /src/gcc-4.8.2/winsup/w32api/include -B/home/autobuild/tools/win32/mingw32/bin/ -B/home/autobuild/tools/win32/mingw32/lib/ -isystem /home/autobuild/tools/win32/mingw32/include -isystem /home/autobuild/tools/win32/mingw32/sys-include -CCODECVT_CC = config/locale/generic/codecvt_members.cc -CCOLLATE_CC = config/locale/generic/collate_members.cc -CCTYPE_CC = config/locale/generic/ctype_members.cc -CFLAGS = -g -O2 -D_USE_32BIT_TIME_T -CLOCALE_CC = config/locale/generic/c_locale.cc -CLOCALE_H = config/locale/generic/c_locale.h -CLOCALE_INTERNAL_H = config/locale/generic/c++locale_internal.h -CMESSAGES_CC = config/locale/generic/messages_members.cc -CMESSAGES_H = config/locale/generic/messages_members.h -CMONEY_CC = config/locale/generic/monetary_members.cc -CNUMERIC_CC = config/locale/generic/numeric_members.cc -CPP = /src/build-4.8.2/./gcc/xgcc -B/src/build-4.8.2/./gcc/ -L/src/build-4.8.2/mingw32/winsup/mingw -L/src/build-4.8.2/mingw32/winsup/w32api/lib -isystem /src/gcc-4.8.2/winsup/mingw/include -isystem /src/gcc-4.8.2/winsup/w32api/include -B/home/autobuild/tools/win32/mingw32/bin/ -B/home/autobuild/tools/win32/mingw32/lib/ -isystem /home/autobuild/tools/win32/mingw32/include -isystem /home/autobuild/tools/win32/mingw32/sys-include -E -CPPFLAGS = -CPU_DEFINES_SRCDIR = config/cpu/generic -CPU_OPT_BITS_RANDOM = config/cpu/generic/opt/bits/opt_random.h -CPU_OPT_EXT_RANDOM = config/cpu/generic/opt/ext/opt_random.h -CSTDIO_H = config/io/c_io_stdio.h -CTIME_CC = config/locale/generic/time_members.cc -CTIME_H = config/locale/generic/time_members.h -CXX = /src/build-4.8.2/./gcc/xgcc -shared-libgcc -B/src/build-4.8.2/./gcc -nostdinc++ -L/src/build-4.8.2/mingw32/libstdc++-v3/src -L/src/build-4.8.2/mingw32/libstdc++-v3/src/.libs -L/src/build-4.8.2/mingw32/winsup/mingw -L/src/build-4.8.2/mingw32/winsup/w32api/lib -isystem /src/gcc-4.8.2/winsup/mingw/include -isystem /src/gcc-4.8.2/winsup/w32api/include -B/home/autobuild/tools/win32/mingw32/bin/ -B/home/autobuild/tools/win32/mingw32/lib/ -isystem /home/autobuild/tools/win32/mingw32/include -isystem /home/autobuild/tools/win32/mingw32/sys-include -CXXCPP = /src/build-4.8.2/./gcc/xgcc -shared-libgcc -B/src/build-4.8.2/./gcc -nostdinc++ -L/src/build-4.8.2/mingw32/libstdc++-v3/src -L/src/build-4.8.2/mingw32/libstdc++-v3/src/.libs -L/src/build-4.8.2/mingw32/winsup/mingw -L/src/build-4.8.2/mingw32/winsup/w32api/lib -isystem /src/gcc-4.8.2/winsup/mingw/include -isystem /src/gcc-4.8.2/winsup/w32api/include -B/home/autobuild/tools/win32/mingw32/bin/ -B/home/autobuild/tools/win32/mingw32/lib/ -isystem /home/autobuild/tools/win32/mingw32/include -isystem /home/autobuild/tools/win32/mingw32/sys-include -E -CXXFILT = /mingw/bin/c++filt -CXXFLAGS = -g -O2 -CYGPATH_W = echo -C_INCLUDE_DIR = ${glibcxx_srcdir}/include/c_global -DBLATEX = no -DEBUG_FLAGS = -gdwarf-4 -g3 -O0 -DEFS = -DHAVE_CONFIG_H -DOT = no -DOXYGEN = no -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -ERROR_CONSTANTS_SRCDIR = config/os/mingw32 -EXEEXT = .exe -EXTRA_CXX_FLAGS = -FGREP = /bin/grep -F -GLIBCXX_INCLUDES = -I/src/build-4.8.2/mingw32/libstdc++-v3/include/mingw32 -I/src/build-4.8.2/mingw32/libstdc++-v3/include -I/src/gcc-4.8.2/libstdc++-v3/libsupc++ -GLIBCXX_LIBS = -GREP = /bin/grep -HWCAP_FLAGS = -INSTALL = /bin/install -c -INSTALL_DATA = /bin/install -c -m 644 -INSTALL_PROGRAM = /bin/install -c -INSTALL_SCRIPT = /bin/install -c -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /src/build-4.8.2/./gcc/collect-ld -LDFLAGS = -LIBICONV = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = mingw32-lipo -LN_S = cp -p -LTLIBICONV = -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo --split-size=5000000 -MKDIR_P = /bin/mkdir -p -NM = /src/build-4.8.2/./gcc/nm -NMEDIT = -OBJDUMP = /home/autobuild/tools/win32/mingw32/bin/objdump -OBJEXT = o -OPTIMIZE_CXXFLAGS = -OPT_LDFLAGS = -Wl,-O1 $(lt_host_flags) -OS_INC_SRCDIR = config/os/mingw32 -OTOOL = -OTOOL64 = -PACKAGE = libstdc++ -PACKAGE_BUGREPORT = -PACKAGE_NAME = package-unused -PACKAGE_STRING = package-unused version-unused -PACKAGE_TARNAME = libstdc++ -PACKAGE_URL = -PACKAGE_VERSION = version-unused -PATH_SEPARATOR = : -PDFLATEX = no -RANLIB = /home/autobuild/tools/win32/mingw32/bin/ranlib -SECTION_FLAGS = -ffunction-sections -fdata-sections -SECTION_LDFLAGS = -Wl,--gc-sections -SED = /bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = /home/autobuild/tools/win32/mingw32/bin/strip -SYMVER_FILE = config/abi/pre/none.ver -TOPLEVEL_INCLUDES = -I$(toplevel_srcdir)/libgcc -USE_NLS = no -VERSION = version-unused -WARN_FLAGS = -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -WERROR = -XMLLINT = no -XSLTPROC = no -XSL_STYLE_DIR = -abs_builddir = /src/build-4.8.2/mingw32/libstdc++-v3/include -abs_srcdir = /src/build-4.8.2/mingw32/libstdc++-v3/../../../gcc-4.8.2/libstdc++-v3/include -abs_top_builddir = /src/build-4.8.2/mingw32/libstdc++-v3 -abs_top_srcdir = /src/build-4.8.2/mingw32/libstdc++-v3/../../../gcc-4.8.2/libstdc++-v3 -ac_ct_CC = -ac_ct_CXX = -ac_ct_DUMPBIN = -am__leading_dot = . -am__tar = ${AMTAR} chof - "$$tardir" -am__untar = ${AMTAR} xf - -baseline_dir = /src/gcc-4.8.2/libstdc++-v3/config/abi/post/ -baseline_subdir_switch = --print-multi-directory -bindir = ${exec_prefix}/bin -build = i686-pc-mingw32 -build_alias = i686-pc-mingw32 -build_cpu = i686 -build_os = mingw32 -build_vendor = pc -builddir = . -check_msgfmt = -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -enable_shared = no -enable_static = yes -exec_prefix = ${prefix} -glibcxx_MOFILES = -glibcxx_PCHFLAGS = -include bits/stdc++.h -glibcxx_POFILES = -glibcxx_builddir = /src/build-4.8.2/mingw32/libstdc++-v3 -glibcxx_compiler_pic_flag = -glibcxx_compiler_shared_flag = -glibcxx_localedir = /src/build-4.8.2/mingw32/libstdc++-v3/po/share/locale -glibcxx_lt_pic_flag = -glibcxx_prefixdir = /home/autobuild/tools/win32 -glibcxx_srcdir = /src/gcc-4.8.2/libstdc++-v3 -glibcxx_toolexecdir = ${libdir}/gcc/${host_alias} -glibcxx_toolexeclibdir = ${toolexecdir}/${gcc_version}$(MULTISUBDIR) -gxx_include_dir = ${libdir}/gcc/${host_alias}/${gcc_version}/include/c++ -host = i386-pc-mingw32 -host_alias = mingw32 -host_cpu = i386 -host_os = mingw32 -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /src/gcc-4.8.2/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -libtool_VERSION = 6:18:0 -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -lt_host_flags = -no-undefined -bindir "$(toolexeclibdir)" -mandir = ${datarootdir}/man -mkdir_p = /bin/mkdir -p -multi_basedir = ../../../gcc-4.8.2/libstdc++-v3/.. -oldincludedir = /usr/include -pdfdir = ${docdir} -port_specific_symbol_files = -prefix = /home/autobuild/tools/win32 -program_transform_name = s&^&kos32-& -psdir = ${docdir} -python_mod_dir = no -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = ../../../../gcc-4.8.2/libstdc++-v3/include -sysconfdir = ${prefix}/etc -target = i386-pc-mingw32 -target_alias = mingw32 -target_cpu = i386 -target_os = mingw32 -target_vendor = pc -thread_header = config/i386/gthr-win32.h -top_build_prefix = ../ -top_builddir = .. -top_srcdir = ../../../../gcc-4.8.2/libstdc++-v3 -toplevel_builddir = /src/build-4.8.2/mingw32/libstdc++-v3/.. -toplevel_srcdir = /src/gcc-4.8.2/libstdc++-v3/.. - -# May be used by various substitution variables. -gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) -MAINT_CHARSET = latin1 -mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs -PWD_COMMAND = $${PWDCMD-pwd} -STAMP = echo timestamp > -toolexecdir = $(glibcxx_toolexecdir) -toolexeclibdir = $(glibcxx_toolexeclibdir) -#WERROR_FLAG = -WERROR_FLAG = $(WERROR) - -# These bits are all figured out from configure. Look in acinclude.m4 -# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. -CONFIG_CXXFLAGS = \ - $(SECTION_FLAGS) $(HWCAP_FLAGS) -frandom-seed=$@ - -WARN_CXXFLAGS = \ - $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once - - -# -I/-D flags to pass when compiling. -AM_CPPFLAGS = $(GLIBCXX_INCLUDES) - -# Standard C++ includes. -std_srcdir = ${glibcxx_srcdir}/include/std -std_builddir = . -std_headers = \ - ${std_srcdir}/algorithm \ - ${std_srcdir}/array \ - ${std_srcdir}/atomic \ - ${std_srcdir}/bitset \ - ${std_srcdir}/chrono \ - ${std_srcdir}/complex \ - ${std_srcdir}/condition_variable \ - ${std_srcdir}/deque \ - ${std_srcdir}/forward_list \ - ${std_srcdir}/fstream \ - ${std_srcdir}/functional \ - ${std_srcdir}/future \ - ${std_srcdir}/iomanip \ - ${std_srcdir}/ios \ - ${std_srcdir}/iosfwd \ - ${std_srcdir}/iostream \ - ${std_srcdir}/istream \ - ${std_srcdir}/iterator \ - ${std_srcdir}/limits \ - ${std_srcdir}/list \ - ${std_srcdir}/locale \ - ${std_srcdir}/map \ - ${std_srcdir}/memory \ - ${std_srcdir}/mutex \ - ${std_srcdir}/numeric \ - ${std_srcdir}/ostream \ - ${std_srcdir}/queue \ - ${std_srcdir}/random \ - ${std_srcdir}/ratio \ - ${std_srcdir}/regex \ - ${std_srcdir}/scoped_allocator \ - ${std_srcdir}/set \ - ${std_srcdir}/sstream \ - ${std_srcdir}/stack \ - ${std_srcdir}/stdexcept \ - ${std_srcdir}/streambuf \ - ${std_srcdir}/string \ - ${std_srcdir}/system_error \ - ${std_srcdir}/thread \ - ${std_srcdir}/tuple \ - ${std_srcdir}/typeindex \ - ${std_srcdir}/type_traits \ - ${std_srcdir}/unordered_map \ - ${std_srcdir}/unordered_set \ - ${std_srcdir}/utility \ - ${std_srcdir}/valarray \ - ${std_srcdir}/vector - -bits_srcdir = ${glibcxx_srcdir}/include/bits -bits_builddir = ./bits -bits_headers = \ - ${bits_srcdir}/algorithmfwd.h \ - ${bits_srcdir}/alloc_traits.h \ - ${bits_srcdir}/allocator.h \ - ${bits_srcdir}/atomic_base.h \ - ${bits_srcdir}/basic_ios.h \ - ${bits_srcdir}/basic_ios.tcc \ - ${bits_srcdir}/basic_string.h \ - ${bits_srcdir}/basic_string.tcc \ - ${bits_srcdir}/boost_concept_check.h \ - ${bits_srcdir}/c++0x_warning.h \ - ${bits_srcdir}/char_traits.h \ - ${bits_srcdir}/codecvt.h \ - ${bits_srcdir}/concept_check.h \ - ${bits_srcdir}/cpp_type_traits.h \ - ${bits_srcdir}/deque.tcc \ - ${bits_srcdir}/forward_list.h \ - ${bits_srcdir}/forward_list.tcc \ - ${bits_srcdir}/fstream.tcc \ - ${bits_srcdir}/functexcept.h \ - ${bits_srcdir}/functional_hash.h \ - ${bits_srcdir}/gslice.h \ - ${bits_srcdir}/gslice_array.h \ - ${bits_srcdir}/hashtable.h \ - ${bits_srcdir}/hashtable_policy.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_classes.tcc \ - ${bits_srcdir}/locale_facets.h \ - ${bits_srcdir}/locale_facets.tcc \ - ${bits_srcdir}/locale_facets_nonio.h \ - ${bits_srcdir}/locale_facets_nonio.tcc \ - ${bits_srcdir}/localefwd.h \ - ${bits_srcdir}/mask_array.h \ - ${bits_srcdir}/memoryfwd.h \ - ${bits_srcdir}/move.h \ - ${bits_srcdir}/ostream.tcc \ - ${bits_srcdir}/ostream_insert.h \ - ${bits_srcdir}/postypes.h \ - ${bits_srcdir}/ptr_traits.h \ - ${bits_srcdir}/random.h \ - ${bits_srcdir}/random.tcc \ - ${bits_srcdir}/range_access.h \ - ${bits_srcdir}/regex.h \ - ${bits_srcdir}/regex_compiler.h \ - ${bits_srcdir}/regex_constants.h \ - ${bits_srcdir}/regex_cursor.h \ - ${bits_srcdir}/regex_error.h \ - ${bits_srcdir}/regex_grep_matcher.h \ - ${bits_srcdir}/regex_grep_matcher.tcc \ - ${bits_srcdir}/regex_nfa.h \ - ${bits_srcdir}/regex_nfa.tcc \ - ${bits_srcdir}/stream_iterator.h \ - ${bits_srcdir}/streambuf_iterator.h \ - ${bits_srcdir}/shared_ptr.h \ - ${bits_srcdir}/shared_ptr_base.h \ - ${bits_srcdir}/slice_array.h \ - ${bits_srcdir}/sstream.tcc \ - ${bits_srcdir}/stl_algo.h \ - ${bits_srcdir}/stl_algobase.h \ - ${bits_srcdir}/stl_bvector.h \ - ${bits_srcdir}/stl_construct.h \ - ${bits_srcdir}/stl_deque.h \ - ${bits_srcdir}/stl_function.h \ - ${bits_srcdir}/stl_heap.h \ - ${bits_srcdir}/stl_iterator.h \ - ${bits_srcdir}/stl_iterator_base_funcs.h \ - ${bits_srcdir}/stl_iterator_base_types.h \ - ${bits_srcdir}/stl_list.h \ - ${bits_srcdir}/stl_map.h \ - ${bits_srcdir}/stl_multimap.h \ - ${bits_srcdir}/stl_multiset.h \ - ${bits_srcdir}/stl_numeric.h \ - ${bits_srcdir}/stl_pair.h \ - ${bits_srcdir}/stl_queue.h \ - ${bits_srcdir}/stl_raw_storage_iter.h \ - ${bits_srcdir}/stl_relops.h \ - ${bits_srcdir}/stl_set.h \ - ${bits_srcdir}/stl_stack.h \ - ${bits_srcdir}/stl_tempbuf.h \ - ${bits_srcdir}/stl_tree.h \ - ${bits_srcdir}/stl_uninitialized.h \ - ${bits_srcdir}/stl_vector.h \ - ${bits_srcdir}/streambuf.tcc \ - ${bits_srcdir}/stringfwd.h \ - ${bits_srcdir}/unique_ptr.h \ - ${bits_srcdir}/unordered_map.h \ - ${bits_srcdir}/unordered_set.h \ - ${bits_srcdir}/uses_allocator.h \ - ${bits_srcdir}/valarray_array.h \ - ${bits_srcdir}/valarray_array.tcc \ - ${bits_srcdir}/valarray_before.h \ - ${bits_srcdir}/valarray_after.h \ - ${bits_srcdir}/vector.tcc - -bits_host_headers = \ - ${glibcxx_srcdir}/${CPU_OPT_BITS_RANDOM} - -bits_sup_srcdir = ${glibcxx_srcdir}/libsupc++ -bits_sup_headers = \ - ${bits_sup_srcdir}/atomic_lockfree_defines.h \ - ${bits_sup_srcdir}/cxxabi_forced.h \ - ${bits_sup_srcdir}/exception_defines.h \ - ${bits_sup_srcdir}/exception_ptr.h \ - ${bits_sup_srcdir}/hash_bytes.h \ - ${bits_sup_srcdir}/nested_exception.h - -backward_srcdir = ${glibcxx_srcdir}/include/backward -backward_builddir = ./backward -backward_headers = \ - ${backward_srcdir}/auto_ptr.h \ - ${backward_srcdir}/backward_warning.h \ - ${backward_srcdir}/binders.h \ - ${backward_srcdir}/hash_map \ - ${backward_srcdir}/hash_set \ - ${backward_srcdir}/hash_fun.h \ - ${backward_srcdir}/hashtable.h \ - ${backward_srcdir}/strstream - -pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds -pb_builddir = ./ext/pb_ds -pb_subdirs = \ - ${pb_builddir}/detail \ - ${pb_builddir}/detail/pairing_heap_ \ - ${pb_builddir}/detail/splay_tree_ \ - ${pb_builddir}/detail/list_update_map_ \ - ${pb_builddir}/detail/branch_policy \ - ${pb_builddir}/detail/trie_policy \ - ${pb_builddir}/detail/gp_hash_table_map_ \ - ${pb_builddir}/detail/tree_policy \ - ${pb_builddir}/detail/binomial_heap_base_ \ - ${pb_builddir}/detail/resize_policy \ - ${pb_builddir}/detail/bin_search_tree_ \ - ${pb_builddir}/detail/binomial_heap_ \ - ${pb_builddir}/detail/thin_heap_ \ - ${pb_builddir}/detail/pat_trie_ \ - ${pb_builddir}/detail/cc_hash_table_map_ \ - ${pb_builddir}/detail/rc_binomial_heap_ \ - ${pb_builddir}/detail/left_child_next_sibling_heap_ \ - ${pb_builddir}/detail/unordered_iterator \ - ${pb_builddir}/detail/binary_heap_ \ - ${pb_builddir}/detail/ov_tree_map_ \ - ${pb_builddir}/detail/hash_fn \ - ${pb_builddir}/detail/eq_fn \ - ${pb_builddir}/detail/rb_tree_map_ \ - ${pb_builddir}/detail/list_update_policy - - -# The ability for make and the underlying host to deal with this -# unwieldy list as one entire entity is not a sure thing, and may -# cause build errors. Thus, split one list into many smaller -# mini-lists, with the maximum size per mini-list of no more than 42. -pb_headers1 = \ - ${pb_srcdir}/assoc_container.hpp \ - ${pb_srcdir}/exception.hpp \ - ${pb_srcdir}/hash_policy.hpp \ - ${pb_srcdir}/list_update_policy.hpp \ - ${pb_srcdir}/priority_queue.hpp \ - ${pb_srcdir}/tag_and_trait.hpp \ - ${pb_srcdir}/tree_policy.hpp \ - ${pb_srcdir}/trie_policy.hpp \ - ${pb_srcdir}/detail/branch_policy/branch_policy.hpp \ - ${pb_srcdir}/detail/branch_policy/null_node_metadata.hpp \ - ${pb_srcdir}/detail/branch_policy/traits.hpp \ - ${pb_srcdir}/detail/binary_heap_/binary_heap_.hpp \ - ${pb_srcdir}/detail/binary_heap_/const_iterator.hpp \ - ${pb_srcdir}/detail/binary_heap_/point_const_iterator.hpp \ - ${pb_srcdir}/detail/binary_heap_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/entry_cmp.hpp \ - ${pb_srcdir}/detail/binary_heap_/entry_pred.hpp \ - ${pb_srcdir}/detail/binary_heap_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/iterators_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/policy_access_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/resize_policy.hpp \ - ${pb_srcdir}/detail/binary_heap_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/binary_heap_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_base_/binomial_heap_base_.hpp \ - ${pb_srcdir}/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_base_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_base_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_base_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_base_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_base_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_/binomial_heap_.hpp \ - ${pb_srcdir}/detail/binomial_heap_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/binomial_heap_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/bin_search_tree_.hpp - -pb_headers2 = \ - ${pb_srcdir}/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/iterators_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/node_iterators.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/point_iterators.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/policy_access_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/r_erase_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/rotate_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/bin_search_tree_/traits.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/cc_ht_map_.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/cmp_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/entry_list_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/iterators_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/policy_access_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/resize_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/cc_hash_table_map_/size_fn_imps.hpp - -pb_headers3 = \ - ${pb_srcdir}/detail/cc_hash_table_map_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/cond_dealtor.hpp \ - ${pb_srcdir}/detail/container_base_dispatch.hpp \ - ${pb_srcdir}/detail/eq_fn/eq_by_less.hpp \ - ${pb_srcdir}/detail/eq_fn/hash_eq_fn.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/gp_ht_map_.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/iterator_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/policy_access_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/resize_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp \ - ${pb_srcdir}/detail/gp_hash_table_map_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/hash_fn/direct_mask_range_hashing_imp.hpp \ - ${pb_srcdir}/detail/hash_fn/direct_mod_range_hashing_imp.hpp \ - ${pb_srcdir}/detail/hash_fn/linear_probe_fn_imp.hpp \ - ${pb_srcdir}/detail/hash_fn/mask_based_range_hashing.hpp \ - ${pb_srcdir}/detail/hash_fn/mod_based_range_hashing.hpp \ - ${pb_srcdir}/detail/hash_fn/probe_fn_base.hpp \ - ${pb_srcdir}/detail/hash_fn/quadratic_probe_fn_imp.hpp \ - ${pb_srcdir}/detail/hash_fn/ranged_hash_fn.hpp \ - ${pb_srcdir}/detail/hash_fn/ranged_probe_fn.hpp - -pb_headers4 = \ - ${pb_srcdir}/detail/hash_fn/sample_probe_fn.hpp \ - ${pb_srcdir}/detail/hash_fn/sample_ranged_hash_fn.hpp \ - ${pb_srcdir}/detail/hash_fn/sample_ranged_probe_fn.hpp \ - ${pb_srcdir}/detail/hash_fn/sample_range_hashing.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/const_iterator.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/point_const_iterator.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/node.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp \ - ${pb_srcdir}/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/constructor_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/entry_metadata_base.hpp \ - ${pb_srcdir}/detail/list_update_map_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/iterators_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_map_/lu_map_.hpp \ - ${pb_srcdir}/detail/list_update_map_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/list_update_policy/lu_counter_metadata.hpp \ - ${pb_srcdir}/detail/list_update_policy/sample_update_policy.hpp \ - ${pb_srcdir}/detail/debug_map_base.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/iterators_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/node_iterators.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/ov_tree_map_.hpp - -pb_headers5 = \ - ${pb_srcdir}/detail/ov_tree_map_/policy_access_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/ov_tree_map_/traits.hpp \ - ${pb_srcdir}/detail/pairing_heap_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/pairing_heap_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/pairing_heap_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/pairing_heap_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/pairing_heap_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/pairing_heap_/pairing_heap_.hpp \ - ${pb_srcdir}/detail/pairing_heap_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/insert_join_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/iterators_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/pat_trie_.hpp \ - ${pb_srcdir}/detail/pat_trie_/pat_trie_base.hpp \ - ${pb_srcdir}/detail/pat_trie_/policy_access_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/r_erase_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/rotate_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/split_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/synth_access_traits.hpp \ - ${pb_srcdir}/detail/pat_trie_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/pat_trie_/traits.hpp \ - ${pb_srcdir}/detail/pat_trie_/update_fn_imps.hpp \ - ${pb_srcdir}/detail/priority_queue_base_dispatch.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/debug_fn_imps.hpp - -pb_headers6 = \ - ${pb_srcdir}/detail/rb_tree_map_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/node.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/rb_tree_.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/rb_tree_map_/traits.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/rc_binomial_heap_.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/rc.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/rc_binomial_heap_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp \ - ${pb_srcdir}/detail/resize_policy/hash_exponential_size_policy_imp.hpp \ - ${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp \ - ${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp \ - ${pb_srcdir}/detail/resize_policy/hash_prime_size_policy_imp.hpp \ - ${pb_srcdir}/detail/resize_policy/hash_standard_resize_policy_imp.hpp \ - ${pb_srcdir}/detail/resize_policy/sample_resize_policy.hpp \ - ${pb_srcdir}/detail/resize_policy/sample_resize_trigger.hpp \ - ${pb_srcdir}/detail/resize_policy/sample_size_policy.hpp \ - ${pb_srcdir}/detail/splay_tree_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/erase_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/info_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/node.hpp \ - ${pb_srcdir}/detail/splay_tree_/splay_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/splay_tree_.hpp \ - ${pb_srcdir}/detail/splay_tree_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/splay_tree_/traits.hpp \ - ${pb_srcdir}/detail/standard_policies.hpp \ - ${pb_srcdir}/detail/thin_heap_/constructors_destructor_fn_imps.hpp \ - ${pb_srcdir}/detail/thin_heap_/debug_fn_imps.hpp \ - ${pb_srcdir}/detail/thin_heap_/erase_fn_imps.hpp - -pb_headers7 = \ - ${pb_srcdir}/detail/thin_heap_/find_fn_imps.hpp \ - ${pb_srcdir}/detail/thin_heap_/insert_fn_imps.hpp \ - ${pb_srcdir}/detail/thin_heap_/split_join_fn_imps.hpp \ - ${pb_srcdir}/detail/thin_heap_/thin_heap_.hpp \ - ${pb_srcdir}/detail/thin_heap_/trace_fn_imps.hpp \ - ${pb_srcdir}/detail/tree_policy/node_metadata_selector.hpp \ - ${pb_srcdir}/detail/tree_policy/order_statistics_imp.hpp \ - ${pb_srcdir}/detail/tree_policy/sample_tree_node_update.hpp \ - ${pb_srcdir}/detail/tree_trace_base.hpp \ - ${pb_srcdir}/detail/trie_policy/node_metadata_selector.hpp \ - ${pb_srcdir}/detail/trie_policy/order_statistics_imp.hpp \ - ${pb_srcdir}/detail/trie_policy/prefix_search_node_update_imp.hpp \ - ${pb_srcdir}/detail/trie_policy/sample_trie_access_traits.hpp \ - ${pb_srcdir}/detail/trie_policy/sample_trie_node_update.hpp \ - ${pb_srcdir}/detail/trie_policy/trie_string_access_traits_imp.hpp \ - ${pb_srcdir}/detail/trie_policy/trie_policy_base.hpp \ - ${pb_srcdir}/detail/types_traits.hpp \ - ${pb_srcdir}/detail/type_utils.hpp \ - ${pb_srcdir}/detail/unordered_iterator/const_iterator.hpp \ - ${pb_srcdir}/detail/unordered_iterator/point_const_iterator.hpp \ - ${pb_srcdir}/detail/unordered_iterator/iterator.hpp \ - ${pb_srcdir}/detail/unordered_iterator/point_iterator.hpp - -ext_srcdir = ${glibcxx_srcdir}/include/ext -ext_builddir = ./ext -ext_headers = \ - ${ext_srcdir}/algorithm \ - ${ext_srcdir}/alloc_traits.h \ - ${ext_srcdir}/atomicity.h \ - ${ext_srcdir}/array_allocator.h \ - ${ext_srcdir}/bitmap_allocator.h \ - ${ext_srcdir}/cast.h \ - ${ext_srcdir}/cmath \ - ${ext_srcdir}/codecvt_specializations.h \ - ${ext_srcdir}/concurrence.h \ - ${ext_srcdir}/debug_allocator.h \ - ${ext_srcdir}/enc_filebuf.h \ - ${ext_srcdir}/extptr_allocator.h \ - ${ext_srcdir}/stdio_filebuf.h \ - ${ext_srcdir}/stdio_sync_filebuf.h \ - ${ext_srcdir}/functional \ - ${ext_srcdir}/iterator \ - ${ext_srcdir}/malloc_allocator.h \ - ${ext_srcdir}/memory \ - ${ext_srcdir}/mt_allocator.h \ - ${ext_srcdir}/new_allocator.h \ - ${ext_srcdir}/numeric \ - ${ext_srcdir}/numeric_traits.h \ - ${ext_srcdir}/pod_char_traits.h \ - ${ext_srcdir}/pointer.h \ - ${ext_srcdir}/pool_allocator.h \ - ${ext_srcdir}/rb_tree \ - ${ext_srcdir}/random \ - ${ext_srcdir}/random.tcc \ - ${ext_srcdir}/rope \ - ${ext_srcdir}/ropeimpl.h \ - ${ext_srcdir}/slist \ - ${ext_srcdir}/string_conversions.h \ - ${ext_srcdir}/throw_allocator.h \ - ${ext_srcdir}/typelist.h \ - ${ext_srcdir}/type_traits.h \ - ${ext_srcdir}/rc_string_base.h \ - ${ext_srcdir}/sso_string_base.h \ - ${ext_srcdir}/vstring.h \ - ${ext_srcdir}/vstring.tcc \ - ${ext_srcdir}/vstring_fwd.h \ - ${ext_srcdir}/vstring_util.h \ - ${ext_compat_headers} - -ext_compat_headers = \ - ${backward_srcdir}/hash_set \ - ${backward_srcdir}/hash_map - -ext_host_headers = \ - ${glibcxx_srcdir}/${CPU_OPT_EXT_RANDOM} - -tr1_srcdir = ${glibcxx_srcdir}/include/tr1 -tr1_builddir = ./tr1 -tr1_headers = \ - ${tr1_srcdir}/array \ - ${tr1_srcdir}/bessel_function.tcc \ - ${tr1_srcdir}/beta_function.tcc \ - ${tr1_srcdir}/ccomplex \ - ${tr1_srcdir}/cctype \ - ${tr1_srcdir}/cfenv \ - ${tr1_srcdir}/cfloat \ - ${tr1_srcdir}/cinttypes \ - ${tr1_srcdir}/climits \ - ${tr1_srcdir}/cmath \ - ${tr1_srcdir}/complex \ - ${tr1_srcdir}/complex.h \ - ${tr1_srcdir}/cstdarg \ - ${tr1_srcdir}/cstdbool \ - ${tr1_srcdir}/cstdint \ - ${tr1_srcdir}/cstdio \ - ${tr1_srcdir}/cstdlib \ - ${tr1_srcdir}/ctgmath \ - ${tr1_srcdir}/ctime \ - ${tr1_srcdir}/ctype.h \ - ${tr1_srcdir}/cwchar \ - ${tr1_srcdir}/cwctype \ - ${tr1_srcdir}/ell_integral.tcc \ - ${tr1_srcdir}/exp_integral.tcc \ - ${tr1_srcdir}/fenv.h \ - ${tr1_srcdir}/float.h \ - ${tr1_srcdir}/functional \ - ${tr1_srcdir}/functional_hash.h \ - ${tr1_srcdir}/gamma.tcc \ - ${tr1_srcdir}/hypergeometric.tcc \ - ${tr1_srcdir}/hashtable.h \ - ${tr1_srcdir}/hashtable_policy.h \ - ${tr1_srcdir}/inttypes.h \ - ${tr1_srcdir}/limits.h \ - ${tr1_srcdir}/math.h \ - ${tr1_srcdir}/memory \ - ${tr1_srcdir}/modified_bessel_func.tcc \ - ${tr1_srcdir}/poly_hermite.tcc \ - ${tr1_srcdir}/poly_laguerre.tcc \ - ${tr1_srcdir}/legendre_function.tcc \ - ${tr1_srcdir}/random \ - ${tr1_srcdir}/random.h \ - ${tr1_srcdir}/random.tcc \ - ${tr1_srcdir}/regex \ - ${tr1_srcdir}/riemann_zeta.tcc \ - ${tr1_srcdir}/shared_ptr.h \ - ${tr1_srcdir}/special_function_util.h \ - ${tr1_srcdir}/stdarg.h \ - ${tr1_srcdir}/stdbool.h \ - ${tr1_srcdir}/stdint.h \ - ${tr1_srcdir}/stdio.h \ - ${tr1_srcdir}/stdlib.h \ - ${tr1_srcdir}/tgmath.h \ - ${tr1_srcdir}/tuple \ - ${tr1_srcdir}/type_traits \ - ${tr1_srcdir}/unordered_map \ - ${tr1_srcdir}/unordered_map.h \ - ${tr1_srcdir}/unordered_set \ - ${tr1_srcdir}/unordered_set.h \ - ${tr1_srcdir}/utility \ - ${tr1_srcdir}/wchar.h \ - ${tr1_srcdir}/wctype.h - -tr2_srcdir = ${glibcxx_srcdir}/include/tr2 -tr2_builddir = ./tr2 -tr2_headers = \ - ${tr2_srcdir}/bool_set \ - ${tr2_srcdir}/bool_set.tcc \ - ${tr2_srcdir}/dynamic_bitset \ - ${tr2_srcdir}/ratio \ - ${tr2_srcdir}/type_traits - -decimal_srcdir = ${glibcxx_srcdir}/include/decimal -decimal_builddir = ./decimal -decimal_headers = \ - ${decimal_srcdir}/decimal \ - ${decimal_srcdir}/decimal.h - - -# This is the common subset of C++ files that all three "C" header models use. -c_base_srcdir = $(C_INCLUDE_DIR) -c_base_builddir = . -c_base_headers = \ - ${c_base_srcdir}/cassert \ - ${c_base_srcdir}/ccomplex \ - ${c_base_srcdir}/cctype \ - ${c_base_srcdir}/cerrno \ - ${c_base_srcdir}/cfenv \ - ${c_base_srcdir}/cfloat \ - ${c_base_srcdir}/cinttypes \ - ${c_base_srcdir}/ciso646 \ - ${c_base_srcdir}/climits \ - ${c_base_srcdir}/clocale \ - ${c_base_srcdir}/cmath \ - ${c_base_srcdir}/csetjmp \ - ${c_base_srcdir}/csignal \ - ${c_base_srcdir}/cstdalign \ - ${c_base_srcdir}/cstdarg \ - ${c_base_srcdir}/cstdbool \ - ${c_base_srcdir}/cstddef \ - ${c_base_srcdir}/cstdint \ - ${c_base_srcdir}/cstdio \ - ${c_base_srcdir}/cstdlib \ - ${c_base_srcdir}/cstring \ - ${c_base_srcdir}/ctgmath \ - ${c_base_srcdir}/ctime \ - ${c_base_srcdir}/cwchar \ - ${c_base_srcdir}/cwctype - - -# "C" compatibility headers. -c_compatibility_srcdir = ${glibcxx_srcdir}/include/c_compatibility -c_compatibility_builddir = . -c_compatibility_headers = \ - ${c_compatibility_srcdir}/complex.h \ - ${c_compatibility_srcdir}/fenv.h \ - ${c_compatibility_srcdir}/tgmath.h - -#c_compatibility_headers = -#c_compatibility_headers = \ -# ${c_compatibility_srcdir}/assert.h \ -# ${c_compatibility_srcdir}/complex.h \ -# ${c_compatibility_srcdir}/ctype.h \ -# ${c_compatibility_srcdir}/errno.h \ -# ${c_compatibility_srcdir}/fenv.h \ -# ${c_compatibility_srcdir}/float.h \ -# ${c_compatibility_srcdir}/inttypes.h \ -# ${c_compatibility_srcdir}/iso646.h \ -# ${c_compatibility_srcdir}/limits.h \ -# ${c_compatibility_srcdir}/locale.h \ -# ${c_compatibility_srcdir}/math.h \ -# ${c_compatibility_srcdir}/setjmp.h \ -# ${c_compatibility_srcdir}/signal.h \ -# ${c_compatibility_srcdir}/stdarg.h \ -# ${c_compatibility_srcdir}/stdbool.h \ -# ${c_compatibility_srcdir}/stddef.h \ -# ${c_compatibility_srcdir}/stdint.h \ -# ${c_compatibility_srcdir}/stdio.h \ -# ${c_compatibility_srcdir}/stdlib.h \ -# ${c_compatibility_srcdir}/string.h \ -# ${c_compatibility_srcdir}/tgmath.h \ -# ${c_compatibility_srcdir}/time.h \ -# ${c_compatibility_srcdir}/wchar.h \ -# ${c_compatibility_srcdir}/wctype.h - - -# Debug mode headers -debug_srcdir = ${glibcxx_srcdir}/include/debug -debug_builddir = ./debug -debug_headers = \ - ${debug_srcdir}/array \ - ${debug_srcdir}/bitset \ - ${debug_srcdir}/debug.h \ - ${debug_srcdir}/deque \ - ${debug_srcdir}/formatter.h \ - ${debug_srcdir}/forward_list \ - ${debug_srcdir}/functions.h \ - ${debug_srcdir}/list \ - ${debug_srcdir}/map \ - ${debug_srcdir}/macros.h \ - ${debug_srcdir}/map.h \ - ${debug_srcdir}/multimap.h \ - ${debug_srcdir}/multiset.h \ - ${debug_srcdir}/safe_base.h \ - ${debug_srcdir}/safe_iterator.h \ - ${debug_srcdir}/safe_iterator.tcc \ - ${debug_srcdir}/safe_local_iterator.h \ - ${debug_srcdir}/safe_local_iterator.tcc \ - ${debug_srcdir}/safe_sequence.h \ - ${debug_srcdir}/safe_sequence.tcc \ - ${debug_srcdir}/safe_unordered_base.h \ - ${debug_srcdir}/safe_unordered_container.h \ - ${debug_srcdir}/safe_unordered_container.tcc \ - ${debug_srcdir}/set \ - ${debug_srcdir}/set.h \ - ${debug_srcdir}/string \ - ${debug_srcdir}/unordered_map \ - ${debug_srcdir}/unordered_set \ - ${debug_srcdir}/vector - - -# Parallel mode headers -parallel_srcdir = ${glibcxx_srcdir}/include/parallel -parallel_builddir = ./parallel -parallel_headers = \ - ${parallel_srcdir}/algo.h \ - ${parallel_srcdir}/algobase.h \ - ${parallel_srcdir}/algorithm \ - ${parallel_srcdir}/algorithmfwd.h \ - ${parallel_srcdir}/balanced_quicksort.h \ - ${parallel_srcdir}/base.h \ - ${parallel_srcdir}/basic_iterator.h \ - ${parallel_srcdir}/checkers.h \ - ${parallel_srcdir}/compatibility.h \ - ${parallel_srcdir}/compiletime_settings.h \ - ${parallel_srcdir}/equally_split.h \ - ${parallel_srcdir}/features.h \ - ${parallel_srcdir}/find.h \ - ${parallel_srcdir}/find_selectors.h \ - ${parallel_srcdir}/for_each.h \ - ${parallel_srcdir}/for_each_selectors.h \ - ${parallel_srcdir}/iterator.h \ - ${parallel_srcdir}/list_partition.h \ - ${parallel_srcdir}/losertree.h \ - ${parallel_srcdir}/merge.h \ - ${parallel_srcdir}/multiseq_selection.h \ - ${parallel_srcdir}/multiway_merge.h \ - ${parallel_srcdir}/multiway_mergesort.h \ - ${parallel_srcdir}/numeric \ - ${parallel_srcdir}/numericfwd.h \ - ${parallel_srcdir}/omp_loop.h \ - ${parallel_srcdir}/omp_loop_static.h \ - ${parallel_srcdir}/par_loop.h \ - ${parallel_srcdir}/parallel.h \ - ${parallel_srcdir}/partial_sum.h \ - ${parallel_srcdir}/partition.h \ - ${parallel_srcdir}/queue.h \ - ${parallel_srcdir}/quicksort.h \ - ${parallel_srcdir}/random_number.h \ - ${parallel_srcdir}/random_shuffle.h \ - ${parallel_srcdir}/search.h \ - ${parallel_srcdir}/set_operations.h \ - ${parallel_srcdir}/settings.h \ - ${parallel_srcdir}/sort.h \ - ${parallel_srcdir}/tags.h \ - ${parallel_srcdir}/types.h \ - ${parallel_srcdir}/unique_copy.h \ - ${parallel_srcdir}/workstealing.h - - -# Profile mode headers -profile_srcdir = ${glibcxx_srcdir}/include/profile -profile_builddir = ./profile -profile_headers = \ - ${profile_srcdir}/array \ - ${profile_srcdir}/base.h \ - ${profile_srcdir}/unordered_base.h \ - ${profile_srcdir}/unordered_map \ - ${profile_srcdir}/unordered_set \ - ${profile_srcdir}/vector \ - ${profile_srcdir}/bitset \ - ${profile_srcdir}/deque \ - ${profile_srcdir}/forward_list \ - ${profile_srcdir}/list \ - ${profile_srcdir}/map \ - ${profile_srcdir}/map.h \ - ${profile_srcdir}/multimap.h \ - ${profile_srcdir}/multiset.h \ - ${profile_srcdir}/set \ - ${profile_srcdir}/set.h \ - ${profile_srcdir}/iterator_tracker.h - -profile_impl_srcdir = ${glibcxx_srcdir}/include/profile/impl -profile_impl_builddir = ./profile/impl -profile_impl_headers = \ - ${profile_impl_srcdir}/profiler.h \ - ${profile_impl_srcdir}/profiler_algos.h \ - ${profile_impl_srcdir}/profiler_container_size.h \ - ${profile_impl_srcdir}/profiler_hash_func.h \ - ${profile_impl_srcdir}/profiler_hashtable_size.h \ - ${profile_impl_srcdir}/profiler_map_to_unordered_map.h \ - ${profile_impl_srcdir}/profiler_node.h \ - ${profile_impl_srcdir}/profiler_state.h \ - ${profile_impl_srcdir}/profiler_trace.h \ - ${profile_impl_srcdir}/profiler_vector_size.h \ - ${profile_impl_srcdir}/profiler_vector_to_list.h \ - ${profile_impl_srcdir}/profiler_list_to_vector.h \ - ${profile_impl_srcdir}/profiler_list_to_slist.h - -#c_compatibility_headers_extra = - -# Some "C" header schemes require the "C" compatibility headers. -# For --enable-cheaders=c_std -c_compatibility_headers_extra = ${c_compatibility_headers} -host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR) -host_builddir = ./${host_alias}/bits -host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits -host_headers = \ - ${host_srcdir}/ctype_base.h \ - ${host_srcdir}/ctype_inline.h \ - ${host_srcdir}/os_defines.h \ - ${glibcxx_srcdir}/$(ATOMIC_WORD_SRCDIR)/atomic_word.h \ - ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \ - ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h \ - ${glibcxx_srcdir}/$(ERROR_CONSTANTS_SRCDIR)/error_constants.h \ - ${glibcxx_srcdir}/include/precompiled/stdc++.h \ - ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h \ - ${glibcxx_srcdir}/include/precompiled/extc++.h - - -# Non-installed host_header files. -COMPATIBILITY_H = config/abi/compatibility.h -host_headers_noinst = \ - ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) \ - ${glibcxx_srcdir}/$(COMPATIBILITY_H) - - -# These host_headers_extra files are all built with ad hoc naming rules. -host_headers_extra = \ - ${host_builddir}/basic_file.h \ - ${host_builddir}/c++config.h \ - ${host_builddir}/c++allocator.h \ - ${host_builddir}/c++io.h \ - ${host_builddir}/c++locale.h \ - ${host_builddir}/messages_members.h \ - ${host_builddir}/time_members.h - -thread_host_headers = \ - ${host_builddir}/gthr.h \ - ${host_builddir}/gthr-single.h \ - ${host_builddir}/gthr-posix.h \ - ${host_builddir}/gthr-default.h - -pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h -pch1_output_builddir = ${host_builddir}/stdc++.h.gch -pch1_output_anchor = ${host_builddir}/stdc++.h -pch1_output_installdir = ${host_installdir}/stdc++.h.gch -pch1a_output = ${pch1_output_builddir}/O2ggnu++0x.gch -pch1b_output = ${pch1_output_builddir}/O2g.gch -pch1_output = ${pch1a_output} ${pch1b_output} -pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h -pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch -pch2_output_anchor = ${host_builddir}/stdtr1c++.h -pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch -pch2_output = ${pch2_output_builddir}/O2g.gch -pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h -pch3_output_builddir = ${host_builddir}/extc++.h.gch -pch3_output_anchor = ${host_builddir}/extc++.h -pch3_output_installdir = ${host_installdir}/extc++.h.gch -pch3_output = ${pch3_output_builddir}/O2g.gch -pch_output = ${pch1_output} ${pch2_output} ${pch3_output} -pch_output_dirs = \ - ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir} - -pch_output_anchors = \ - ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor} - -PCHFLAGS = -x c++-header -nostdinc++ $(CXXFLAGS) -#pch_build = -pch_build = ${pch_output} - -# List of all timestamp files. By keeping only one copy of this list, both -# CLEANFILES and all-local are kept up-to-date. -allstamped = \ - stamp-std stamp-bits stamp-bits-sup stamp-c_base stamp-c_compatibility \ - stamp-backward stamp-ext stamp-pb stamp-tr1 stamp-tr2 stamp-decimal \ - stamp-debug stamp-parallel stamp-profile stamp-profile-impl \ - stamp-host - - -# List of all files that are created by explicit building, editing, or -# catenation. -allcreated = \ - ${host_builddir}/c++config.h \ - ${thread_host_headers} \ - ${pch_build} - - -# Host includes for threads -uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] - -# By adding these files here, automake will remove them for 'make clean' -CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps include/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign --ignore-deps include/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - -check-am: all-am -check: check-am -all-am: Makefile all-local -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-data-local - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am all-local check check-am clean clean-generic \ - clean-libtool clean-local distclean distclean-generic \ - distclean-libtool dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-data-local \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am - - -# Here are the rules for building the headers -all-local: ${allstamped} ${allcreated} - -# Ignore errors from 'mkdir -p' to avoid parallel make failure on -# systems with broken mkdir. Call mkdir unconditionally because -# it is just as cheap to avoid going through the shell. -# Ignore errors from $(LN_S) because the links may already exist. -stamp-std: ${std_headers} - @-mkdir -p ${std_builddir} - @-cd ${std_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-std - -stamp-bits: ${bits_headers} - @-mkdir -p ${bits_builddir} - @-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-bits - -stamp-bits-sup: stamp-bits ${bits_sup_headers} - @-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-bits-sup - -stamp-c_base: ${c_base_headers} - @-mkdir -p ${c_base_builddir} - @-cd ${c_base_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-c_base - -stamp-c_base_extra: ${c_base_headers_extra} - @-mkdir -p ${bits_builddir} - @-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-c_base_extra - -stamp-c_compatibility: ${c_compatibility_headers_extra} - @-mkdir -p ${c_compatibility_builddir} - @-if [ ! -z "${c_compatibility_headers_extra}" ]; then \ - cd ${c_compatibility_builddir} && $(LN_S) $? . 2>/dev/null ;\ - fi - @$(STAMP) stamp-c_compatibility - -stamp-backward: ${backward_headers} - @-mkdir -p ${backward_builddir} - @-cd ${backward_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-backward - -stamp-ext: ${ext_headers} - @-mkdir -p ${ext_builddir} - @-cd ${ext_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-ext - -# Have to deal with nested include directories, gah! Strip off source -# directory before making the link. -# XXX check ${pb_headers} -stamp-pb: - @if [ ! -d "${pb_builddir}" ]; then \ - mkdir -p ${pb_subdirs} ;\ - fi - @if [ ! -f stamp-pb ]; then \ - cd ${pb_builddir} && for h in ${pb_headers1}; do \ - build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(LN_S) $$h $${build_name} || true ;\ - done ;\ - fi - @if [ ! -f stamp-pb ]; then \ - cd ${pb_builddir} && for h in ${pb_headers2}; do \ - build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(LN_S) $$h $${build_name} || true ;\ - done ;\ - fi - @if [ ! -f stamp-pb ]; then \ - cd ${pb_builddir} && for h in ${pb_headers3}; do \ - build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(LN_S) $$h $${build_name} || true ;\ - done ;\ - fi - @if [ ! -f stamp-pb ]; then \ - cd ${pb_builddir} && for h in ${pb_headers4}; do \ - build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(LN_S) $$h $${build_name} || true ;\ - done ;\ - fi - @if [ ! -f stamp-pb ]; then \ - cd ${pb_builddir} && for h in ${pb_headers5}; do \ - build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(LN_S) $$h $${build_name} || true ;\ - done ;\ - fi - @if [ ! -f stamp-pb ]; then \ - cd ${pb_builddir} && for h in ${pb_headers6}; do \ - build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(LN_S) $$h $${build_name} || true ;\ - done ;\ - fi - @if [ ! -f stamp-pb ]; then \ - cd ${pb_builddir} && for h in ${pb_headers7}; do \ - build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(LN_S) $$h $${build_name} || true ;\ - done ;\ - fi - $(STAMP) stamp-pb - -stamp-tr1: ${tr1_headers} - @-mkdir -p ${tr1_builddir} - @-cd ${tr1_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-tr1 - -stamp-tr2: ${tr2_headers} - @-mkdir -p ${tr2_builddir} - @-cd ${tr2_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-tr2 - -stamp-decimal: ${decimal_headers} - @-mkdir -p ${decimal_builddir} - @-cd ${decimal_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-decimal - -stamp-debug: ${debug_headers} - @-mkdir -p ${debug_builddir} - @-cd ${debug_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-debug - -stamp-parallel: ${parallel_headers} - @-mkdir -p ${parallel_builddir} - @-cd ${parallel_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-parallel - -stamp-profile: ${profile_headers} - @-mkdir -p ${profile_builddir} - @-cd ${profile_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-profile - -stamp-profile-impl: ${profile_impl_headers} - @-mkdir -p ${profile_impl_builddir} - @-cd ${profile_impl_builddir} && $(LN_S) $? . 2>/dev/null - @$(STAMP) stamp-profile-impl - -stamp-${host_alias}: - @-mkdir -p ${host_builddir} - @-mkdir -p ${host_builddir}/../ext - @$(STAMP) stamp-${host_alias} - -# Host includes static. -# XXX Missing dependency info for {host_headers_extra} -stamp-host: ${host_headers} ${bits_host_headers} ${ext_host_headers} ${host_headers_noinst} stamp-${host_alias} - @cd ${host_builddir} && {\ - $(LN_S) ${host_headers} ${bits_host_headers} . || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_H) basic_file.h || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(ALLOCATOR_H) c++allocator.h || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(CSTDIO_H) c++io.h || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_H) c++locale.h || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) . || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(COMPATIBILITY_H) . || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_H) messages_members.h || true ;\ - $(LN_S) ${glibcxx_srcdir}/$(CTIME_H) time_members.h || true;\ - } 2>/dev/null - @cd ${host_builddir}/../ext && {\ - $(LN_S) ${ext_host_headers} . || true ;\ - } 2>/dev/null - $(STAMP) stamp-host - -# Host includes dynamic. -#stamp-namespace-version: -# echo 1 > stamp-namespace-version -stamp-namespace-version: - echo 0 > stamp-namespace-version - -stamp-extern-template: - echo 1 > stamp-extern-template -#stamp-extern-template: -# echo 0 > stamp-extern-template - -#stamp-visibility: -# echo 1 > stamp-visibility -stamp-visibility: - echo 0 > stamp-visibility - -# NB: The non-empty default ldbl_compat works around an AIX sed -# oddity, see libstdc++/31957 for details. -${host_builddir}/c++config.h: ${CONFIG_HEADER} \ - ${glibcxx_srcdir}/include/bits/c++config \ - stamp-${host_alias} \ - ${toplevel_srcdir}/gcc/DATESTAMP \ - stamp-namespace-version \ - stamp-visibility \ - stamp-extern-template - @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\ - ns_version=`cat stamp-namespace-version` ;\ - visibility=`cat stamp-visibility` ;\ - externtemplate=`cat stamp-extern-template` ;\ - ldbl_compat='s,g,g,' ;\ - grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \ - ${CONFIG_HEADER} > /dev/null 2>&1 \ - && ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\ - sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \ - -e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \ - -e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \ - -e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \ - -e "$$ldbl_compat" \ - < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\ - sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \ - -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \ - -e 's/VERSION/_GLIBCXX_VERSION/g' \ - -e 's/WORDS_/_GLIBCXX_WORDS_/g' \ - -e 's/ICONV_CONST/_GLIBCXX_ICONV_CONST/g' \ - -e '/[ ]_GLIBCXX_LONG_DOUBLE_COMPAT[ ]/d' \ - < ${CONFIG_HEADER} >> $@ ;\ - echo "" >> $@ ;\ - echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> $@ - -${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias} - sed -e '/^#pragma/b' \ - -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \ - -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - -${host_builddir}/gthr-single.h: ${toplevel_srcdir}/libgcc/gthr-single.h \ - stamp-${host_alias} - sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ - -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \ - < $< > $@ - -${host_builddir}/gthr-posix.h: ${toplevel_srcdir}/libgcc/gthr-posix.h \ - stamp-${host_alias} - sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ - -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \ - -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \ - < $< > $@ - -${host_builddir}/gthr-default.h: ${toplevel_srcdir}/libgcc/${thread_header} \ - stamp-${host_alias} - sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \ - -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \ - -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \ - -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \ - -e 's,^#include "\(.*\)",#include ,g' \ - < $< > $@ - -# Build two precompiled C++ includes, stdc++.h.gch/*.gch -${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source} - -mkdir -p ${pch1_output_builddir} - $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g -std=gnu++0x ${pch1_source} \ - -o $@ - -${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source} - -mkdir -p ${pch1_output_builddir} - $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@ - -# Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch -${pch2_output}: ${pch2_source} ${pch1_output} - -mkdir -p ${pch2_output_builddir} - $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@ - -# Build a precompiled extension include, extc++.h.gch/O2.gch -${pch3_output}: ${pch3_source} ${pch2_output} - -mkdir -p ${pch3_output_builddir} - $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@ - -# For robustness sake (in light of junk files or in-source -# configuration), copy from the build or source tree to the install -# tree using only the human-maintained file lists and directory -# components. Yes, with minor differences, this is sheer duplication -# of the staging rules above using $(INSTALL_DATA) instead of LN_S and -# `$(mkinstalldirs)' instead of `mkdir -p'. In particular, -# host_headers_extra are taken out of the build tree staging area; -# the rest are taken from the original source tree. - -install-data-local: install-headers -#install-data-local: install-freestanding-headers - -# This is a subset of the full install-headers rule. We only need , -# , , , , , , and any -# files which they include (and which we provide). The last three headers -# are installed by libsupc++, so only the first four and the sub-includes -# are copied here. -install-freestanding-headers: - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/bits - $(mkinstalldirs) $(DESTDIR)${host_installdir} - $(INSTALL_DATA) ${glibcxx_srcdir}/include/bits/c++0x_warning.h \ - $(DESTDIR)${gxx_include_dir}/bits - for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \ - ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \ - ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} - $(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir} - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} - for file in cstddef cstdlib cstdarg; do \ - $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done - -# The real deal. -install-headers: - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir} - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir} - for file in ${bits_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir} - for file in ${backward_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir} - for file in ${ext_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir} - for dir in ${pb_subdirs}; do \ - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done - for file in ${pb_headers1}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers2}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers3}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers4}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers5}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers6}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - for file in ${pb_headers7}; do \ - install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \ - relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\ - $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir} - for file in ${tr1_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr2_builddir} - for file in ${tr2_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr2_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${decimal_builddir} - for file in ${decimal_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${decimal_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} - for file in ${c_base_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done - c_base_headers_extra_install='$(c_base_headers_extra)';\ - for file in $$c_base_headers_extra_install; do \ - $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done - c_compatibility_headers_install='$(c_compatibility_headers_extra)';\ - for file in $$c_compatibility_headers_install; do \ - $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} - for file in ${std_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir} - for file in ${debug_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir} - for file in ${parallel_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${profile_builddir} - for file in ${profile_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${profile_builddir}; done - $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${profile_impl_builddir} - for file in ${profile_impl_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${profile_impl_builddir}; done - $(mkinstalldirs) $(DESTDIR)${host_installdir} - for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \ - ${thread_host_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done - $(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext - for file in ${ext_host_headers}; do \ - $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done - -# To remove directories. -clean-local: - rm -rf ${pch_output_dirs} - -# 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 -# directory. (This is more of an example of how this kind of rule can -# be made.) -.PRECIOUS: $(std_headers) $(c_base_headers) $(tr1_headers) $(tr2_headers) - $(decimal_headers) $(ext_headers) -$(std_headers): ; @: -$(c_base_headers): ; @: -$(tr1_headers): ; @: -$(decimal_headers): ; @: -$(ext_headers): ; @: - -# 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: -MULTISUBDIR = diff --git a/contrib/sdk/sources/libstdc++-v3/include/bits/atomic_base.h b/contrib/sdk/sources/libstdc++-v3/include/bits/atomic_base.h index 609fe8b062..db4d200ae5 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/bits/atomic_base.h +++ b/contrib/sdk/sources/libstdc++-v3/include/bits/atomic_base.h @@ -764,11 +764,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool is_lock_free() const noexcept - { return __atomic_is_lock_free(_M_type_size(1), nullptr); } + { return __atomic_is_lock_free(sizeof(__pointer_type), nullptr); } bool is_lock_free() const volatile noexcept - { return __atomic_is_lock_free(_M_type_size(1), nullptr); } + { return __atomic_is_lock_free(sizeof(__pointer_type), nullptr); } void store(__pointer_type __p, diff --git a/contrib/sdk/sources/libstdc++-v3/include/bits/shared_ptr_base.h b/contrib/sdk/sources/libstdc++-v3/include/bits/shared_ptr_base.h index 5b0be418b5..e661b6501e 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/bits/shared_ptr_base.h +++ b/contrib/sdk/sources/libstdc++-v3/include/bits/shared_ptr_base.h @@ -233,7 +233,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _M_add_ref_lock() { // Perform lock-free add-if-not-zero operation. - _Atomic_word __count = _M_use_count; + _Atomic_word __count = _M_get_use_count(); do { if (__count == 0) @@ -391,7 +391,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION public: template _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args) - : _M_impl(__a), _M_storage() + : _M_impl(__a) { _M_impl._M_ptr = static_cast<_Tp*>(static_cast(&_M_storage)); // _GLIBCXX_RESOLVE_LIB_DEFECTS @@ -819,7 +819,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION : _M_ptr(__r.get()), _M_refcount() { __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>) - auto __tmp = std::__addressof(*__r.get()); + auto __tmp = __r.get(); _M_refcount = __shared_count<_Lp>(std::move(__r)); __enable_shared_from_this_helper(_M_refcount, __tmp, __tmp); } diff --git a/contrib/sdk/sources/libstdc++-v3/include/bits/stl_algo.h b/contrib/sdk/sources/libstdc++-v3/include/bits/stl_algo.h index 35b5fa6fb5..3a33bf4038 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/bits/stl_algo.h +++ b/contrib/sdk/sources/libstdc++-v3/include/bits/stl_algo.h @@ -2279,7 +2279,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _RandomAccessIterator __last) { _RandomAccessIterator __mid = __first + (__last - __first) / 2; - std::__move_median_to_first(__first, __first + 1, __mid, (__last - 2)); + std::__move_median_to_first(__first, __first + 1, __mid, __last - 1); return std::__unguarded_partition(__first + 1, __last, *__first); } @@ -2291,7 +2291,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _RandomAccessIterator __last, _Compare __comp) { _RandomAccessIterator __mid = __first + (__last - __first) / 2; - std::__move_median_to_first(__first, __first + 1, __mid, (__last - 2), + std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, __comp); return std::__unguarded_partition(__first + 1, __last, *__first, __comp); } @@ -5193,7 +5193,12 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO if (__first != __last) for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) - std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1))); + { + _RandomAccessIterator __j = __first + + std::rand() % ((__i - __first) + 1); + if (__i != __j) + std::iter_swap(__i, __j); + } } /** @@ -5227,7 +5232,11 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO if (__first == __last) return; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) - std::iter_swap(__i, __first + __rand((__i - __first) + 1)); + { + _RandomAccessIterator __j = __first + __rand((__i - __first) + 1); + if (__i != __j) + std::iter_swap(__i, __j); + } } diff --git a/contrib/sdk/sources/libstdc++-v3/include/bits/stl_tree.h b/contrib/sdk/sources/libstdc++-v3/include/bits/stl_tree.h index 91bf4df451..a9bd3d6fe6 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/bits/stl_tree.h +++ b/contrib/sdk/sources/libstdc++-v3/include/bits/stl_tree.h @@ -510,11 +510,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Link_type _M_end() - { return static_cast<_Link_type>(&this->_M_impl._M_header); } + { return reinterpret_cast<_Link_type>(&this->_M_impl._M_header); } _Const_Link_type _M_end() const - { return static_cast<_Const_Link_type>(&this->_M_impl._M_header); } + { return reinterpret_cast<_Const_Link_type>(&this->_M_impl._M_header); } static const_reference _S_value(_Const_Link_type __x) diff --git a/contrib/sdk/sources/libstdc++-v3/include/bits/stl_vector.h b/contrib/sdk/sources/libstdc++-v3/include/bits/stl_vector.h index 69c6e278c0..14de461129 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/bits/stl_vector.h +++ b/contrib/sdk/sources/libstdc++-v3/include/bits/stl_vector.h @@ -1361,7 +1361,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER void _M_move_assign(vector&& __x, std::true_type) noexcept { - const vector __tmp(std::move(*this)); + vector __tmp(get_allocator()); + this->_M_impl._M_swap_data(__tmp._M_impl); this->_M_impl._M_swap_data(__x._M_impl); if (_Alloc_traits::_S_propagate_on_move_assign()) std::__alloc_on_move(_M_get_Tp_allocator(), diff --git a/contrib/sdk/sources/libstdc++-v3/include/cmath b/contrib/sdk/sources/libstdc++-v3/include/cmath index 8821d74f53..195308a2da 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/cmath +++ b/contrib/sdk/sources/libstdc++-v3/include/cmath @@ -113,7 +113,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type acos(_Tp __x) { return __builtin_acos(__x); } @@ -191,7 +191,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ceil(_Tp __x) { return __builtin_ceil(__x); } @@ -326,7 +326,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type frexp(_Tp __x, int* __exp) { return __builtin_frexp(__x, __exp); } @@ -345,7 +345,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ldexp(_Tp __x, int __exp) { return __builtin_ldexp(__x, __exp); } @@ -364,7 +364,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log(_Tp __x) { return __builtin_log(__x); } @@ -451,7 +451,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sin(_Tp __x) { return __builtin_sin(__x); } @@ -470,7 +470,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sinh(_Tp __x) { return __builtin_sinh(__x); } @@ -489,7 +489,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sqrt(_Tp __x) { return __builtin_sqrt(__x); } @@ -508,7 +508,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tan(_Tp __x) { return __builtin_tan(__x); } @@ -527,7 +527,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline _GLIBCXX_CONSTEXPR - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tanh(_Tp __x) { return __builtin_tanh(__x); } @@ -1188,7 +1188,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_acoshl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type acosh(_Tp __x) { return __builtin_acosh(__x); } @@ -1202,7 +1202,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_asinhl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type asinh(_Tp __x) { return __builtin_asinh(__x); } @@ -1216,7 +1216,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_atanhl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type atanh(_Tp __x) { return __builtin_atanh(__x); } @@ -1230,7 +1230,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_cbrtl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cbrt(_Tp __x) { return __builtin_cbrt(__x); } @@ -1260,7 +1260,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_erfl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type erf(_Tp __x) { return __builtin_erf(__x); } @@ -1274,7 +1274,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_erfcl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type erfc(_Tp __x) { return __builtin_erfc(__x); } @@ -1288,7 +1288,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_exp2l(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type exp2(_Tp __x) { return __builtin_exp2(__x); } @@ -1302,7 +1302,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_expm1l(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type expm1(_Tp __x) { return __builtin_expm1(__x); } @@ -1397,7 +1397,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template constexpr - typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, int>::__type ilogb(_Tp __x) { return __builtin_ilogb(__x); } @@ -1411,7 +1411,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_lgammal(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type lgamma(_Tp __x) { return __builtin_lgamma(__x); } @@ -1425,7 +1425,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_llrintl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long long>::__type llrint(_Tp __x) { return __builtin_llrint(__x); } @@ -1439,7 +1439,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_llroundl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long long>::__type llround(_Tp __x) { return __builtin_llround(__x); } @@ -1453,7 +1453,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_log1pl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log1p(_Tp __x) { return __builtin_log1p(__x); } @@ -1468,7 +1468,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_log2l(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log2(_Tp __x) { return __builtin_log2(__x); } @@ -1482,7 +1482,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_logbl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type logb(_Tp __x) { return __builtin_logb(__x); } @@ -1496,7 +1496,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_lrintl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long>::__type lrint(_Tp __x) { return __builtin_lrint(__x); } @@ -1510,7 +1510,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_lroundl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, long>::__type lround(_Tp __x) { return __builtin_lround(__x); } @@ -1524,7 +1524,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_nearbyintl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type nearbyint(_Tp __x) { return __builtin_nearbyint(__x); } @@ -1554,7 +1554,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_nexttowardl(__x, __y); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type nexttoward(_Tp __x, long double __y) { return __builtin_nexttoward(__x, __y); } @@ -1600,7 +1600,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_rintl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type rint(_Tp __x) { return __builtin_rint(__x); } @@ -1614,7 +1614,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_roundl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type round(_Tp __x) { return __builtin_round(__x); } @@ -1628,11 +1628,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_scalblnl(__x, __ex); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type scalbln(_Tp __x, long __ex) { return __builtin_scalbln(__x, __ex); } - + constexpr float scalbn(float __x, int __ex) { return __builtin_scalbnf(__x, __ex); } @@ -1642,7 +1642,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_scalbnl(__x, __ex); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type scalbn(_Tp __x, int __ex) { return __builtin_scalbn(__x, __ex); } @@ -1656,11 +1656,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_tgammal(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tgamma(_Tp __x) { return __builtin_tgamma(__x); } - + constexpr float trunc(float __x) { return __builtin_truncf(__x); } @@ -1670,7 +1670,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_truncl(__x); } template - constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, + constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type trunc(_Tp __x) { return __builtin_trunc(__x); } diff --git a/contrib/sdk/sources/libstdc++-v3/include/cstdio b/contrib/sdk/sources/libstdc++-v3/include/cstdio index fcbec0cf5b..e81e4b1d82 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/cstdio +++ b/contrib/sdk/sources/libstdc++-v3/include/cstdio @@ -69,6 +69,7 @@ extern "C" char* gets (char* __s) __attribute__((deprecated)); #undef ftell #undef fwrite #undef getc +#undef getchar #undef gets #undef perror #undef printf diff --git a/contrib/sdk/sources/libstdc++-v3/include/cxxabi.h b/contrib/sdk/sources/libstdc++-v3/include/cxxabi.h new file mode 100644 index 0000000000..f5301c05d1 --- /dev/null +++ b/contrib/sdk/sources/libstdc++-v3/include/cxxabi.h @@ -0,0 +1,700 @@ +// ABI Support -*- C++ -*- + +// Copyright (C) 2000-2013 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 3, 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. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +// Written by Nathan Sidwell, Codesourcery LLC, + +/* This file declares the new abi entry points into the runtime. It is not + normally necessary for user programs to include this header, or use the + entry points directly. However, this header is available should that be + needed. + + Some of the entry points are intended for both C and C++, thus this header + is includable from both C and C++. Though the C++ specific parts are not + available in C, naturally enough. */ + +/** @file cxxabi.h + * The header provides an interface to the C++ ABI. + */ + +#ifndef _CXXABI_H +#define _CXXABI_H 1 + +#pragma GCC system_header + +#pragma GCC visibility push(default) + +#include +#include +#include +#include + +#ifndef _GLIBCXX_CDTOR_CALLABI +#define _GLIBCXX_CDTOR_CALLABI +#endif + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + + typedef __cxa_cdtor_return_type (*__cxa_cdtor_type)(void *); + + // Allocate array. + void* + __cxa_vec_new(size_t __element_count, size_t __element_size, + size_t __padding_size, __cxa_cdtor_type __constructor, + __cxa_cdtor_type __destructor); + + void* + __cxa_vec_new2(size_t __element_count, size_t __element_size, + size_t __padding_size, __cxa_cdtor_type __constructor, + __cxa_cdtor_type __destructor, void *(*__alloc) (size_t), + void (*__dealloc) (void*)); + + void* + __cxa_vec_new3(size_t __element_count, size_t __element_size, + size_t __padding_size, __cxa_cdtor_type __constructor, + __cxa_cdtor_type __destructor, void *(*__alloc) (size_t), + void (*__dealloc) (void*, size_t)); + + // Construct array. + __cxa_vec_ctor_return_type + __cxa_vec_ctor(void* __array_address, size_t __element_count, + size_t __element_size, __cxa_cdtor_type __constructor, + __cxa_cdtor_type __destructor); + + __cxa_vec_ctor_return_type + __cxa_vec_cctor(void* __dest_array, void* __src_array, + size_t __element_count, size_t __element_size, + __cxa_cdtor_return_type (*__constructor) (void*, void*), + __cxa_cdtor_type __destructor); + + // Destruct array. + void + __cxa_vec_dtor(void* __array_address, size_t __element_count, + size_t __element_size, __cxa_cdtor_type __destructor); + + void + __cxa_vec_cleanup(void* __array_address, size_t __element_count, size_t __s, + __cxa_cdtor_type __destructor) _GLIBCXX_NOTHROW; + + // Destruct and release array. + void + __cxa_vec_delete(void* __array_address, size_t __element_size, + size_t __padding_size, __cxa_cdtor_type __destructor); + + void + __cxa_vec_delete2(void* __array_address, size_t __element_size, + size_t __padding_size, __cxa_cdtor_type __destructor, + void (*__dealloc) (void*)); + + void + __cxa_vec_delete3(void* __array_address, size_t __element_size, + size_t __padding_size, __cxa_cdtor_type __destructor, + void (*__dealloc) (void*, size_t)); + + int + __cxa_guard_acquire(__guard*); + + void + __cxa_guard_release(__guard*) _GLIBCXX_NOTHROW; + + void + __cxa_guard_abort(__guard*) _GLIBCXX_NOTHROW; + + // DSO destruction. + int + __cxa_atexit(void (*)(void*), void*, void*) _GLIBCXX_NOTHROW; + + int + __cxa_finalize(void*); + + // TLS destruction. + int + __cxa_thread_atexit(void (*)(void*), void*, void *) _GLIBCXX_NOTHROW; + + // Pure virtual functions. + void + __cxa_pure_virtual(void) __attribute__ ((__noreturn__)); + + void + __cxa_deleted_virtual(void) __attribute__ ((__noreturn__)); + + // Exception handling auxillary. + void + __cxa_bad_cast() __attribute__((__noreturn__)); + + void + __cxa_bad_typeid() __attribute__((__noreturn__)); + + + /** + * @brief Demangling routine. + * ABI-mandated entry point in the C++ runtime library for demangling. + * + * @param __mangled_name A NUL-terminated character string + * containing the name to be demangled. + * + * @param __output_buffer A region of memory, allocated with + * malloc, of @a *__length bytes, into which the demangled name is + * stored. If @a __output_buffer is not long enough, it is + * expanded using realloc. @a __output_buffer may instead be NULL; + * in that case, the demangled name is placed in a region of memory + * allocated with malloc. + * + * @param __length If @a __length is non-NULL, the length of the + * buffer containing the demangled name is placed in @a *__length. + * + * @param __status @a *__status is set to one of the following values: + * 0: The demangling operation succeeded. + * -1: A memory allocation failure occurred. + * -2: @a mangled_name is not a valid name under the C++ ABI mangling rules. + * -3: One of the arguments is invalid. + * + * @return A pointer to the start of the NUL-terminated demangled + * name, or NULL if the demangling fails. The caller is + * responsible for deallocating this memory using @c free. + * + * The demangling is performed using the C++ ABI mangling rules, + * with GNU extensions. For example, this function is used in + * __gnu_cxx::__verbose_terminate_handler. + * + * See http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch39.html + * for other examples of use. + * + * @note The same demangling functionality is available via + * libiberty (@c and @c libiberty.a) in GCC + * 3.1 and later, but that requires explicit installation (@c + * --enable-install-libiberty) and uses a different API, although + * the ABI is unchanged. + */ + char* + __cxa_demangle(const char* __mangled_name, char* __output_buffer, + size_t* __length, int* __status); + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#ifdef __cplusplus + +#include + +namespace __cxxabiv1 +{ + // Type information for int, float etc. + class __fundamental_type_info : public std::type_info + { + public: + explicit + __fundamental_type_info(const char* __n) : std::type_info(__n) { } + + virtual + ~__fundamental_type_info(); + }; + + // Type information for array objects. + class __array_type_info : public std::type_info + { + public: + explicit + __array_type_info(const char* __n) : std::type_info(__n) { } + + virtual + ~__array_type_info(); + }; + + // Type information for functions (both member and non-member). + class __function_type_info : public std::type_info + { + public: + explicit + __function_type_info(const char* __n) : std::type_info(__n) { } + + virtual + ~__function_type_info(); + + protected: + // Implementation defined member function. + virtual bool + __is_function_p() const; + }; + + // Type information for enumerations. + class __enum_type_info : public std::type_info + { + public: + explicit + __enum_type_info(const char* __n) : std::type_info(__n) { } + + virtual + ~__enum_type_info(); + }; + + // Common type information for simple pointers and pointers to member. + class __pbase_type_info : public std::type_info + { + public: + unsigned int __flags; // Qualification of the target object. + const std::type_info* __pointee; // Type of pointed to object. + + explicit + __pbase_type_info(const char* __n, int __quals, + const std::type_info* __type) + : std::type_info(__n), __flags(__quals), __pointee(__type) + { } + + virtual + ~__pbase_type_info(); + + // Implementation defined type. + enum __masks + { + __const_mask = 0x1, + __volatile_mask = 0x2, + __restrict_mask = 0x4, + __incomplete_mask = 0x8, + __incomplete_class_mask = 0x10 + }; + + protected: + __pbase_type_info(const __pbase_type_info&); + + __pbase_type_info& + operator=(const __pbase_type_info&); + + // Implementation defined member functions. + virtual bool + __do_catch(const std::type_info* __thr_type, void** __thr_obj, + unsigned int __outer) const; + + inline virtual bool + __pointer_catch(const __pbase_type_info* __thr_type, void** __thr_obj, + unsigned __outer) const; + }; + + // Type information for simple pointers. + class __pointer_type_info : public __pbase_type_info + { + public: + explicit + __pointer_type_info(const char* __n, int __quals, + const std::type_info* __type) + : __pbase_type_info (__n, __quals, __type) { } + + + virtual + ~__pointer_type_info(); + + protected: + // Implementation defined member functions. + virtual bool + __is_pointer_p() const; + + virtual bool + __pointer_catch(const __pbase_type_info* __thr_type, void** __thr_obj, + unsigned __outer) const; + }; + + class __class_type_info; + + // Type information for a pointer to member variable. + class __pointer_to_member_type_info : public __pbase_type_info + { + public: + __class_type_info* __context; // Class of the member. + + explicit + __pointer_to_member_type_info(const char* __n, int __quals, + const std::type_info* __type, + __class_type_info* __klass) + : __pbase_type_info(__n, __quals, __type), __context(__klass) { } + + virtual + ~__pointer_to_member_type_info(); + + protected: + __pointer_to_member_type_info(const __pointer_to_member_type_info&); + + __pointer_to_member_type_info& + operator=(const __pointer_to_member_type_info&); + + // Implementation defined member function. + virtual bool + __pointer_catch(const __pbase_type_info* __thr_type, void** __thr_obj, + unsigned __outer) const; + }; + + // Helper class for __vmi_class_type. + class __base_class_type_info + { + public: + const __class_type_info* __base_type; // Base class type. +#ifdef _GLIBCXX_LLP64 + long long __offset_flags; // Offset and info. +#else + long __offset_flags; // Offset and info. +#endif + + enum __offset_flags_masks + { + __virtual_mask = 0x1, + __public_mask = 0x2, + __hwm_bit = 2, + __offset_shift = 8 // Bits to shift offset. + }; + + // Implementation defined member functions. + bool + __is_virtual_p() const + { return __offset_flags & __virtual_mask; } + + bool + __is_public_p() const + { return __offset_flags & __public_mask; } + + ptrdiff_t + __offset() const + { + // This shift, being of a signed type, is implementation + // defined. GCC implements such shifts as arithmetic, which is + // what we want. + return static_cast(__offset_flags) >> __offset_shift; + } + }; + + // Type information for a class. + class __class_type_info : public std::type_info + { + public: + explicit + __class_type_info (const char *__n) : type_info(__n) { } + + virtual + ~__class_type_info (); + + // Implementation defined types. + // The type sub_kind tells us about how a base object is contained + // within a derived object. We often do this lazily, hence the + // UNKNOWN value. At other times we may use NOT_CONTAINED to mean + // not publicly contained. + enum __sub_kind + { + // We have no idea. + __unknown = 0, + + // Not contained within us (in some circumstances this might + // mean not contained publicly) + __not_contained, + + // Contained ambiguously. + __contained_ambig, + + // Via a virtual path. + __contained_virtual_mask = __base_class_type_info::__virtual_mask, + + // Via a public path. + __contained_public_mask = __base_class_type_info::__public_mask, + + // Contained within us. + __contained_mask = 1 << __base_class_type_info::__hwm_bit, + + __contained_private = __contained_mask, + __contained_public = __contained_mask | __contained_public_mask + }; + + struct __upcast_result; + struct __dyncast_result; + + protected: + // Implementation defined member functions. + virtual bool + __do_upcast(const __class_type_info* __dst_type, void**__obj_ptr) const; + + virtual bool + __do_catch(const type_info* __thr_type, void** __thr_obj, + unsigned __outer) const; + + public: + // Helper for upcast. See if DST is us, or one of our bases. + // Return false if not found, true if found. + virtual bool + __do_upcast(const __class_type_info* __dst, const void* __obj, + __upcast_result& __restrict __result) const; + + // Indicate whether SRC_PTR of type SRC_TYPE is contained publicly + // within OBJ_PTR. OBJ_PTR points to a base object of our type, + // which is the destination type. SRC2DST indicates how SRC + // objects might be contained within this type. If SRC_PTR is one + // of our SRC_TYPE bases, indicate the virtuality. Returns + // not_contained for non containment or private containment. + inline __sub_kind + __find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr, + const __class_type_info* __src_type, + const void* __src_ptr) const; + + // Helper for dynamic cast. ACCESS_PATH gives the access from the + // most derived object to this base. DST_TYPE indicates the + // desired type we want. OBJ_PTR points to a base of our type + // within the complete object. SRC_TYPE indicates the static type + // started from and SRC_PTR points to that base within the most + // derived object. Fill in RESULT with what we find. Return true + // if we have located an ambiguous match. + virtual bool + __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path, + const __class_type_info* __dst_type, const void* __obj_ptr, + const __class_type_info* __src_type, const void* __src_ptr, + __dyncast_result& __result) const; + + // Helper for find_public_subobj. SRC2DST indicates how SRC_TYPE + // bases are inherited by the type started from -- which is not + // necessarily the current type. The current type will be a base + // of the destination type. OBJ_PTR points to the current base. + virtual __sub_kind + __do_find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr, + const __class_type_info* __src_type, + const void* __src_ptr) const; + }; + + // Type information for a class with a single non-virtual base. + class __si_class_type_info : public __class_type_info + { + public: + const __class_type_info* __base_type; + + explicit + __si_class_type_info(const char *__n, const __class_type_info *__base) + : __class_type_info(__n), __base_type(__base) { } + + virtual + ~__si_class_type_info(); + + protected: + __si_class_type_info(const __si_class_type_info&); + + __si_class_type_info& + operator=(const __si_class_type_info&); + + // Implementation defined member functions. + virtual bool + __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path, + const __class_type_info* __dst_type, const void* __obj_ptr, + const __class_type_info* __src_type, const void* __src_ptr, + __dyncast_result& __result) const; + + virtual __sub_kind + __do_find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr, + const __class_type_info* __src_type, + const void* __sub_ptr) const; + + virtual bool + __do_upcast(const __class_type_info*__dst, const void*__obj, + __upcast_result& __restrict __result) const; + }; + + // Type information for a class with multiple and/or virtual bases. + class __vmi_class_type_info : public __class_type_info + { + public: + unsigned int __flags; // Details about the class hierarchy. + unsigned int __base_count; // Number of direct bases. + + // The array of bases uses the trailing array struct hack so this + // class is not constructable with a normal constructor. It is + // internally generated by the compiler. + __base_class_type_info __base_info[1]; // Array of bases. + + explicit + __vmi_class_type_info(const char* __n, int ___flags) + : __class_type_info(__n), __flags(___flags), __base_count(0) { } + + virtual + ~__vmi_class_type_info(); + + // Implementation defined types. + enum __flags_masks + { + __non_diamond_repeat_mask = 0x1, // Distinct instance of repeated base. + __diamond_shaped_mask = 0x2, // Diamond shaped multiple inheritance. + __flags_unknown_mask = 0x10 + }; + + protected: + // Implementation defined member functions. + virtual bool + __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path, + const __class_type_info* __dst_type, const void* __obj_ptr, + const __class_type_info* __src_type, const void* __src_ptr, + __dyncast_result& __result) const; + + virtual __sub_kind + __do_find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr, + const __class_type_info* __src_type, + const void* __src_ptr) const; + + virtual bool + __do_upcast(const __class_type_info* __dst, const void* __obj, + __upcast_result& __restrict __result) const; + }; + + // Exception handling forward declarations. + struct __cxa_exception; + struct __cxa_refcounted_exception; + struct __cxa_dependent_exception; + struct __cxa_eh_globals; + + extern "C" + { + // Dynamic cast runtime. + + // src2dst has the following possible values + // >-1: src_type is a unique public non-virtual base of dst_type + // dst_ptr + src2dst == src_ptr + // -1: unspecified relationship + // -2: src_type is not a public base of dst_type + // -3: src_type is a multiple public non-virtual base of dst_type + void* + __dynamic_cast(const void* __src_ptr, // Starting object. + const __class_type_info* __src_type, // Static type of object. + const __class_type_info* __dst_type, // Desired target type. + ptrdiff_t __src2dst); // How src and dst are related. + + + // Exception handling runtime. + + // The __cxa_eh_globals for the current thread can be obtained by using + // either of the following functions. The "fast" version assumes at least + // one prior call of __cxa_get_globals has been made from the current + // thread, so no initialization is necessary. + __cxa_eh_globals* + __cxa_get_globals() _GLIBCXX_NOTHROW __attribute__ ((__const__)); + + __cxa_eh_globals* + __cxa_get_globals_fast() _GLIBCXX_NOTHROW __attribute__ ((__const__)); + + // Allocate memory for the primary exception plus the thrown object. + void* + __cxa_allocate_exception(size_t) _GLIBCXX_NOTHROW; + + // Free the space allocated for the primary exception. + void + __cxa_free_exception(void*) _GLIBCXX_NOTHROW; + + // Throw the exception. + void + __cxa_throw(void*, std::type_info*, void (_GLIBCXX_CDTOR_CALLABI *) (void *)) + __attribute__((__noreturn__)); + + // Used to implement exception handlers. + void* + __cxa_get_exception_ptr(void*) _GLIBCXX_NOTHROW __attribute__ ((__pure__)); + + void* + __cxa_begin_catch(void*) _GLIBCXX_NOTHROW; + + void + __cxa_end_catch(); + + void + __cxa_rethrow() __attribute__((__noreturn__)); + + // Returns the type_info for the currently handled exception [15.3/8], or + // null if there is none. + std::type_info* + __cxa_current_exception_type() _GLIBCXX_NOTHROW __attribute__ ((__pure__)); + + // GNU Extensions. + + // Allocate memory for a dependent exception. + __cxa_dependent_exception* + __cxa_allocate_dependent_exception() _GLIBCXX_NOTHROW; + + // Free the space allocated for the dependent exception. + void + __cxa_free_dependent_exception(__cxa_dependent_exception*) _GLIBCXX_NOTHROW; + + } // extern "C" + + // A magic placeholder class that can be caught by reference + // to recognize foreign exceptions. + class __foreign_exception + { + virtual ~__foreign_exception() throw(); + virtual void __pure_dummy() = 0; // prevent catch by value + }; + +} // namespace __cxxabiv1 + +/** @namespace abi + * @brief The cross-vendor C++ Application Binary Interface. A + * namespace alias to __cxxabiv1, but user programs should use the + * alias 'abi'. + * + * A brief overview of an ABI is given in the libstdc++ FAQ, question + * 5.8 (you may have a copy of the FAQ locally, or you can view the online + * version at http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#5_8 ). + * + * GCC subscribes to a cross-vendor ABI for C++, sometimes + * called the IA64 ABI because it happens to be the native ABI for that + * platform. It is summarized at http://www.codesourcery.com/cxx-abi/ + * along with the current specification. + * + * For users of GCC greater than or equal to 3.x, entry points are + * available in , which notes, 'It is not normally + * necessary for user programs to include this header, or use the + * entry points directly. However, this header is available should + * that be needed.' +*/ +namespace abi = __cxxabiv1; + +namespace __gnu_cxx +{ + /** + * @brief Exception thrown by __cxa_guard_acquire. + * @ingroup exceptions + * + * 6.7[stmt.dcl]/4: If control re-enters the declaration (recursively) + * while the object is being initialized, the behavior is undefined. + * + * Since we already have a library function to handle locking, we might + * as well check for this situation and throw an exception. + * We use the second byte of the guard variable to remember that we're + * in the middle of an initialization. + */ + class recursive_init_error: public std::exception + { + public: + recursive_init_error() throw() { } + virtual ~recursive_init_error() throw (); + }; +} +#endif // __cplusplus + +#pragma GCC visibility pop + +#endif // __CXXABI_H diff --git a/contrib/sdk/sources/libstdc++-v3/include/debug/functions.h b/contrib/sdk/sources/libstdc++-v3/include/debug/functions.h index 3f16098185..d3a1223ccb 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/debug/functions.h +++ b/contrib/sdk/sources/libstdc++-v3/include/debug/functions.h @@ -345,11 +345,13 @@ namespace __gnu_debug return __check_sorted_set_aux(__first, __last, __pred, _SameType()); } + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 270. Binary search requirements overly strict + // Determine if a sequence is partitioned w.r.t. this element. template inline bool - __check_partitioned_lower_aux(_ForwardIterator __first, - _ForwardIterator __last, const _Tp& __value, - std::forward_iterator_tag) + __check_partitioned_lower(_ForwardIterator __first, + _ForwardIterator __last, const _Tp& __value) { while (__first != __last && *__first < __value) ++__first; @@ -362,37 +364,10 @@ namespace __gnu_debug return __first == __last; } - // For performance reason, as the iterator range has been validated, check on - // random access safe iterators is done using the base iterator. - template - inline bool - __check_partitioned_lower_aux( - const _Safe_iterator<_Iterator, _Sequence>& __first, - const _Safe_iterator<_Iterator, _Sequence>& __last, - const _Tp& __value, - std::random_access_iterator_tag __tag) - { - return __check_partitioned_lower_aux(__first.base(), __last.base(), - __value, __tag); - } - - // _GLIBCXX_RESOLVE_LIB_DEFECTS - // 270. Binary search requirements overly strict - // Determine if a sequence is partitioned w.r.t. this element. template inline bool - __check_partitioned_lower(_ForwardIterator __first, + __check_partitioned_upper(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) - { - return __check_partitioned_lower_aux(__first, __last, __value, - std::__iterator_category(__first)); - } - - template - inline bool - __check_partitioned_upper_aux(_ForwardIterator __first, - _ForwardIterator __last, const _Tp& __value, - std::forward_iterator_tag) { while (__first != __last && !(__value < *__first)) ++__first; @@ -405,35 +380,12 @@ namespace __gnu_debug return __first == __last; } - // For performance reason, as the iterator range has been validated, check on - // random access safe iterators is done using the base iterator. - template - inline bool - __check_partitioned_upper_aux( - const _Safe_iterator<_Iterator, _Sequence>& __first, - const _Safe_iterator<_Iterator, _Sequence>& __last, - const _Tp& __value, - std::random_access_iterator_tag __tag) - { - return __check_partitioned_upper_aux(__first.base(), __last.base(), - __value, __tag); - } - - template - inline bool - __check_partitioned_upper(_ForwardIterator __first, - _ForwardIterator __last, const _Tp& __value) - { - return __check_partitioned_upper_aux(__first, __last, __value, - std::__iterator_category(__first)); - } - + // Determine if a sequence is partitioned w.r.t. this element. template inline bool - __check_partitioned_lower_aux(_ForwardIterator __first, - _ForwardIterator __last, const _Tp& __value, - _Pred __pred, - std::forward_iterator_tag) + __check_partitioned_lower(_ForwardIterator __first, + _ForwardIterator __last, const _Tp& __value, + _Pred __pred) { while (__first != __last && bool(__pred(*__first, __value))) ++__first; @@ -446,38 +398,11 @@ namespace __gnu_debug return __first == __last; } - // For performance reason, as the iterator range has been validated, check on - // random access safe iterators is done using the base iterator. - template - inline bool - __check_partitioned_lower_aux( - const _Safe_iterator<_Iterator, _Sequence>& __first, - const _Safe_iterator<_Iterator, _Sequence>& __last, - const _Tp& __value, _Pred __pred, - std::random_access_iterator_tag __tag) - { - return __check_partitioned_lower_aux(__first.base(), __last.base(), - __value, __pred, __tag); - } - - // Determine if a sequence is partitioned w.r.t. this element. template inline bool - __check_partitioned_lower(_ForwardIterator __first, + __check_partitioned_upper(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value, _Pred __pred) - { - return __check_partitioned_lower_aux(__first, __last, __value, __pred, - std::__iterator_category(__first)); - } - - template - inline bool - __check_partitioned_upper_aux(_ForwardIterator __first, - _ForwardIterator __last, const _Tp& __value, - _Pred __pred, - std::forward_iterator_tag) { while (__first != __last && !bool(__pred(__value, *__first))) ++__first; @@ -490,31 +415,6 @@ namespace __gnu_debug return __first == __last; } - // For performance reason, as the iterator range has been validated, check on - // random access safe iterators is done using the base iterator. - template - inline bool - __check_partitioned_upper_aux( - const _Safe_iterator<_Iterator, _Sequence>& __first, - const _Safe_iterator<_Iterator, _Sequence>& __last, - const _Tp& __value, _Pred __pred, - std::random_access_iterator_tag __tag) - { - return __check_partitioned_upper_aux(__first.base(), __last.base(), - __value, __pred, __tag); - } - - template - inline bool - __check_partitioned_upper(_ForwardIterator __first, - _ForwardIterator __last, const _Tp& __value, - _Pred __pred) - { - return __check_partitioned_upper_aux(__first, __last, __value, __pred, - std::__iterator_category(__first)); - } - // Helper struct to detect random access safe iterators. template struct __is_safe_random_iterator diff --git a/contrib/sdk/sources/libstdc++-v3/include/debug/macros.h b/contrib/sdk/sources/libstdc++-v3/include/debug/macros.h index 26732c9e3e..31bcaf3618 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/debug/macros.h +++ b/contrib/sdk/sources/libstdc++-v3/include/debug/macros.h @@ -261,8 +261,9 @@ _GLIBCXX_DEBUG_VERIFY( \ w.r.t. the value _Value. */ #define __glibcxx_check_partitioned_lower(_First,_Last,_Value) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(_First, _Last, \ - _Value), \ +_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower( \ + __gnu_debug::__base(_First), \ + __gnu_debug::__base(_Last), _Value), \ _M_message(__gnu_debug::__msg_unpartitioned) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ @@ -270,8 +271,9 @@ _GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(_First, _Last, \ #define __glibcxx_check_partitioned_upper(_First,_Last,_Value) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(_First, _Last, \ - _Value), \ +_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper( \ + __gnu_debug::__base(_First), \ + __gnu_debug::__base(_Last), _Value), \ _M_message(__gnu_debug::__msg_unpartitioned) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ @@ -281,8 +283,9 @@ _GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(_First, _Last, \ w.r.t. the value _Value and predicate _Pred. */ #define __glibcxx_check_partitioned_lower_pred(_First,_Last,_Value,_Pred) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(_First, _Last, \ - _Value, _Pred), \ +_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower( \ + __gnu_debug::__base(_First), \ + __gnu_debug::__base(_Last), _Value, _Pred), \ _M_message(__gnu_debug::__msg_unpartitioned_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ @@ -293,8 +296,9 @@ _GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_lower(_First, _Last, \ w.r.t. the value _Value and predicate _Pred. */ #define __glibcxx_check_partitioned_upper_pred(_First,_Last,_Value,_Pred) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(_First, _Last, \ - _Value, _Pred), \ +_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper( \ + __gnu_debug::__base(_First), \ + __gnu_debug::__base(_Last), _Value, _Pred), \ _M_message(__gnu_debug::__msg_unpartitioned_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ diff --git a/contrib/sdk/sources/libstdc++-v3/include/debug/safe_unordered_base.h b/contrib/sdk/sources/libstdc++-v3/include/debug/safe_unordered_base.h index 23026cb43b..35ce08b1ff 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/debug/safe_unordered_base.h +++ b/contrib/sdk/sources/libstdc++-v3/include/debug/safe_unordered_base.h @@ -133,9 +133,19 @@ namespace __gnu_debug protected: // Initialize with a version number of 1 and no iterators _Safe_unordered_container_base() - : _M_local_iterators(0), _M_const_local_iterators(0) + : _M_local_iterators(nullptr), _M_const_local_iterators(nullptr) { } + // Initialize with a version number of 1 and no iterators + _Safe_unordered_container_base(const _Safe_unordered_container_base&) + noexcept + : _Safe_unordered_container_base() { } + + _Safe_unordered_container_base(_Safe_unordered_container_base&& __x) + noexcept + : _Safe_unordered_container_base() + { this->_M_swap(__x); } + /** Notify all iterators that reference this container that the container is being destroyed. */ ~_Safe_unordered_container_base() diff --git a/contrib/sdk/sources/libstdc++-v3/include/exception b/contrib/sdk/sources/libstdc++-v3/include/exception new file mode 100644 index 0000000000..f30cda99f7 --- /dev/null +++ b/contrib/sdk/sources/libstdc++-v3/include/exception @@ -0,0 +1,156 @@ +// Exception Handling support header for -*- C++ -*- + +// Copyright (C) 1995-2013 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 3, 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. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file exception + * This is a Standard C++ Library header. + */ + +#ifndef __EXCEPTION__ +#define __EXCEPTION__ + +#pragma GCC system_header + +#pragma GCC visibility push(default) + +#include +#include + +extern "C++" { + +namespace std +{ + /** + * @defgroup exceptions Exceptions + * @ingroup diagnostics + * + * Classes and functions for reporting errors via exception classes. + * @{ + */ + + /** + * @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). + */ + class exception + { + public: + exception() _GLIBCXX_USE_NOEXCEPT { } + virtual ~exception() _GLIBCXX_USE_NOEXCEPT; + + /** Returns a C-style character string describing the general cause + * of the current error. */ + virtual const char* what() const _GLIBCXX_USE_NOEXCEPT; + }; + + /** If an %exception is thrown which is not listed in a function's + * %exception specification, one of these may be thrown. */ + class bad_exception : public exception + { + public: + bad_exception() _GLIBCXX_USE_NOEXCEPT { } + + // This declaration is not useless: + // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + virtual ~bad_exception() _GLIBCXX_USE_NOEXCEPT; + + // See comment in eh_exception.cc. + virtual const char* what() const _GLIBCXX_USE_NOEXCEPT; + }; + + /// If you write a replacement %terminate handler, it must be of this type. + typedef void (*terminate_handler) (); + + /// If you write a replacement %unexpected handler, it must be of this type. + typedef void (*unexpected_handler) (); + + /// Takes a new handler function as an argument, returns the old function. + terminate_handler set_terminate(terminate_handler) _GLIBCXX_USE_NOEXCEPT; + + /** The runtime will call this function if %exception handling must be + * abandoned for any reason. It can also be called by the user. */ + void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__)); + + /// Takes a new handler function as an argument, returns the old function. + unexpected_handler set_unexpected(unexpected_handler) _GLIBCXX_USE_NOEXCEPT; + + /** The runtime will call this function if an %exception is thrown which + * violates the function's %exception specification. */ + void unexpected() __attribute__ ((__noreturn__)); + + /** [18.6.4]/1: 'Returns true after completing evaluation of a + * throw-expression until either completing initialization of the + * exception-declaration in the matching handler or entering @c unexpected() + * due to the throw; or after entering @c terminate() for any reason + * other than an explicit call to @c terminate(). [Note: This includes + * stack unwinding [15.2]. end note]' + * + * 2: 'When @c uncaught_exception() is true, throwing an + * %exception can result in a call of @c terminate() + * (15.5.1).' + */ + bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__)); + + // @} group exceptions +} // namespace std + +namespace __gnu_cxx +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + /** + * @brief A replacement for the standard terminate_handler which + * prints more information about the terminating exception (if any) + * on stderr. + * + * @ingroup exceptions + * + * Call + * @code + * std::set_terminate(__gnu_cxx::__verbose_terminate_handler) + * @endcode + * to use. For more info, see + * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt02ch06s02.html + * + * In 3.4 and later, this is on by default. + */ + void __verbose_terminate_handler(); + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace + +} // extern "C++" + +#pragma GCC visibility pop + +#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1) +#include +#include +#endif + +#endif diff --git a/contrib/sdk/sources/libstdc++-v3/include/ext/rope b/contrib/sdk/sources/libstdc++-v3/include/ext/rope index 38eb1e83a3..75c8fc2cb2 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/ext/rope +++ b/contrib/sdk/sources/libstdc++-v3/include/ext/rope @@ -1544,7 +1544,7 @@ protected: typedef typename _Base::allocator_type allocator_type; using _Base::_M_tree_ptr; using _Base::get_allocator; - using _Base::_M_get_allocator; + using _Base::_M_get_allocator; typedef __GC_CONST _CharT* _Cstrptr; static _CharT _S_empty_c_str[1]; @@ -1876,8 +1876,9 @@ protected: const allocator_type& __a = allocator_type()) : _Base(__a) { - this->_M_tree_ptr = (0 == __len) ? - 0 : _S_new_RopeFunction(__fn, __len, __delete_fn, __a); + this->_M_tree_ptr = (0 == __len) + ? 0 + : _S_new_RopeFunction(__fn, __len, __delete_fn, _M_get_allocator()); } rope(const rope& __x, const allocator_type& __a = allocator_type()) diff --git a/contrib/sdk/sources/libstdc++-v3/include/functional b/contrib/sdk/sources/libstdc++-v3/include/functional index 64b6dae040..bc24a40295 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/functional +++ b/contrib/sdk/sources/libstdc++-v3/include/functional @@ -2181,8 +2181,15 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type) using _Invoke = decltype(__callable_functor(std::declval<_Functor&>()) (std::declval<_ArgTypes>()...) ); + // Used so the return type convertibility checks aren't done when + // performing overload resolution for copy construction/assignment. + template + using _NotSelf = __not_>; + template - using _Callable = __check_func_return_type<_Invoke<_Functor>, _Res>; + using _Callable + = __and_<_NotSelf<_Functor>, + __check_func_return_type<_Invoke<_Functor>, _Res>>; template using _Requires = typename enable_if<_Cond::value, _Tp>::type; @@ -2323,7 +2330,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type) * reference_wrapper, this function will not throw. */ template - _Requires<_Callable<_Functor>, function&> + _Requires<_Callable::type>, function&> operator=(_Functor&& __f) { function(std::forward<_Functor>(__f)).swap(*this); @@ -2432,9 +2439,9 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type) { if (static_cast(__x)) { + __x._M_manager(_M_functor, __x._M_functor, __clone_functor); _M_invoker = __x._M_invoker; _M_manager = __x._M_manager; - __x._M_manager(_M_functor, __x._M_functor, __clone_functor); } } diff --git a/contrib/sdk/sources/libstdc++-v3/include/future b/contrib/sdk/sources/libstdc++-v3/include/future index 30100fe05e..26df9949de 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/future +++ b/contrib/sdk/sources/libstdc++-v3/include/future @@ -351,12 +351,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void _M_set_result(function<_Ptr_type()> __res, bool __ignore_failure = false) { - bool __set = __ignore_failure; + bool __set = false; // all calls to this function are serialized, // side-effects of invoking __res only happen once call_once(_M_once, &_State_base::_M_do_set, this, ref(__res), ref(__set)); - if (!__set) + if (__set) + _M_cond.notify_all(); + else if (!__ignore_failure) __throw_future_error(int(future_errc::promise_already_satisfied)); } @@ -471,7 +473,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION lock_guard __lock(_M_mutex); _M_result.swap(__res); } - _M_cond.notify_all(); __set = true; } @@ -983,22 +984,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void set_value(const _Res& __r) { + auto __future = _M_future; auto __setter = _State::__setter(this, __r); - _M_future->_M_set_result(std::move(__setter)); + __future->_M_set_result(std::move(__setter)); } void set_value(_Res&& __r) { + auto __future = _M_future; auto __setter = _State::__setter(this, std::move(__r)); - _M_future->_M_set_result(std::move(__setter)); + __future->_M_set_result(std::move(__setter)); } void set_exception(exception_ptr __p) { + auto __future = _M_future; auto __setter = _State::__setter(__p, this); - _M_future->_M_set_result(std::move(__setter)); + __future->_M_set_result(std::move(__setter)); } }; @@ -1081,15 +1085,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void set_value(_Res& __r) { + auto __future = _M_future; auto __setter = _State::__setter(this, __r); - _M_future->_M_set_result(std::move(__setter)); + __future->_M_set_result(std::move(__setter)); } void set_exception(exception_ptr __p) { + auto __future = _M_future; auto __setter = _State::__setter(__p, this); - _M_future->_M_set_result(std::move(__setter)); + __future->_M_set_result(std::move(__setter)); } }; @@ -1166,8 +1172,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION void set_exception(exception_ptr __p) { + auto __future = _M_future; auto __setter = _State::__setter(__p, this); - _M_future->_M_set_result(std::move(__setter)); + __future->_M_set_result(std::move(__setter)); } }; @@ -1193,8 +1200,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline void promise::set_value() { + auto __future = _M_future; auto __setter = _State::__setter(this); - _M_future->_M_set_result(std::move(__setter)); + __future->_M_set_result(std::move(__setter)); } @@ -1261,9 +1269,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __future_base::_Task_state<_Fn, _Alloc, _Res(_Args...)> final : __future_base::_Task_state_base<_Res(_Args...)> { - _Task_state(_Fn&& __fn, const _Alloc& __a) - : _Task_state_base<_Res(_Args...)>(__a), _M_impl(std::move(__fn), __a) - { } + template + _Task_state(_Fn2&& __fn, const _Alloc& __a) + : _Task_state_base<_Res(_Args...)>(__a), + _M_impl(std::forward<_Fn2>(__fn), __a) + { } private: virtual void @@ -1292,19 +1302,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Impl : _Alloc { - _Impl(_Fn&& __fn, const _Alloc& __a) - : _Alloc(__a), _M_fn(std::move(__fn)) { } + template + _Impl(_Fn2&& __fn, const _Alloc& __a) + : _Alloc(__a), _M_fn(std::forward<_Fn2>(__fn)) { } _Fn _M_fn; } _M_impl; }; - template - static shared_ptr<__future_base::_Task_state_base<_Signature>> - __create_task_state(_Fn&& __fn, const _Alloc& __a) - { - typedef __future_base::_Task_state<_Fn, _Alloc, _Signature> _State; - return std::allocate_shared<_State>(__a, std::move(__fn), __a); - } + template + static shared_ptr<__future_base::_Task_state_base<_Signature>> + __create_task_state(_Fn&& __fn, const _Alloc& __a) + { + typedef typename decay<_Fn>::type _Fn2; + typedef __future_base::_Task_state<_Fn2, _Alloc, _Signature> _State; + return std::allocate_shared<_State>(__a, std::forward<_Fn>(__fn), __a); + } template shared_ptr<__future_base::_Task_state_base<_Res(_Args...)>> @@ -1344,7 +1356,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __constrain_pkgdtask::__type> explicit packaged_task(_Fn&& __fn) - : packaged_task(allocator_arg, std::allocator(), std::move(__fn)) + : packaged_task(allocator_arg, std::allocator(), + std::forward<_Fn>(__fn)) { } // _GLIBCXX_RESOLVE_LIB_DEFECTS @@ -1404,7 +1417,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION operator()(_ArgTypes... __args) { __future_base::_State_base::_S_check(_M_state); - _M_state->_M_run(std::forward<_ArgTypes>(__args)...); + auto __state = _M_state; + __state->_M_run(std::forward<_ArgTypes>(__args)...); } void diff --git a/contrib/sdk/sources/libstdc++-v3/include/gstdint.h b/contrib/sdk/sources/libstdc++-v3/include/gstdint.h index ca1d1c26c7..5b5f36fd93 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/gstdint.h +++ b/contrib/sdk/sources/libstdc++-v3/include/gstdint.h @@ -1,4 +1,4 @@ -/* generated for xgcc.exe (GCC) 4.8.2 */ +/* generated for xgcc.exe (GCC) 4.8.5 */ #ifndef GCC_GENERATED_STDINT_H #define GCC_GENERATED_STDINT_H 1 diff --git a/contrib/sdk/sources/libstdc++-v3/include/initializer_list b/contrib/sdk/sources/libstdc++-v3/include/initializer_list new file mode 100644 index 0000000000..f99298b606 --- /dev/null +++ b/contrib/sdk/sources/libstdc++-v3/include/initializer_list @@ -0,0 +1,107 @@ +// std::initializer_list support -*- C++ -*- + +// Copyright (C) 2008-2013 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 3, 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. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file initializer_list + * This is a Standard C++ Library header. + */ + +#ifndef _INITIALIZER_LIST +#define _INITIALIZER_LIST + +#pragma GCC system_header + +#if __cplusplus < 201103L +# include +#else // C++0x + +#pragma GCC visibility push(default) + +#include + +namespace std +{ + /// initializer_list + template + class initializer_list + { + public: + typedef _E value_type; + typedef const _E& reference; + typedef const _E& const_reference; + typedef size_t size_type; + typedef const _E* iterator; + typedef const _E* const_iterator; + + private: + iterator _M_array; + size_type _M_len; + + // The compiler can call a private constructor. + constexpr initializer_list(const_iterator __a, size_type __l) + : _M_array(__a), _M_len(__l) { } + + public: + constexpr initializer_list() noexcept + : _M_array(0), _M_len(0) { } + + // Number of elements. + constexpr size_type + size() const noexcept { return _M_len; } + + // First element. + constexpr const_iterator + begin() const noexcept { return _M_array; } + + // One past the last element. + constexpr const_iterator + end() const noexcept { return begin() + size(); } + }; + + /** + * @brief Return an iterator pointing to the first element of + * the initilizer_list. + * @param __ils Initializer list. + */ + template + constexpr const _Tp* + begin(initializer_list<_Tp> __ils) noexcept + { return __ils.begin(); } + + /** + * @brief Return an iterator pointing to one past the last element + * of the initilizer_list. + * @param __ils Initializer list. + */ + template + constexpr const _Tp* + end(initializer_list<_Tp> __ils) noexcept + { return __ils.end(); } +} + +#pragma GCC visibility pop + +#endif // C++11 + +#endif // _INITIALIZER_LIST diff --git a/contrib/sdk/sources/libstdc++-v3/include/iostream b/contrib/sdk/sources/libstdc++-v3/include/iostream index 7864749a7f..0c3019e078 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/iostream +++ b/contrib/sdk/sources/libstdc++-v3/include/iostream @@ -48,13 +48,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * * The <iostream> header declares the eight standard stream * objects. For other declarations, see - * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch24.html + * http://gcc.gnu.org/onlinedocs/libstdc++/manual/io.html * and the @link 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. + * startup and termination. For more information, see the section of the + * manual linked to above. */ //@{ extern istream cin; /// Linked to standard input diff --git a/contrib/sdk/sources/libstdc++-v3/include/istream b/contrib/sdk/sources/libstdc++-v3/include/istream index 861bca53ad..6e72c94e06 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/istream +++ b/contrib/sdk/sources/libstdc++-v3/include/istream @@ -870,7 +870,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) - { return (__is >> __x); } + { + __is >> __x; + return __is; + } #endif // C++11 _GLIBCXX_END_NAMESPACE_VERSION diff --git a/contrib/sdk/sources/libstdc++-v3/include/mem b/contrib/sdk/sources/libstdc++-v3/include/mem deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++config.h b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++config.h index db92fe28fb..33c2a14ce6 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++config.h +++ b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++config.h @@ -31,7 +31,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20131016 +#define __GLIBCXX__ 20150623 // Macros for various attributes. // _GLIBCXX_PURE @@ -162,7 +162,7 @@ } namespace tr2 { } - + namespace decimal { } namespace chrono { } @@ -193,7 +193,7 @@ namespace std // Defined if inline namespaces are used for versioning. -# define _GLIBCXX_INLINE_VERSION 0 +# define _GLIBCXX_INLINE_VERSION 0 // Inline namespace for symbol versioning. #if _GLIBCXX_INLINE_VERSION @@ -599,7 +599,7 @@ namespace std #define _GLIBCXX_HAVE_FABSL 1 /* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_FENV_H 1 +/* #undef _GLIBCXX_HAVE_FENV_H */ /* Define to 1 if you have the `finite' function. */ #define _GLIBCXX_HAVE_FINITE 1 @@ -653,7 +653,7 @@ namespace std #define _GLIBCXX_HAVE_HYPOTL 1 /* Define if you have the iconv() function. */ -/* #undef _GLIBCXX_HAVE_ICONV */ +#define _GLIBCXX_HAVE_ICONV 1 /* Define to 1 if you have the header file. */ /* #undef _GLIBCXX_HAVE_IEEEFP_H */ @@ -737,10 +737,10 @@ namespace std #define _GLIBCXX_HAVE_LOGL 1 /* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 +/* #undef _GLIBCXX_HAVE_MACHINE_ENDIAN_H */ /* Define to 1 if you have the header file. */ -#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 +/* #undef _GLIBCXX_HAVE_MACHINE_PARAM_H */ /* Define if mbstate_t exists in wchar.h. */ #define _GLIBCXX_HAVE_MBSTATE_T 1 @@ -824,7 +824,7 @@ namespace std /* #undef _GLIBCXX_HAVE_STRERROR_L */ /* Define if strerror_r is available in . */ -/* #undef _GLIBCXX_HAVE_STRERROR_R */ +#define _GLIBCXX_HAVE_STRERROR_R 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_STRINGS_H 1 @@ -836,7 +836,7 @@ namespace std #define _GLIBCXX_HAVE_STRTOF 1 /* Define to 1 if you have the `strtold' function. */ -//#define _GLIBCXX_HAVE_STRTOLD 1 +#define _GLIBCXX_HAVE_STRTOLD 1 /* Define if strxfrm_l is available in . */ /* #undef _GLIBCXX_HAVE_STRXFRM_L */ @@ -909,7 +909,7 @@ namespace std /* #undef _GLIBCXX_HAVE_TGMATH_H */ /* Define to 1 if the target supports thread-local storage. */ -/* #undef _GLIBCXX_HAVE_TLS */ +#define _GLIBCXX_HAVE_TLS 1 /* Define to 1 if you have the header file. */ #define _GLIBCXX_HAVE_UNISTD_H 1 @@ -1131,7 +1131,7 @@ namespace std /* #undef _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL */ /* Define as const if the declaration of iconv() needs const. */ -/* #undef _GLIBCXX_ICONV_CONST */ +#define _GLIBCXX_ICONV_CONST /* Define to the sub-directory in which libtool stores uninstalled libraries. */ @@ -1292,7 +1292,7 @@ namespace std #define _GLIBCXX_USE_FLOAT128 1 /* Defined if gettimeofday is available. */ -#define _GLIBCXX_USE_GETTIMEOFDAY 1 +/* #undef _GLIBCXX_USE_GETTIMEOFDAY */ /* Define if get_nprocs is available in . */ /* #undef _GLIBCXX_USE_GET_NPROCS */ @@ -1332,7 +1332,7 @@ namespace std /* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */ /* Define if code specialized for wchar_t should be used. */ -//#define _GLIBCXX_USE_WCHAR_T 1 +#define _GLIBCXX_USE_WCHAR_T 1 /* Define to 1 if a verbose library is built, or 0 otherwise. */ #define _GLIBCXX_VERBOSE 1 diff --git a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++locale_internal.h b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++locale_internal.h deleted file mode 100644 index 2cec2f8269..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/c++locale_internal.h +++ /dev/null @@ -1,25 +0,0 @@ -// Locale internal implementation header -*- C++ -*- - -// Copyright (C) 2002-2013 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 3, 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. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -// The generic locale code doesn't need to do anything here (yet) diff --git a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/compatibility.h b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/compatibility.h deleted file mode 100644 index b9c441fbdb..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/compatibility.h +++ /dev/null @@ -1,213 +0,0 @@ -// Compatibility symbols for previous versions -*- C++ -*- - -// Copyright (C) 2005-2013 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 3, 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. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -/** @file bits/compatibility.h - * This is an internal header file, included by other library sources. - * You should not attempt to use it directly. - */ - -// Switch for symbol version macro. -#ifndef _GLIBCXX_APPLY_SYMVER -#error must define _GLIBCXX_APPLY_SYMVER before including __FILE__ -#endif - -/* gcc-3.4.4 -_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv -_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv - */ -namespace -{ -_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIcSt11char_traitsIcEEppEv, - _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv) - -#ifdef _GLIBCXX_USE_WCHAR_T -_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIwSt11char_traitsIwEEppEv, - _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv) -#endif -} // anonymous namespace - -/* gcc-4.0.0 -_ZNSs4_Rep26_M_set_length_and_sharableEj -_ZNSs7_M_copyEPcPKcj -_ZNSs7_M_moveEPcPKcj -_ZNSs9_M_assignEPcjc -_ZNKSs11_M_disjunctEPKc -_ZNKSs15_M_check_lengthEjjPKc -_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj -_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj -_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj -_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw -_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw -_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc - -_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv -_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv -_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv -_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv -_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv -_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv - -_ZNSi6ignoreEi -_ZNSi6ignoreEv -_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi -_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv - -_ZNSt11char_traitsIcE2eqERKcS2_ -_ZNSt11char_traitsIwE2eqERKwS2_ - */ -namespace -{ -_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIcE4eqXXERKcS2_, - _ZNSt11char_traitsIcE2eqERKcS2_) - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcj, - _ZNSs7_M_copyEPcPKcj) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcm, - _ZNSs7_M_copyEPcPKcm) -#endif - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcj, - _ZNSs7_M_moveEPcPKcj) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcm, - _ZNSs7_M_moveEPcPKcm) -#endif - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcjc, - _ZNSs9_M_assignEPcjc) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcmc, - _ZNSs9_M_assignEPcmc) -#endif - -_GLIBCXX_APPLY_SYMVER(_ZNKSs13_M_disjunctXXEPKc, - _ZNKSs11_M_disjunctEPKc) - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEjjPKc, - _ZNKSs15_M_check_lengthEjjPKc) -#else -_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEmmPKc, - _ZNKSs15_M_check_lengthEmmPKc) -#endif - -#ifdef _GLIBCXX_SIZE_T_IS_UINT - _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEj, - _ZNSs4_Rep26_M_set_length_and_sharableEj) -#else - _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEm, - _ZNSs4_Rep26_M_set_length_and_sharableEm) -#endif - -_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEv, _ZNSi6ignoreEv) - -#ifdef _GLIBCXX_PTRDIFF_T_IS_INT -_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEi, _ZNSi6ignoreEi) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEl, _ZNSi6ignoreEl) -#endif - -_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIcSt11char_traitsIcEE7is_openEv, - _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv) - -_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIcSt11char_traitsIcEE7is_openEv, - _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv) - -_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIcSt11char_traitsIcEE7is_openEv, - _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv) - - // Support for wchar_t. -#ifdef _GLIBCXX_USE_WCHAR_T -_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIwE4eqXXERKwS2_, - _ZNSt11char_traitsIwE2eqERKwS2_) - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwj, - _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj) -#else - _GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwm, - _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm) -#endif - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwj, - _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwm, - _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm) -#endif - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwjw, - _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwmw, - _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw) -#endif - -_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE13_M_disjunctXXEPKw, - _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw) - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEjjPKc, - _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc) -#else -_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEmmPKc, - _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc) -#endif - -#ifdef _GLIBCXX_SIZE_T_IS_UINT -_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEj, - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEm, - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm) -#endif - -_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEv, - _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv) - -#ifdef _GLIBCXX_PTRDIFF_T_IS_INT -_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEi, - _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi) -#else -_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl, - _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl) -#endif - -_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIwSt11char_traitsIwEE7is_openEv, - _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv) - -_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIwSt11char_traitsIwEE7is_openEv, - _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv) - -_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIwSt11char_traitsIwEE7is_openEv, - _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv) -#endif - } // anonymous namespace - diff --git a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/opt_random.h b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/opt_random.h index 76c91556bb..fe67b5045d 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/opt_random.h +++ b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/opt_random.h @@ -1,4 +1,4 @@ -// Optimizations for random number handling, generic version -*- C++ -*- +// Optimizations for random number functions, x86 version -*- C++ -*- // Copyright (C) 2012-2013 Free Software Foundation, Inc. // @@ -30,9 +30,190 @@ #ifndef _BITS_OPT_RANDOM_H #define _BITS_OPT_RANDOM_H 1 +#include + + #pragma GCC system_header +namespace std _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + +#ifdef __SSE3__ + template<> + template + void + normal_distribution:: + __generate(typename normal_distribution::result_type* __f, + typename normal_distribution::result_type* __t, + _UniformRandomNumberGenerator& __urng, + const param_type& __param) + { + typedef uint64_t __uctype; + + if (__f == __t) + return; + + if (_M_saved_available) + { + _M_saved_available = false; + *__f++ = _M_saved * __param.stddev() + __param.mean(); + + if (__f == __t) + return; + } + + constexpr uint64_t __maskval = 0xfffffffffffffull; + static const __m128i __mask = _mm_set1_epi64x(__maskval); + static const __m128i __two = _mm_set1_epi64x(0x4000000000000000ull); + static const __m128d __three = _mm_set1_pd(3.0); + const __m128d __av = _mm_set1_pd(__param.mean()); + + const __uctype __urngmin = __urng.min(); + const __uctype __urngmax = __urng.max(); + const __uctype __urngrange = __urngmax - __urngmin; + const __uctype __uerngrange = __urngrange + 1; + + while (__f + 1 < __t) + { + double __le; + __m128d __x; + do + { + union + { + __m128i __i; + __m128d __d; + } __v; + + if (__urngrange > __maskval) + { + if (__detail::_Power_of_2(__uerngrange)) + __v.__i = _mm_and_si128(_mm_set_epi64x(__urng(), + __urng()), + __mask); + else + { + const __uctype __uerange = __maskval + 1; + const __uctype __scaling = __urngrange / __uerange; + const __uctype __past = __uerange * __scaling; + uint64_t __v1; + do + __v1 = __uctype(__urng()) - __urngmin; + while (__v1 >= __past); + __v1 /= __scaling; + uint64_t __v2; + do + __v2 = __uctype(__urng()) - __urngmin; + while (__v2 >= __past); + __v2 /= __scaling; + + __v.__i = _mm_set_epi64x(__v1, __v2); + } + } + else if (__urngrange == __maskval) + __v.__i = _mm_set_epi64x(__urng(), __urng()); + else if ((__urngrange + 2) * __urngrange >= __maskval + && __detail::_Power_of_2(__uerngrange)) + { + uint64_t __v1 = __urng() * __uerngrange + __urng(); + uint64_t __v2 = __urng() * __uerngrange + __urng(); + + __v.__i = _mm_and_si128(_mm_set_epi64x(__v1, __v2), + __mask); + } + else + { + size_t __nrng = 2; + __uctype __high = __maskval / __uerngrange / __uerngrange; + while (__high > __uerngrange) + { + ++__nrng; + __high /= __uerngrange; + } + const __uctype __highrange = __high + 1; + const __uctype __scaling = __urngrange / __highrange; + const __uctype __past = __highrange * __scaling; + __uctype __tmp; + + uint64_t __v1; + do + { + do + __tmp = __uctype(__urng()) - __urngmin; + while (__tmp >= __past); + __v1 = __tmp / __scaling; + for (size_t __cnt = 0; __cnt < __nrng; ++__cnt) + { + __tmp = __v1; + __v1 *= __uerngrange; + __v1 += __uctype(__urng()) - __urngmin; + } + } + while (__v1 > __maskval || __v1 < __tmp); + + uint64_t __v2; + do + { + do + __tmp = __uctype(__urng()) - __urngmin; + while (__tmp >= __past); + __v2 = __tmp / __scaling; + for (size_t __cnt = 0; __cnt < __nrng; ++__cnt) + { + __tmp = __v2; + __v2 *= __uerngrange; + __v2 += __uctype(__urng()) - __urngmin; + } + } + while (__v2 > __maskval || __v2 < __tmp); + + __v.__i = _mm_set_epi64x(__v1, __v2); + } + + __v.__i = _mm_or_si128(__v.__i, __two); + __x = _mm_sub_pd(__v.__d, __three); + __m128d __m = _mm_mul_pd(__x, __x); + __le = _mm_cvtsd_f64(_mm_hadd_pd (__m, __m)); + } + while (__le == 0.0 || __le >= 1.0); + + double __mult = (std::sqrt(-2.0 * std::log(__le) / __le) + * __param.stddev()); + + __x = _mm_add_pd(_mm_mul_pd(__x, _mm_set1_pd(__mult)), __av); + + _mm_storeu_pd(__f, __x); + __f += 2; + } + + if (__f != __t) + { + result_type __x, __y, __r2; + + __detail::_Adaptor<_UniformRandomNumberGenerator, result_type> + __aurng(__urng); + + do + { + __x = result_type(2.0) * __aurng() - 1.0; + __y = result_type(2.0) * __aurng() - 1.0; + __r2 = __x * __x + __y * __y; + } + while (__r2 > 1.0 || __r2 == 0.0); + + const result_type __mult = std::sqrt(-2 * std::log(__r2) / __r2); + _M_saved = __x * __mult; + _M_saved_available = true; + *__f = __y * __mult * __param.stddev() + __param.mean(); + } + } +#endif + + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace #endif // _BITS_OPT_RANDOM_H diff --git a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/os_defines.h b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/os_defines.h index df3a1cb170..900291dd2e 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/os_defines.h +++ b/contrib/sdk/sources/libstdc++-v3/include/mingw32/bits/os_defines.h @@ -75,4 +75,7 @@ #define _GLIBCXX_LLP64 1 #endif +// See libstdc++/59807 +#define _GTHREAD_USE_MUTEX_INIT_FUNC 1 + #endif diff --git a/contrib/sdk/sources/libstdc++-v3/include/mingw32/ext/opt_random.h b/contrib/sdk/sources/libstdc++-v3/include/mingw32/ext/opt_random.h index 61f47de69a..5775b063b5 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/mingw32/ext/opt_random.h +++ b/contrib/sdk/sources/libstdc++-v3/include/mingw32/ext/opt_random.h @@ -1,4 +1,4 @@ -// Optimizations for random number extensions, generic version -*- C++ -*- +// Optimizations for random number extensions, x86 version -*- C++ -*- // Copyright (C) 2012-2013 Free Software Foundation, Inc. // @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // . -/** @file ext/opt_random.h +/** @file ext/random.tcc * This is an internal header file, included by other library headers. * Do not attempt to use it directly. @headername{ext/random} */ @@ -32,7 +32,109 @@ #pragma GCC system_header +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + +#ifdef __SSE2__ + +namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) +{ +_GLIBCXX_BEGIN_NAMESPACE_VERSION + + namespace { + + template + inline __m128i __sse2_recursion(__m128i __a, __m128i __b, + __m128i __c, __m128i __d) + { + __m128i __y = _mm_srli_epi32(__b, __sr1); + __m128i __z = _mm_srli_si128(__c, __sr2); + __m128i __v = _mm_slli_epi32(__d, __sl1); + __z = _mm_xor_si128(__z, __a); + __z = _mm_xor_si128(__z, __v); + __m128i __x = _mm_slli_si128(__a, __sl2); + __y = _mm_and_si128(__y, _mm_set_epi32(__msk4, __msk3, __msk2, __msk1)); + __z = _mm_xor_si128(__z, __x); + return _mm_xor_si128(__z, __y); + } + + } +#define _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ 1 + template + void simd_fast_mersenne_twister_engine<_UIntType, __m, + __pos1, __sl1, __sl2, __sr1, __sr2, + __msk1, __msk2, __msk3, __msk4, + __parity1, __parity2, __parity3, + __parity4>:: + _M_gen_rand(void) + { + __m128i __r1 = _mm_load_si128(&_M_state[_M_nstate - 2]); + __m128i __r2 = _mm_load_si128(&_M_state[_M_nstate - 1]); + + size_t __i; + for (__i = 0; __i < _M_nstate - __pos1; ++__i) + { + __m128i __r = __sse2_recursion<__sl1, __sl2, __sr1, __sr2, + __msk1, __msk2, __msk3, __msk4> + (_M_state[__i], _M_state[__i + __pos1], __r1, __r2); + _mm_store_si128(&_M_state[__i], __r); + __r1 = __r2; + __r2 = __r; + } + for (; __i < _M_nstate; ++__i) + { + __m128i __r = __sse2_recursion<__sl1, __sl2, __sr1, __sr2, + __msk1, __msk2, __msk3, __msk4> + (_M_state[__i], _M_state[__i + __pos1 - _M_nstate], __r1, __r2); + _mm_store_si128(&_M_state[__i], __r); + __r1 = __r2; + __r2 = __r; + } + + _M_pos = 0; + } + + +#define _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL 1 + template + bool + operator==(const __gnu_cxx::simd_fast_mersenne_twister_engine<_UIntType, + __m, __pos1, __sl1, __sl2, __sr1, __sr2, + __msk1, __msk2, __msk3, __msk4, + __parity1, __parity2, __parity3, __parity4>& __lhs, + const __gnu_cxx::simd_fast_mersenne_twister_engine<_UIntType, + __m, __pos1, __sl1, __sl2, __sr1, __sr2, + __msk1, __msk2, __msk3, __msk4, + __parity1, __parity2, __parity3, __parity4>& __rhs) + { + __m128i __res = _mm_cmpeq_epi8(__lhs._M_state[0], __rhs._M_state[0]); + for (size_t __i = 1; __i < __lhs._M_nstate; ++__i) + __res = _mm_and_si128(__res, _mm_cmpeq_epi8(__lhs._M_state[__i], + __rhs._M_state[__i])); + return (_mm_movemask_epi8(__res) == 0xffff + && __lhs._M_pos == __rhs._M_pos); + } + + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace + +#endif // __SSE2__ + +#endif // __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #endif // _EXT_OPT_RANDOM_H diff --git a/contrib/sdk/sources/libstdc++-v3/include/new b/contrib/sdk/sources/libstdc++-v3/include/new new file mode 100644 index 0000000000..2a926037cf --- /dev/null +++ b/contrib/sdk/sources/libstdc++-v3/include/new @@ -0,0 +1,122 @@ +// The -*- C++ -*- dynamic memory management header. + +// Copyright (C) 1994-2013 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 3, 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. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file new + * This is a Standard C++ Library header. + * + * The header @c new defines several functions to manage dynamic memory and + * handling memory allocation errors; see + * http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4 for more. + */ + +#ifndef _NEW +#define _NEW + +#pragma GCC system_header + +#include +#include + +#pragma GCC visibility push(default) + +extern "C++" { + +namespace std +{ + /** + * @brief Exception possibly thrown by @c new. + * @ingroup exceptions + * + * @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 + { + public: + bad_alloc() throw() { } + + // This declaration is not useless: + // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + virtual ~bad_alloc() throw(); + + // See comment in eh_exception.cc. + virtual const char* what() const throw(); + }; + + struct nothrow_t { }; + + extern const nothrow_t nothrow; + + /** If you write your own error handler to be called by @c new, it must + * be of this type. */ + typedef void (*new_handler)(); + + /// Takes a replacement handler as the argument, returns the + /// previous handler. + new_handler set_new_handler(new_handler) throw(); +} // namespace std + +//@{ +/** These are replaceable signatures: + * - normal single new and delete (no arguments, throw @c bad_alloc on error) + * - normal array new and delete (same) + * - @c nothrow single new and delete (take a @c nothrow argument, return + * @c NULL on error) + * - @c nothrow array new and delete (same) + * + * Placement new and delete signatures (take a memory address argument, + * does nothing) may not be replaced by a user's program. +*/ +void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) + __attribute__((__externally_visible__)); +void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) + __attribute__((__externally_visible__)); +void operator delete(void*) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +void operator delete[](void*) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +void operator delete(void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); +void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT + __attribute__((__externally_visible__)); + +// Default placement versions of operator new. +inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT +{ return __p; } +inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT +{ return __p; } + +// Default placement versions of operator delete. +inline void operator delete (void*, void*) _GLIBCXX_USE_NOEXCEPT { } +inline void operator delete[](void*, void*) _GLIBCXX_USE_NOEXCEPT { } +//@} +} // extern "C++" + +#pragma GCC visibility pop + +#endif diff --git a/contrib/sdk/sources/libstdc++-v3/include/ostream b/contrib/sdk/sources/libstdc++-v3/include/ostream index e466b54e78..f3581b8bb1 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/ostream +++ b/contrib/sdk/sources/libstdc++-v3/include/ostream @@ -600,7 +600,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x) - { return (__os << __x); } + { + __os << __x; + return __os; + } #endif // C++11 _GLIBCXX_END_NAMESPACE_VERSION diff --git a/contrib/sdk/sources/libstdc++-v3/include/scoped_allocator b/contrib/sdk/sources/libstdc++-v3/include/scoped_allocator index eeb1935eea..0849cbb134 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/scoped_allocator +++ b/contrib/sdk/sources/libstdc++-v3/include/scoped_allocator @@ -105,6 +105,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __inner_type_impl() = default; __inner_type_impl(const __inner_type_impl&) = default; __inner_type_impl(__inner_type_impl&&) = default; + __inner_type_impl& operator=(const __inner_type_impl&) = default; + __inner_type_impl& operator=(__inner_type_impl&&) = default; template __inner_type_impl(const __inner_type_impl<_Alloc>& __other) @@ -136,6 +138,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __inner_type_impl() = default; __inner_type_impl(const __inner_type_impl&) = default; __inner_type_impl(__inner_type_impl&&) = default; + __inner_type_impl& operator=(const __inner_type_impl&) = default; + __inner_type_impl& operator=(__inner_type_impl&&) = default; template __inner_type_impl(const __inner_type_impl<_Allocs...>& __other) @@ -310,6 +314,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _M_inner(std::move(__other._M_inner)) { } + scoped_allocator_adaptor& + operator=(const scoped_allocator_adaptor&) = default; + + scoped_allocator_adaptor& + operator=(scoped_allocator_adaptor&&) = default; + inner_allocator_type& inner_allocator() noexcept { return _M_inner._M_get(this); } diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-backward b/contrib/sdk/sources/libstdc++-v3/include/stamp-backward deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-backward +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-bits b/contrib/sdk/sources/libstdc++-v3/include/stamp-bits deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-bits +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-bits-sup b/contrib/sdk/sources/libstdc++-v3/include/stamp-bits-sup deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-bits-sup +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-c_base b/contrib/sdk/sources/libstdc++-v3/include/stamp-c_base deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-c_base +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-c_compatibility b/contrib/sdk/sources/libstdc++-v3/include/stamp-c_compatibility deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-c_compatibility +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-debug b/contrib/sdk/sources/libstdc++-v3/include/stamp-debug deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-debug +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-decimal b/contrib/sdk/sources/libstdc++-v3/include/stamp-decimal deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-decimal +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-ext b/contrib/sdk/sources/libstdc++-v3/include/stamp-ext deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-ext +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-extern-template b/contrib/sdk/sources/libstdc++-v3/include/stamp-extern-template deleted file mode 100644 index d00491fd7e..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-extern-template +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-host b/contrib/sdk/sources/libstdc++-v3/include/stamp-host deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-host +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-mingw32 b/contrib/sdk/sources/libstdc++-v3/include/stamp-mingw32 deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-mingw32 +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-namespace-version b/contrib/sdk/sources/libstdc++-v3/include/stamp-namespace-version deleted file mode 100644 index 573541ac97..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-namespace-version +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-parallel b/contrib/sdk/sources/libstdc++-v3/include/stamp-parallel deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-parallel +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-pb b/contrib/sdk/sources/libstdc++-v3/include/stamp-pb deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-pb +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-profile b/contrib/sdk/sources/libstdc++-v3/include/stamp-profile deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-profile +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-profile-impl b/contrib/sdk/sources/libstdc++-v3/include/stamp-profile-impl deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-profile-impl +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-std b/contrib/sdk/sources/libstdc++-v3/include/stamp-std deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-std +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-tr1 b/contrib/sdk/sources/libstdc++-v3/include/stamp-tr1 deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-tr1 +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-tr2 b/contrib/sdk/sources/libstdc++-v3/include/stamp-tr2 deleted file mode 100644 index 9788f70238..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-tr2 +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/contrib/sdk/sources/libstdc++-v3/include/stamp-visibility b/contrib/sdk/sources/libstdc++-v3/include/stamp-visibility deleted file mode 100644 index 573541ac97..0000000000 --- a/contrib/sdk/sources/libstdc++-v3/include/stamp-visibility +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/contrib/sdk/sources/libstdc++-v3/include/tr1/cmath b/contrib/sdk/sources/libstdc++-v3/include/tr1/cmath index 3658afb1d6..570e82319e 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/tr1/cmath +++ b/contrib/sdk/sources/libstdc++-v3/include/tr1/cmath @@ -158,143 +158,143 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // functions using ::acosh; using ::acoshf; - using ::acoshl; +// using ::acoshl; using ::asinh; using ::asinhf; - using ::asinhl; +// using ::asinhl; using ::atanh; using ::atanhf; - using ::atanhl; +// using ::atanhl; using ::cbrt; using ::cbrtf; - using ::cbrtl; +// using ::cbrtl; using ::copysign; using ::copysignf; - using ::copysignl; +// using ::copysignl; using ::erf; using ::erff; - using ::erfl; +// using ::erfl; using ::erfc; using ::erfcf; - using ::erfcl; +// using ::erfcl; using ::exp2; using ::exp2f; - using ::exp2l; +// using ::exp2l; using ::expm1; using ::expm1f; - using ::expm1l; +// using ::expm1l; using ::fdim; using ::fdimf; - using ::fdiml; +// using ::fdiml; using ::fma; using ::fmaf; - using ::fmal; +// using ::fmal; using ::fmax; using ::fmaxf; - using ::fmaxl; +// using ::fmaxl; using ::fmin; using ::fminf; - using ::fminl; +// using ::fminl; using ::hypot; using ::hypotf; - using ::hypotl; +// using ::hypotl; using ::ilogb; using ::ilogbf; - using ::ilogbl; +// using ::ilogbl; using ::lgamma; using ::lgammaf; - using ::lgammal; +// using ::lgammal; using ::llrint; using ::llrintf; - using ::llrintl; +// using ::llrintl; using ::llround; using ::llroundf; - using ::llroundl; +// using ::llroundl; using ::log1p; using ::log1pf; - using ::log1pl; +// using ::log1pl; using ::log2; using ::log2f; - using ::log2l; +// using ::log2l; using ::logb; using ::logbf; - using ::logbl; +// using ::logbl; using ::lrint; using ::lrintf; - using ::lrintl; +// using ::lrintl; using ::lround; using ::lroundf; - using ::lroundl; +// using ::lroundl; using ::nan; using ::nanf; - using ::nanl; +// using ::nanl; using ::nearbyint; using ::nearbyintf; - using ::nearbyintl; +// using ::nearbyintl; using ::nextafter; using ::nextafterf; - using ::nextafterl; +// using ::nextafterl; - using ::nexttoward; - using ::nexttowardf; - using ::nexttowardl; +// using ::nexttoward; +// using ::nexttowardf; +// using ::nexttowardl; using ::remainder; using ::remainderf; - using ::remainderl; +// using ::remainderl; using ::remquo; using ::remquof; - using ::remquol; +// using ::remquol; using ::rint; using ::rintf; - using ::rintl; +// using ::rintl; using ::round; using ::roundf; - using ::roundl; +// using ::roundl; using ::scalbln; using ::scalblnf; - using ::scalblnl; +// using ::scalblnl; using ::scalbn; using ::scalbnf; - using ::scalbnl; +// using ::scalbnl; using ::tgamma; using ::tgammaf; - using ::tgammal; +// using ::tgammal; using ::trunc; using ::truncf; - using ::truncl; +// using ::truncl; #endif diff --git a/contrib/sdk/sources/libstdc++-v3/include/tr1/functional b/contrib/sdk/sources/libstdc++-v3/include/tr1/functional index fc79fbed86..84efeeea33 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/tr1/functional +++ b/contrib/sdk/sources/libstdc++-v3/include/tr1/functional @@ -2112,9 +2112,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { if (static_cast(__x)) { + __x._M_manager(_M_functor, __x._M_functor, __clone_functor); _M_invoker = __x._M_invoker; _M_manager = __x._M_manager; - __x._M_manager(_M_functor, __x._M_functor, __clone_functor); } } @@ -2130,9 +2130,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION if (_My_handler::_M_not_empty_function(__f)) { + _My_handler::_M_init_functor(_M_functor, __f); _M_invoker = &_My_handler::_M_invoke; _M_manager = &_My_handler::_M_manager; - _My_handler::_M_init_functor(_M_functor, __f); } } diff --git a/contrib/sdk/sources/libstdc++-v3/include/tr2/bool_set b/contrib/sdk/sources/libstdc++-v3/include/tr2/bool_set index 56a56e0e76..b3e33eac6c 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/tr2/bool_set +++ b/contrib/sdk/sources/libstdc++-v3/include/tr2/bool_set @@ -44,7 +44,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * bool_set * * See N2136, Bool_set: multi-valued logic - * by Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion. + * by Hervé Brönnimann, Guillaume Melquiond, Sylvain Pion. * * The implicit conversion to bool is slippery! I may use the new * explicit conversion. This has been specialized in the language diff --git a/contrib/sdk/sources/libstdc++-v3/include/tuple b/contrib/sdk/sources/libstdc++-v3/include/tuple index ee2b2e1d4c..de85fbbcd4 100644 --- a/contrib/sdk/sources/libstdc++-v3/include/tuple +++ b/contrib/sdk/sources/libstdc++-v3/include/tuple @@ -88,21 +88,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr _Head_base(const _Head& __h) : _Head(__h) { } - template::value>::type> + constexpr _Head_base(const _Head_base&) = default; + constexpr _Head_base(_Head_base&&) = default; + + template constexpr _Head_base(_UHead&& __h) : _Head(std::forward<_UHead>(__h)) { } - _Head_base(__uses_alloc0) + _Head_base(allocator_arg_t, __uses_alloc0) : _Head() { } template - _Head_base(__uses_alloc1<_Alloc> __a) + _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) : _Head(allocator_arg, *__a._M_a) { } template - _Head_base(__uses_alloc2<_Alloc> __a) + _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) : _Head(*__a._M_a) { } template @@ -133,21 +134,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr _Head_base(const _Head& __h) : _M_head_impl(__h) { } - template::value>::type> + constexpr _Head_base(const _Head_base&) = default; + constexpr _Head_base(_Head_base&&) = default; + + template constexpr _Head_base(_UHead&& __h) : _M_head_impl(std::forward<_UHead>(__h)) { } - _Head_base(__uses_alloc0) + _Head_base(allocator_arg_t, __uses_alloc0) : _M_head_impl() { } template - _Head_base(__uses_alloc1<_Alloc> __a) + _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) : _M_head_impl(allocator_arg, *__a._M_a) { } template - _Head_base(__uses_alloc2<_Alloc> __a) + _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) : _M_head_impl(*__a._M_a) { } template @@ -285,7 +287,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) : _Inherited(__tag, __a), - _Base(__use_alloc<_Head>(__a)) { } + _Base(__tag, __use_alloc<_Head>(__a)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, @@ -755,14 +757,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typename tuple_element<__i, tuple<_Elements...>>::type >::type get(tuple<_Elements...>& __t) noexcept - { return __get_helper<__i>(__t); } + { return std::__get_helper<__i>(__t); } template constexpr typename __add_c_ref< typename tuple_element<__i, tuple<_Elements...>>::type >::type get(const tuple<_Elements...>& __t) noexcept - { return __get_helper<__i>(__t); } + { return std::__get_helper<__i>(__t); } template constexpr typename __add_r_ref< diff --git a/contrib/sdk/sources/libstdc++-v3/include/typeinfo b/contrib/sdk/sources/libstdc++-v3/include/typeinfo new file mode 100644 index 0000000000..2a3d0efcfd --- /dev/null +++ b/contrib/sdk/sources/libstdc++-v3/include/typeinfo @@ -0,0 +1,222 @@ +// RTTI support for -*- C++ -*- +// Copyright (C) 1994-2013 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 3, 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. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file typeinfo + * This is a Standard C++ Library header. + */ + +#ifndef _TYPEINFO +#define _TYPEINFO + +#pragma GCC system_header + +#include +#if __cplusplus >= 201103L +#include +#endif + +#pragma GCC visibility push(default) + +extern "C++" { + +namespace __cxxabiv1 +{ + class __class_type_info; +} // namespace __cxxabiv1 + +// Determine whether typeinfo names for the same type are merged (in which +// case comparison can just compare pointers) or not (in which case strings +// must be compared), and whether comparison is to be implemented inline or +// not. We used to do inline pointer comparison by default if weak symbols +// are available, but even with weak symbols sometimes names are not merged +// when objects are loaded with RTLD_LOCAL, so now we always use strcmp by +// default. For ABI compatibility, we do the strcmp inline if weak symbols +// are available, and out-of-line if not. Out-of-line pointer comparison +// is used where the object files are to be portable to multiple systems, +// some of which may not be able to use pointer comparison, but the +// particular system for which libstdc++ is being built can use pointer +// comparison; in particular for most ARM EABI systems, where the ABI +// specifies out-of-line comparison. The compiler's target configuration +// can override the defaults by defining __GXX_TYPEINFO_EQUALITY_INLINE to +// 1 or 0 to indicate whether or not comparison is inline, and +// __GXX_MERGED_TYPEINFO_NAMES to 1 or 0 to indicate whether or not pointer +// comparison can be used. + +#ifndef __GXX_MERGED_TYPEINFO_NAMES +// By default, typeinfo names are not merged. +#define __GXX_MERGED_TYPEINFO_NAMES 0 +#endif + +// By default follow the old inline rules to avoid ABI changes. +#ifndef __GXX_TYPEINFO_EQUALITY_INLINE + #if !__GXX_WEAK__ + #define __GXX_TYPEINFO_EQUALITY_INLINE 0 + #else + #define __GXX_TYPEINFO_EQUALITY_INLINE 1 + #endif +#endif + +namespace std +{ + /** + * @brief Part of RTTI. + * + * The @c type_info class describes type information generated by + * an implementation. + */ + class type_info + { + public: + /** Destructor first. Being the first non-inline virtual function, this + * controls in which translation unit the vtable is emitted. The + * compiler makes use of that information to know where to emit + * the runtime-mandated type_info structures in the new-abi. */ + virtual ~type_info(); + + /** Returns an @e implementation-defined byte string; this is not + * portable between compilers! */ + const char* name() const _GLIBCXX_NOEXCEPT + { return __name[0] == '*' ? __name + 1 : __name; } + +#if !__GXX_TYPEINFO_EQUALITY_INLINE + // In old abi, or when weak symbols are not supported, there can + // be multiple instances of a type_info object for one + // type. Uniqueness must use the _name value, not object address. + bool before(const type_info& __arg) const _GLIBCXX_NOEXCEPT; + bool operator==(const type_info& __arg) const _GLIBCXX_NOEXCEPT; +#else + #if !__GXX_MERGED_TYPEINFO_NAMES + /** Returns true if @c *this precedes @c __arg in the implementation's + * collation order. */ + // Even with the new abi, on systems that support dlopen + // we can run into cases where type_info names aren't merged, + // so we still need to do string comparison. + bool before(const type_info& __arg) const _GLIBCXX_NOEXCEPT + { return (__name[0] == '*' && __arg.__name[0] == '*') + ? __name < __arg.__name + : __builtin_strcmp (__name, __arg.__name) < 0; } + + bool operator==(const type_info& __arg) const _GLIBCXX_NOEXCEPT + { + return ((__name == __arg.__name) + || (__name[0] != '*' && + __builtin_strcmp (__name, __arg.__name) == 0)); + } + #else + // On some targets we can rely on type_info's NTBS being unique, + // and therefore address comparisons are sufficient. + bool before(const type_info& __arg) const _GLIBCXX_NOEXCEPT + { return __name < __arg.__name; } + + bool operator==(const type_info& __arg) const _GLIBCXX_NOEXCEPT + { return __name == __arg.__name; } + #endif +#endif + bool operator!=(const type_info& __arg) const _GLIBCXX_NOEXCEPT + { return !operator==(__arg); } + +#if __cplusplus >= 201103L + size_t hash_code() const noexcept + { +# if !__GXX_MERGED_TYPEINFO_NAMES + return _Hash_bytes(name(), __builtin_strlen(name()), + static_cast(0xc70f6907UL)); +# else + return reinterpret_cast(__name); +# endif + } +#endif // C++11 + + // Return true if this is a pointer type of some kind + virtual bool __is_pointer_p() const; + + // Return true if this is a function type + virtual bool __is_function_p() const; + + // Try and catch a thrown type. Store an adjusted pointer to the + // caught type in THR_OBJ. If THR_TYPE is not a pointer type, then + // THR_OBJ points to the thrown object. If THR_TYPE is a pointer + // type, then THR_OBJ is the pointer itself. OUTER indicates the + // number of outer pointers, and whether they were const + // qualified. + virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, + unsigned __outer) const; + + // Internally used during catch matching + virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, + void **__obj_ptr) const; + + protected: + const char *__name; + + explicit type_info(const char *__n): __name(__n) { } + + private: + /// Assigning type_info is not supported. + type_info& operator=(const type_info&); + type_info(const type_info&); + }; + + /** + * @brief Thrown during incorrect typecasting. + * @ingroup exceptions + * + * 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 + { + public: + bad_cast() _GLIBCXX_USE_NOEXCEPT { } + + // This declaration is not useless: + // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + virtual ~bad_cast() _GLIBCXX_USE_NOEXCEPT; + + // See comment in eh_exception.cc. + virtual const char* what() const _GLIBCXX_USE_NOEXCEPT; + }; + + /** + * @brief Thrown when a NULL pointer in a @c typeid expression is used. + * @ingroup exceptions + */ + class bad_typeid : public exception + { + public: + bad_typeid () _GLIBCXX_USE_NOEXCEPT { } + + // This declaration is not useless: + // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118 + virtual ~bad_typeid() _GLIBCXX_USE_NOEXCEPT; + + // See comment in eh_exception.cc. + virtual const char* what() const _GLIBCXX_USE_NOEXCEPT; + }; +} // namespace std + +} // extern "C++" + +#pragma GCC visibility pop + +#endif diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/atexit_thread.cc b/contrib/sdk/sources/libstdc++-v3/libsupc++/atexit_thread.cc index 11f1dbdeac..450e6465fe 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/atexit_thread.cc +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/atexit_thread.cc @@ -26,7 +26,7 @@ #include #include "bits/gthr.h" -#if HAVE___CXA_THREAD_ATEXIT_IMPL +#if _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL extern "C" int __cxa_thread_atexit_impl (void (*func) (void *), void *arg, void *d); @@ -38,7 +38,7 @@ __cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *), return __cxa_thread_atexit_impl (dtor, obj, dso_handle); } -#else /* HAVE___CXA_THREAD_ATEXIT_IMPL */ +#else /* _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL */ namespace { // One element in a singly-linked stack of cleanups. @@ -142,4 +142,4 @@ __cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *), void *obj, void */*dso_ha return 0; } -#endif /* HAVE___CXA_THREAD_ATEXIT_IMPL */ +#endif /* _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL */ diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/config.h b/contrib/sdk/sources/libstdc++-v3/libsupc++/config.h index 4e079956b7..ec1bad0f3f 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/config.h +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/config.h @@ -1,365 +1,255 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the `acosf' function. */ -#define HAVE_ACOSF 1 +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ -/* Define to 1 if you have the `acosl' function. */ -#define HAVE_ACOSL 1 +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ -/* Define to 1 if you have the `asinf' function. */ -#define HAVE_ASINF 1 +/* Define to 1 if you have the header file. */ +#define HAVE_ALLOCA_H 1 -/* Define to 1 if you have the `asinl' function. */ -#define HAVE_ASINL 1 +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 -/* Define to 1 if the target assembler supports .symver directive. */ -/* #undef HAVE_AS_SYMVER_DIRECTIVE */ +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 -/* Define to 1 if you have the `atan2f' function. */ -#define HAVE_ATAN2F 1 +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 -/* Define to 1 if you have the `atan2l' function. */ -#define HAVE_ATAN2L 1 +/* Define to 1 if you have the `bcmp' function. */ +/* #undef HAVE_BCMP */ -/* Define to 1 if you have the `atanf' function. */ -#define HAVE_ATANF 1 +/* Define to 1 if you have the `bcopy' function. */ +/* #undef HAVE_BCOPY */ -/* Define to 1 if you have the `atanl' function. */ -#define HAVE_ATANL 1 +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 -/* Define to 1 if you have the `at_quick_exit' function. */ -/* #undef HAVE_AT_QUICK_EXIT */ +/* Define to 1 if you have the `bzero' function. */ +/* #undef HAVE_BZERO */ -/* Define to 1 if the target assembler supports thread-local storage. */ -/* #undef HAVE_CC_TLS */ +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 -/* Define to 1 if you have the `ceilf' function. */ -#define HAVE_CEILF 1 +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ -/* Define to 1 if you have the `ceill' function. */ -#define HAVE_CEILL 1 +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 -/* Define to 1 if you have the header file. */ -#define HAVE_COMPLEX_H 1 +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 0 -/* Define to 1 if you have the `cosf' function. */ -#define HAVE_COSF 1 +/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if + you don't. */ +#define HAVE_DECL_BASENAME 0 -/* Define to 1 if you have the `coshf' function. */ -#define HAVE_COSHF 1 +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 -/* Define to 1 if you have the `coshl' function. */ -#define HAVE_COSHL 1 +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 0 -/* Define to 1 if you have the `cosl' function. */ -#define HAVE_COSL 1 +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 -/* Define if EBADMSG exists. */ -/* #undef HAVE_EBADMSG */ +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 -/* Define if ECANCELED exists. */ -/* #undef HAVE_ECANCELED */ +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 -/* Define if ECHILD exists. */ -#define HAVE_ECHILD 1 +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 0 -/* Define if EIDRM exists. */ -/* #undef HAVE_EIDRM */ +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_ENDIAN_H */ +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 -/* Define if ENODATA exists. */ -/* #undef HAVE_ENODATA */ +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 0 -/* Define if ENOLINK exists. */ -/* #undef HAVE_ENOLINK */ +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 -/* Define if ENOSPC exists. */ -#define HAVE_ENOSPC 1 +/* Define to 1 if you have the `dup3' function. */ +/* #undef HAVE_DUP3 */ -/* Define if ENOSR exists. */ -/* #undef HAVE_ENOSR */ +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 -/* Define if ENOSTR exists. */ -/* #undef HAVE_ENOSTR */ +/* Define to 1 if you have the `ffs' function. */ +/* #undef HAVE_FFS */ -/* Define if ENOTRECOVERABLE exists. */ -/* #undef HAVE_ENOTRECOVERABLE */ +/* Define to 1 if you have the `fork' function. */ +/* #undef HAVE_FORK */ -/* Define if ENOTSUP exists. */ -/* #undef HAVE_ENOTSUP */ +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 -/* Define if EOVERFLOW exists. */ -/* #undef HAVE_EOVERFLOW */ +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 -/* Define if EOWNERDEAD exists. */ -/* #undef HAVE_EOWNERDEAD */ +/* Define to 1 if you have the `getrlimit' function. */ +/* #undef HAVE_GETRLIMIT */ -/* Define if EPERM exists. */ -#define HAVE_EPERM 1 +/* Define to 1 if you have the `getrusage' function. */ +/* #undef HAVE_GETRUSAGE */ -/* Define if EPROTO exists. */ -/* #undef HAVE_EPROTO */ +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ -/* Define if ETIME exists. */ -/* #undef HAVE_ETIME */ +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 -/* Define if ETIMEDOUT exists. */ -/* #undef HAVE_ETIMEDOUT */ +/* Define to 1 if you have the `index' function. */ +/* #undef HAVE_INDEX */ -/* Define if ETXTBSY exists. */ -/* #undef HAVE_ETXTBSY */ +/* Define to 1 if you have the `insque' function. */ +/* #undef HAVE_INSQUE */ -/* Define if EWOULDBLOCK exists. */ -/* #undef HAVE_EWOULDBLOCK */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_EXECINFO_H */ - -/* Define to 1 if you have the `expf' function. */ -#define HAVE_EXPF 1 - -/* Define to 1 if you have the `expl' function. */ -#define HAVE_EXPL 1 - -/* Define to 1 if you have the `fabsf' function. */ -#define HAVE_FABSF 1 - -/* Define to 1 if you have the `fabsl' function. */ -#define HAVE_FABSL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_FENV_H 1 - -/* Define to 1 if you have the `finite' function. */ -#define HAVE_FINITE 1 - -/* Define to 1 if you have the `finitef' function. */ -/* #undef HAVE_FINITEF */ - -/* Define to 1 if you have the `finitel' function. */ -/* #undef HAVE_FINITEL */ - -/* Define to 1 if you have the header file. */ -#define HAVE_FLOAT_H 1 - -/* Define to 1 if you have the `floorf' function. */ -#define HAVE_FLOORF 1 - -/* Define to 1 if you have the `floorl' function. */ -#define HAVE_FLOORL 1 - -/* Define to 1 if you have the `fmodf' function. */ -#define HAVE_FMODF 1 - -/* Define to 1 if you have the `fmodl' function. */ -#define HAVE_FMODL 1 - -/* Define to 1 if you have the `fpclass' function. */ -#define HAVE_FPCLASS 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_FP_H */ - -/* Define to 1 if you have the `frexpf' function. */ -#define HAVE_FREXPF 1 - -/* Define to 1 if you have the `frexpl' function. */ -#define HAVE_FREXPL 1 - -/* Define if _Unwind_GetIPInfo is available. */ -#define HAVE_GETIPINFO 1 - -/* Define if gets is available in . */ -#define HAVE_GETS 1 - -/* Define to 1 if you have the `hypot' function. */ -#define HAVE_HYPOT 1 - -/* Define to 1 if you have the `hypotf' function. */ -#define HAVE_HYPOTF 1 - -/* Define to 1 if you have the `hypotl' function. */ -#define HAVE_HYPOTL 1 - -/* Define if you have the iconv() function. */ -/* #undef HAVE_ICONV */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_IEEEFP_H */ - -/* Define if int64_t is available in . */ -#define HAVE_INT64_T 1 - -/* Define if int64_t is a long. */ -/* #undef HAVE_INT64_T_LONG */ - -/* Define if int64_t is a long long. */ -#define HAVE_INT64_T_LONG_LONG 1 +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 -/* Define to 1 if you have the `isinf' function. */ -/* #undef HAVE_ISINF */ +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 -/* Define to 1 if you have the `isinff' function. */ -/* #undef HAVE_ISINFF */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ -/* Define to 1 if you have the `isinfl' function. */ -/* #undef HAVE_ISINFL */ +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 -/* Define to 1 if you have the `isnan' function. */ -#define HAVE_ISNAN 1 +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 -/* Define to 1 if you have the `isnanf' function. */ -/* #undef HAVE_ISNANF */ +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 -/* Define to 1 if you have the `isnanl' function. */ -/* #undef HAVE_ISNANL */ +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 -/* Defined if iswblank exists. */ -#define HAVE_ISWBLANK 1 +/* Define to 1 if you have the `memmem' function. */ +/* #undef HAVE_MEMMEM */ -/* Define if LC_MESSAGES is available in . */ -/* #undef HAVE_LC_MESSAGES */ - -/* Define to 1 if you have the `ldexpf' function. */ -#define HAVE_LDEXPF 1 - -/* Define to 1 if you have the `ldexpl' function. */ -#define HAVE_LDEXPL 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_LIBINTL_H */ - -/* Only used in build directory testsuite_hooks.h. */ -/* #undef HAVE_LIMIT_AS */ - -/* Only used in build directory testsuite_hooks.h. */ -/* #undef HAVE_LIMIT_DATA */ - -/* Only used in build directory testsuite_hooks.h. */ -/* #undef HAVE_LIMIT_FSIZE */ - -/* Only used in build directory testsuite_hooks.h. */ -/* #undef HAVE_LIMIT_RSS */ - -/* Only used in build directory testsuite_hooks.h. */ -/* #undef HAVE_LIMIT_VMEM */ - -/* Define if futex syscall is available. */ -/* #undef HAVE_LINUX_FUTEX */ - -/* Define to 1 if you have the header file. */ -#define HAVE_LOCALE_H 1 - -/* Define to 1 if you have the `log10f' function. */ -#define HAVE_LOG10F 1 - -/* Define to 1 if you have the `log10l' function. */ -#define HAVE_LOG10L 1 - -/* Define to 1 if you have the `logf' function. */ -#define HAVE_LOGF 1 - -/* Define to 1 if you have the `logl' function. */ -#define HAVE_LOGL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MACHINE_ENDIAN_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MACHINE_PARAM_H 1 - -/* Define if mbstate_t exists in wchar.h. */ -#define HAVE_MBSTATE_T 1 +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 -/* Define to 1 if you have the `modf' function. */ -#define HAVE_MODF 1 +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 -/* Define to 1 if you have the `modff' function. */ -#define HAVE_MODFF 1 +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ -/* Define to 1 if you have the `modfl' function. */ -#define HAVE_MODFL 1 +/* Define to 1 if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ -/* Define to 1 if you have the header file. */ -/* #undef HAVE_NAN_H */ +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ -/* Define if poll is available in . */ -/* #undef HAVE_POLL */ +/* Define to 1 if you have the header file. */ +#define HAVE_PROCESS_H 1 -/* Define to 1 if you have the `powf' function. */ -#define HAVE_POWF 1 +/* Define to 1 if you have the `psignal' function. */ +/* #undef HAVE_PSIGNAL */ -/* Define to 1 if you have the `powl' function. */ -#define HAVE_POWL 1 +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ -/* Define to 1 if you have the `qfpclass' function. */ -/* #undef HAVE_QFPCLASS */ +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ -/* Define to 1 if you have the `quick_exit' function. */ -/* #undef HAVE_QUICK_EXIT */ +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +/* #undef HAVE_RANDOM */ + +/* Define to 1 if you have the `realpath' function. */ +/* #undef HAVE_REALPATH */ + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +/* #undef HAVE_RINDEX */ + +/* Define to 1 if you have the `sbrk' function. */ +/* #undef HAVE_SBRK */ /* Define to 1 if you have the `setenv' function. */ /* #undef HAVE_SETENV */ -/* Define to 1 if you have the `sincos' function. */ -/* #undef HAVE_SINCOS */ +/* Define to 1 if you have the `setproctitle' function. */ +/* #undef HAVE_SETPROCTITLE */ -/* Define to 1 if you have the `sincosf' function. */ -/* #undef HAVE_SINCOSF */ +/* Define to 1 if you have the `setrlimit' function. */ +/* #undef HAVE_SETRLIMIT */ -/* Define to 1 if you have the `sincosl' function. */ -/* #undef HAVE_SINCOSL */ +/* Define to 1 if you have the `sigsetmask' function. */ +/* #undef HAVE_SIGSETMASK */ -/* Define to 1 if you have the `sinf' function. */ -#define HAVE_SINF 1 +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 -/* Define to 1 if you have the `sinhf' function. */ -#define HAVE_SINHF 1 +/* Define to 1 if you have the `spawnve' function. */ +#define HAVE_SPAWNVE 1 -/* Define to 1 if you have the `sinhl' function. */ -#define HAVE_SINHL 1 - -/* Define to 1 if you have the `sinl' function. */ -#define HAVE_SINL 1 - -/* Defined if sleep exists. */ -/* #undef HAVE_SLEEP */ - -/* Define to 1 if you have the `sqrtf' function. */ -#define HAVE_SQRTF 1 - -/* Define to 1 if you have the `sqrtl' function. */ -#define HAVE_SQRTL 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STDALIGN_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STDBOOL_H */ +/* Define to 1 if you have the `spawnvpe' function. */ +#define HAVE_SPAWNVPE 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 -/* Define if strerror_l is available in . */ -/* #undef HAVE_STRERROR_L */ +/* Define to 1 if you have the `stpcpy' function. */ +/* #undef HAVE_STPCPY */ -/* Define if strerror_r is available in . */ -/* #undef HAVE_STRERROR_R */ +/* Define to 1 if you have the `stpncpy' function. */ +/* #undef HAVE_STPNCPY */ + +/* Define to 1 if you have the `strcasecmp' function. */ +/* #undef HAVE_STRCASECMP */ + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 @@ -367,834 +257,244 @@ /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 -/* Define to 1 if you have the `strtof' function. */ -#define HAVE_STRTOF 1 +/* Define to 1 if you have the `strncasecmp' function. */ +/* #undef HAVE_STRNCASECMP */ -/* Define to 1 if you have the `strtold' function. */ -#define HAVE_STRTOLD 1 +/* Define to 1 if you have the `strndup' function. */ +/* #undef HAVE_STRNDUP */ -/* Define if strxfrm_l is available in . */ -/* #undef HAVE_STRXFRM_L */ +/* Define to 1 if you have the `strnlen' function. */ +/* #undef HAVE_STRNLEN */ -/* Define to 1 if the target runtime linker supports binding the same symbol - to different versions. */ -/* #undef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT */ +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_FILIO_H */ +/* Define to 1 if you have the `strsignal' function. */ +/* #undef HAVE_STRSIGNAL */ -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_IOCTL_H */ +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_IPC_H */ +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_ISA_DEFS_H */ +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_MACHINE_H */ +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +/* #undef HAVE_SYSCONF */ + +/* Define to 1 if you have the `sysctl' function. */ +/* #undef HAVE_SYSCTL */ + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MMAN_H */ + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PRCTL_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + /* Define to 1 if you have the header file. */ -#define HAVE_SYS_RESOURCE_H 1 +/* #undef HAVE_SYS_RESOURCE_H */ -/* Define to 1 if you have a suitable header file */ -/* #undef HAVE_SYS_SDT_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_SEM_H */ +/* Define if you have the sys_siglist variable. */ +/* #undef HAVE_SYS_SIGLIST */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSCTL_H */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_SYSINFO_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_UIO_H */ +/* Define to 1 if you have that is POSIX.1 compatible. */ +/* #undef HAVE_SYS_WAIT_H */ -/* Define if S_IFREG is available in . */ -/* #undef HAVE_S_IFREG */ +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ -/* Define if S_IFREG is available in . */ -#define HAVE_S_ISREG 1 +/* Define to 1 if you have the `times' function. */ +/* #undef HAVE_TIMES */ -/* Define to 1 if you have the `tanf' function. */ -#define HAVE_TANF 1 +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 -/* Define to 1 if you have the `tanhf' function. */ -#define HAVE_TANHF 1 +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 -/* Define to 1 if you have the `tanhl' function. */ -#define HAVE_TANHL 1 - -/* Define to 1 if you have the `tanl' function. */ -#define HAVE_TANL 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_TGMATH_H */ - -/* Define to 1 if the target supports thread-local storage. */ -/* #undef HAVE_TLS */ +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 -/* Defined if usleep exists. */ -/* #undef HAVE_USLEEP */ +/* Define to 1 if you have the `vasprintf' function. */ +/* #undef HAVE_VASPRINTF */ -/* Defined if vfwscanf exists. */ -#define HAVE_VFWSCANF 1 +/* Define to 1 if you have the `vfork' function. */ +/* #undef HAVE_VFORK */ -/* Defined if vswscanf exists. */ -#define HAVE_VSWSCANF 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ -/* Defined if vwscanf exists. */ -#define HAVE_VWSCANF 1 +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 -/* Define to 1 if you have the header file. */ -#define HAVE_WCHAR_H 1 +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 -/* Defined if wcstof exists. */ -#define HAVE_WCSTOF 1 +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 -/* Define to 1 if you have the header file. */ -#define HAVE_WCTYPE_H 1 +/* Define to 1 if you have the `wait3' function. */ +/* #undef HAVE_WAIT3 */ -/* Defined if Sleep exists. */ -/* #undef HAVE_WIN32_SLEEP */ +/* Define to 1 if you have the `wait4' function. */ +/* #undef HAVE_WAIT4 */ -/* Define if writev is available in . */ -/* #undef HAVE_WRITEV */ +/* Define to 1 if you have the `waitpid' function. */ +/* #undef HAVE_WAITPID */ -/* Define to 1 if you have the `_acosf' function. */ -/* #undef HAVE__ACOSF */ +/* Define to 1 if `fork' works. */ +/* #undef HAVE_WORKING_FORK */ -/* Define to 1 if you have the `_acosl' function. */ -/* #undef HAVE__ACOSL */ +/* Define to 1 if `vfork' works. */ +/* #undef HAVE_WORKING_VFORK */ -/* Define to 1 if you have the `_asinf' function. */ -/* #undef HAVE__ASINF */ +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ -/* Define to 1 if you have the `_asinl' function. */ -/* #undef HAVE__ASINL */ +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ -/* Define to 1 if you have the `_atan2f' function. */ -/* #undef HAVE__ATAN2F */ +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ -/* Define to 1 if you have the `_atan2l' function. */ -/* #undef HAVE__ATAN2L */ +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 -/* Define to 1 if you have the `_atanf' function. */ -/* #undef HAVE__ATANF */ +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ -/* Define to 1 if you have the `_atanl' function. */ -/* #undef HAVE__ATANL */ - -/* Define to 1 if you have the `_ceilf' function. */ -/* #undef HAVE__CEILF */ - -/* Define to 1 if you have the `_ceill' function. */ -/* #undef HAVE__CEILL */ - -/* Define to 1 if you have the `_cosf' function. */ -/* #undef HAVE__COSF */ - -/* Define to 1 if you have the `_coshf' function. */ -/* #undef HAVE__COSHF */ - -/* Define to 1 if you have the `_coshl' function. */ -/* #undef HAVE__COSHL */ - -/* Define to 1 if you have the `_cosl' function. */ -/* #undef HAVE__COSL */ - -/* Define to 1 if you have the `_expf' function. */ -/* #undef HAVE__EXPF */ - -/* Define to 1 if you have the `_expl' function. */ -/* #undef HAVE__EXPL */ - -/* Define to 1 if you have the `_fabsf' function. */ -/* #undef HAVE__FABSF */ - -/* Define to 1 if you have the `_fabsl' function. */ -/* #undef HAVE__FABSL */ - -/* Define to 1 if you have the `_finite' function. */ -/* #undef HAVE__FINITE */ - -/* Define to 1 if you have the `_finitef' function. */ -/* #undef HAVE__FINITEF */ - -/* Define to 1 if you have the `_finitel' function. */ -/* #undef HAVE__FINITEL */ - -/* Define to 1 if you have the `_floorf' function. */ -/* #undef HAVE__FLOORF */ - -/* Define to 1 if you have the `_floorl' function. */ -/* #undef HAVE__FLOORL */ - -/* Define to 1 if you have the `_fmodf' function. */ -/* #undef HAVE__FMODF */ - -/* Define to 1 if you have the `_fmodl' function. */ -/* #undef HAVE__FMODL */ - -/* Define to 1 if you have the `_fpclass' function. */ -/* #undef HAVE__FPCLASS */ - -/* Define to 1 if you have the `_frexpf' function. */ -/* #undef HAVE__FREXPF */ - -/* Define to 1 if you have the `_frexpl' function. */ -/* #undef HAVE__FREXPL */ - -/* Define to 1 if you have the `_hypot' function. */ -/* #undef HAVE__HYPOT */ - -/* Define to 1 if you have the `_hypotf' function. */ -/* #undef HAVE__HYPOTF */ - -/* Define to 1 if you have the `_hypotl' function. */ -/* #undef HAVE__HYPOTL */ - -/* Define to 1 if you have the `_isinf' function. */ -/* #undef HAVE__ISINF */ - -/* Define to 1 if you have the `_isinff' function. */ -/* #undef HAVE__ISINFF */ - -/* Define to 1 if you have the `_isinfl' function. */ -/* #undef HAVE__ISINFL */ - -/* Define to 1 if you have the `_isnan' function. */ -/* #undef HAVE__ISNAN */ - -/* Define to 1 if you have the `_isnanf' function. */ -/* #undef HAVE__ISNANF */ - -/* Define to 1 if you have the `_isnanl' function. */ -/* #undef HAVE__ISNANL */ - -/* Define to 1 if you have the `_ldexpf' function. */ -/* #undef HAVE__LDEXPF */ - -/* Define to 1 if you have the `_ldexpl' function. */ -/* #undef HAVE__LDEXPL */ - -/* Define to 1 if you have the `_log10f' function. */ -/* #undef HAVE__LOG10F */ - -/* Define to 1 if you have the `_log10l' function. */ -/* #undef HAVE__LOG10L */ - -/* Define to 1 if you have the `_logf' function. */ -/* #undef HAVE__LOGF */ - -/* Define to 1 if you have the `_logl' function. */ -/* #undef HAVE__LOGL */ - -/* Define to 1 if you have the `_modf' function. */ -/* #undef HAVE__MODF */ - -/* Define to 1 if you have the `_modff' function. */ -/* #undef HAVE__MODFF */ - -/* Define to 1 if you have the `_modfl' function. */ -/* #undef HAVE__MODFL */ - -/* Define to 1 if you have the `_powf' function. */ -/* #undef HAVE__POWF */ - -/* Define to 1 if you have the `_powl' function. */ -/* #undef HAVE__POWL */ - -/* Define to 1 if you have the `_qfpclass' function. */ -/* #undef HAVE__QFPCLASS */ - -/* Define to 1 if you have the `_sincos' function. */ -/* #undef HAVE__SINCOS */ - -/* Define to 1 if you have the `_sincosf' function. */ -/* #undef HAVE__SINCOSF */ - -/* Define to 1 if you have the `_sincosl' function. */ -/* #undef HAVE__SINCOSL */ - -/* Define to 1 if you have the `_sinf' function. */ -/* #undef HAVE__SINF */ - -/* Define to 1 if you have the `_sinhf' function. */ -/* #undef HAVE__SINHF */ - -/* Define to 1 if you have the `_sinhl' function. */ -/* #undef HAVE__SINHL */ - -/* Define to 1 if you have the `_sinl' function. */ -/* #undef HAVE__SINL */ - -/* Define to 1 if you have the `_sqrtf' function. */ -/* #undef HAVE__SQRTF */ - -/* Define to 1 if you have the `_sqrtl' function. */ -/* #undef HAVE__SQRTL */ - -/* Define to 1 if you have the `_tanf' function. */ -/* #undef HAVE__TANF */ - -/* Define to 1 if you have the `_tanhf' function. */ -/* #undef HAVE__TANHF */ - -/* Define to 1 if you have the `_tanhl' function. */ -/* #undef HAVE__TANHL */ - -/* Define to 1 if you have the `_tanl' function. */ -/* #undef HAVE__TANL */ - -/* Define to 1 if you have the `__cxa_thread_atexit_impl' function. */ -/* #undef HAVE___CXA_THREAD_ATEXIT_IMPL */ - -/* Define as const if the declaration of iconv() needs const. */ -/* #undef ICONV_CONST */ - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Name of package */ -/* #undef PACKAGE */ +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ -#define PACKAGE_NAME "package-unused" +#define PACKAGE_NAME "" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "package-unused version-unused" +#define PACKAGE_STRING "" /* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "libstdc++" +#define PACKAGE_TARNAME "" /* Define to the home page for this package. */ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "version-unused" - -/* The size of `char', as computed by sizeof. */ -/* #undef SIZEOF_CHAR */ +#define PACKAGE_VERSION "" /* The size of `int', as computed by sizeof. */ -/* #undef SIZEOF_INT */ +#define SIZEOF_INT 4 -/* The size of `long', as computed by sizeof. */ -/* #undef SIZEOF_LONG */ - -/* The size of `short', as computed by sizeof. */ -/* #undef SIZEOF_SHORT */ - -/* The size of `void *', as computed by sizeof. */ -/* #undef SIZEOF_VOID_P */ +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION -1 /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 -/* Version number of package */ -/* #undef VERSION */ +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 -/* Define if the compiler supports C++11 atomics. */ -#define _GLIBCXX_ATOMIC_BUILTINS 1 +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t -/* Define to use concept checking code from the boost libraries. */ -/* #undef _GLIBCXX_CONCEPT_CHECKS */ - -/* Define to 1 if a fully dynamic basic_string is wanted, 0 to disable, - undefined for platform defaults */ -#define _GLIBCXX_FULLY_DYNAMIC_STRING 0 - -/* Define if gthreads library is available. */ -/* #undef _GLIBCXX_HAS_GTHREADS */ - -/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ -#define _GLIBCXX_HOSTED 1 - -/* Define if compatibility should be provided for -mlong-double-64. */ -/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ - -/* Define if ptrdiff_t is int. */ -#define _GLIBCXX_PTRDIFF_T_IS_INT 1 - -/* Define if using setrlimit to set resource limits during "make check" */ -/* #undef _GLIBCXX_RES_LIMITS */ - -/* Define if size_t is unsigned int. */ -#define _GLIBCXX_SIZE_T_IS_UINT 1 - -/* Define if the compiler is configured for setjmp/longjmp exceptions. */ -/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ - -/* Define to the value of the EOF integer constant. */ -#define _GLIBCXX_STDIO_EOF -1 - -/* Define to the value of the SEEK_CUR integer constant. */ -#define _GLIBCXX_STDIO_SEEK_CUR 1 - -/* Define to the value of the SEEK_END integer constant. */ -#define _GLIBCXX_STDIO_SEEK_END 2 - -/* Define to use symbol versioning in the shared library. */ -/* #undef _GLIBCXX_SYMVER */ - -/* Define to use darwin versioning in the shared library. */ -/* #undef _GLIBCXX_SYMVER_DARWIN */ - -/* Define to use GNU versioning in the shared library. */ -/* #undef _GLIBCXX_SYMVER_GNU */ - -/* Define to use GNU namespace versioning in the shared library. */ -/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ - -/* Define to use Sun versioning in the shared library. */ -/* #undef _GLIBCXX_SYMVER_SUN */ - -/* Define if C99 functions or macros from , , , - , and can be used or exposed. */ -/* #undef _GLIBCXX_USE_C99 */ - -/* Define if C99 functions in should be used in . Using - compiler builtins for these functions requires corresponding C99 library - functions to be present. */ -/* #undef _GLIBCXX_USE_C99_COMPLEX */ - -/* Define if C99 functions in should be used in . - Using compiler builtins for these functions requires corresponding C99 - library functions to be present. */ -/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ - -/* Define if C99 functions in should be imported in in - namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_CTYPE_TR1 */ - -/* Define if C99 functions in should be imported in in - namespace std::tr1. */ -/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ - -/* Define if C99 functions in should be imported in - in namespace std::tr1. */ -#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 - -/* Define if wchar_t C99 functions in should be imported in - in namespace std::tr1. */ -#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std. */ -#define _GLIBCXX_USE_C99_MATH 1 - -/* Define if C99 functions or macros in should be imported in - in namespace std::tr1. */ -#define _GLIBCXX_USE_C99_MATH_TR1 1 - -/* Define if C99 types in should be imported in in - namespace std::tr1. */ -#define _GLIBCXX_USE_C99_STDINT_TR1 1 - -/* Defined if clock_gettime has monotonic clock support. */ -/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ - -/* Defined if clock_gettime syscall has monotonic and realtime clock support. */ -/* #undef _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL */ - -/* Defined if clock_gettime has realtime clock support. */ -/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ - -/* Define if ISO/IEC TR 24733 decimal floating point types are supported on - this host. */ -#define _GLIBCXX_USE_DECIMAL_FLOAT 1 - -/* Define if __float128 is supported on this host. */ -#define _GLIBCXX_USE_FLOAT128 1 - -/* Defined if gettimeofday is available. */ -#define _GLIBCXX_USE_GETTIMEOFDAY 1 - -/* Define if get_nprocs is available in . */ -/* #undef _GLIBCXX_USE_GET_NPROCS */ - -/* Define if __int128 is supported on this host. */ -/* #undef _GLIBCXX_USE_INT128 */ - -/* Define if LFS support is available. */ -/* #undef _GLIBCXX_USE_LFS */ - -/* Define if code specialized for long long should be used. */ -#define _GLIBCXX_USE_LONG_LONG 1 - -/* Defined if nanosleep is available. */ -/* #undef _GLIBCXX_USE_NANOSLEEP */ - -/* Define if NLS translations are to be used. */ -/* #undef _GLIBCXX_USE_NLS */ - -/* Define if pthreads_num_processors_np is available in . */ -/* #undef _GLIBCXX_USE_PTHREADS_NUM_PROCESSORS_NP */ - -/* Define if /dev/random and /dev/urandom are available for the random_device - of TR1 (Chapter 5.1). */ -/* #undef _GLIBCXX_USE_RANDOM_TR1 */ - -/* Defined if sched_yield is available. */ -/* #undef _GLIBCXX_USE_SCHED_YIELD */ - -/* Define if _SC_NPROCESSORS_ONLN is available in . */ -/* #undef _GLIBCXX_USE_SC_NPROCESSORS_ONLN */ - -/* Define if _SC_NPROC_ONLN is available in . */ -/* #undef _GLIBCXX_USE_SC_NPROC_ONLN */ - -/* Define if sysctl(), CTL_HW and HW_NCPU are available in . */ -/* #undef _GLIBCXX_USE_SYSCTL_HW_NCPU */ - -/* Define if code specialized for wchar_t should be used. */ -//#define _GLIBCXX_USE_WCHAR_T 1 - -/* Define to 1 if a verbose library is built, or 0 otherwise. */ -#define _GLIBCXX_VERBOSE 1 - -/* Defined if as can handle rdrand. */ -#define _GLIBCXX_X86_RDRAND 1 - -/* Define to 1 if mutex_timedlock is available. */ -#define _GTHREAD_USE_MUTEX_TIMEDLOCK 1 - -#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) -# define HAVE_ACOSF 1 -# define acosf _acosf +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif #endif -#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) -# define HAVE_ACOSL 1 -# define acosl _acosl +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ #endif -#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) -# define HAVE_ASINF 1 -# define asinf _asinf -#endif +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ -#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) -# define HAVE_ASINL 1 -# define asinl _asinl -#endif +/* Define to `int' if does not define. */ +/* #undef pid_t */ -#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) -# define HAVE_ATAN2F 1 -# define atan2f _atan2f -#endif +/* Define to `int' if does not define. */ +/* #undef ssize_t */ -#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) -# define HAVE_ATAN2L 1 -# define atan2l _atan2l -#endif +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ -#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) -# define HAVE_ATANF 1 -# define atanf _atanf -#endif - -#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) -# define HAVE_ATANL 1 -# define atanl _atanl -#endif - -#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) -# define HAVE_CEILF 1 -# define ceilf _ceilf -#endif - -#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) -# define HAVE_CEILL 1 -# define ceill _ceill -#endif - -#if defined (HAVE__COSF) && ! defined (HAVE_COSF) -# define HAVE_COSF 1 -# define cosf _cosf -#endif - -#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) -# define HAVE_COSHF 1 -# define coshf _coshf -#endif - -#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) -# define HAVE_COSHL 1 -# define coshl _coshl -#endif - -#if defined (HAVE__COSL) && ! defined (HAVE_COSL) -# define HAVE_COSL 1 -# define cosl _cosl -#endif - -#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) -# define HAVE_EXPF 1 -# define expf _expf -#endif - -#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) -# define HAVE_EXPL 1 -# define expl _expl -#endif - -#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) -# define HAVE_FABSF 1 -# define fabsf _fabsf -#endif - -#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) -# define HAVE_FABSL 1 -# define fabsl _fabsl -#endif - -#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) -# define HAVE_FINITE 1 -# define finite _finite -#endif - -#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) -# define HAVE_FINITEF 1 -# define finitef _finitef -#endif - -#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) -# define HAVE_FINITEL 1 -# define finitel _finitel -#endif - -#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) -# define HAVE_FLOORF 1 -# define floorf _floorf -#endif - -#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) -# define HAVE_FLOORL 1 -# define floorl _floorl -#endif - -#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) -# define HAVE_FMODF 1 -# define fmodf _fmodf -#endif - -#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) -# define HAVE_FMODL 1 -# define fmodl _fmodl -#endif - -#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) -# define HAVE_FPCLASS 1 -# define fpclass _fpclass -#endif - -#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) -# define HAVE_FREXPF 1 -# define frexpf _frexpf -#endif - -#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) -# define HAVE_FREXPL 1 -# define frexpl _frexpl -#endif - -#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) -# define HAVE_HYPOT 1 -# define hypot _hypot -#endif - -#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) -# define HAVE_HYPOTF 1 -# define hypotf _hypotf -#endif - -#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) -# define HAVE_HYPOTL 1 -# define hypotl _hypotl -#endif - -#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) -# define HAVE_ISINF 1 -# define isinf _isinf -#endif - -#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) -# define HAVE_ISINFF 1 -# define isinff _isinff -#endif - -#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) -# define HAVE_ISINFL 1 -# define isinfl _isinfl -#endif - -#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) -# define HAVE_ISNAN 1 -# define isnan _isnan -#endif - -#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) -# define HAVE_ISNANF 1 -# define isnanf _isnanf -#endif - -#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) -# define HAVE_ISNANL 1 -# define isnanl _isnanl -#endif - -#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) -# define HAVE_LDEXPF 1 -# define ldexpf _ldexpf -#endif - -#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) -# define HAVE_LDEXPL 1 -# define ldexpl _ldexpl -#endif - -#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) -# define HAVE_LOG10F 1 -# define log10f _log10f -#endif - -#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) -# define HAVE_LOG10L 1 -# define log10l _log10l -#endif - -#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) -# define HAVE_LOGF 1 -# define logf _logf -#endif - -#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) -# define HAVE_LOGL 1 -# define logl _logl -#endif - -#if defined (HAVE__MODF) && ! defined (HAVE_MODF) -# define HAVE_MODF 1 -# define modf _modf -#endif - -#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) -# define HAVE_MODFF 1 -# define modff _modff -#endif - -#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) -# define HAVE_MODFL 1 -# define modfl _modfl -#endif - -#if defined (HAVE__POWF) && ! defined (HAVE_POWF) -# define HAVE_POWF 1 -# define powf _powf -#endif - -#if defined (HAVE__POWL) && ! defined (HAVE_POWL) -# define HAVE_POWL 1 -# define powl _powl -#endif - -#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) -# define HAVE_QFPCLASS 1 -# define qfpclass _qfpclass -#endif - -#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) -# define HAVE_SINCOS 1 -# define sincos _sincos -#endif - -#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) -# define HAVE_SINCOSF 1 -# define sincosf _sincosf -#endif - -#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) -# define HAVE_SINCOSL 1 -# define sincosl _sincosl -#endif - -#if defined (HAVE__SINF) && ! defined (HAVE_SINF) -# define HAVE_SINF 1 -# define sinf _sinf -#endif - -#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) -# define HAVE_SINHF 1 -# define sinhf _sinhf -#endif - -#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) -# define HAVE_SINHL 1 -# define sinhl _sinhl -#endif - -#if defined (HAVE__SINL) && ! defined (HAVE_SINL) -# define HAVE_SINL 1 -# define sinl _sinl -#endif - -#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) -# define HAVE_SQRTF 1 -# define sqrtf _sqrtf -#endif - -#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) -# define HAVE_SQRTL 1 -# define sqrtl _sqrtl -#endif - -#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) -# define HAVE_STRTOF 1 -# define strtof _strtof -#endif - -#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) -# define HAVE_STRTOLD 1 -# define strtold _strtold -#endif - -#if defined (HAVE__TANF) && ! defined (HAVE_TANF) -# define HAVE_TANF 1 -# define tanf _tanf -#endif - -#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) -# define HAVE_TANHF 1 -# define tanhf _tanhf -#endif - -#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) -# define HAVE_TANHL 1 -# define tanhl _tanhl -#endif - -#if defined (HAVE__TANL) && ! defined (HAVE_TANL) -# define HAVE_TANL 1 -# define tanl _tanl -#endif +/* Define as `fork' if `vfork' does not work. */ +#define vfork fork diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/dyncast.cc b/contrib/sdk/sources/libstdc++-v3/libsupc++/dyncast.cc index 2e5dbf0a33..b9db8ee5fc 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/dyncast.cc +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/dyncast.cc @@ -55,6 +55,18 @@ __dynamic_cast (const void *src_ptr, // object started from adjust_pointer (src_ptr, prefix->whole_object); const __class_type_info *whole_type = prefix->whole_type; __class_type_info::__dyncast_result result; + + // If the whole object vptr doesn't refer to the whole object type, we're + // in the middle of constructing a primary base, and src is a separate + // base. This has undefined behavior and we can't find anything outside + // of the base we're actually constructing, so fail now rather than + // segfault later trying to use a vbase offset that doesn't exist. + const void *whole_vtable = *static_cast (whole_ptr); + const vtable_prefix *whole_prefix = + adjust_pointer (whole_vtable, + -offsetof (vtable_prefix, origin)); + if (whole_prefix->whole_type != whole_type) + return NULL; whole_type->__do_dyncast (src2dst, __class_type_info::__contained_public, dst_type, whole_ptr, src_type, src_ptr, result); diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_alloc.cc b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_alloc.cc index 9b3fb4db1c..2fdc068aeb 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_alloc.cc +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_alloc.cc @@ -129,12 +129,6 @@ __cxxabiv1::__cxa_allocate_exception(std::size_t thrown_size) _GLIBCXX_NOTHROW std::terminate (); } - // We have an uncaught exception as soon as we allocate memory. This - // yields uncaught_exception() true during the copy-constructor that - // initializes the exception object. See Issue 475. - __cxa_eh_globals *globals = __cxa_get_globals (); - globals->uncaughtExceptions += 1; - memset (ret, 0, sizeof (__cxa_refcounted_exception)); return (void *)((char *)ret + sizeof (__cxa_refcounted_exception)); @@ -191,12 +185,6 @@ __cxxabiv1::__cxa_allocate_dependent_exception() _GLIBCXX_NOTHROW std::terminate (); } - // We have an uncaught exception as soon as we allocate memory. This - // yields uncaught_exception() true during the copy-constructor that - // initializes the exception object. See Issue 475. - __cxa_eh_globals *globals = __cxa_get_globals (); - globals->uncaughtExceptions += 1; - memset (ret, 0, sizeof (__cxa_dependent_exception)); return ret; diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_call.cc b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_call.cc index 18ba0db7c3..e5a82d66e9 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_call.cc +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_call.cc @@ -140,7 +140,11 @@ __cxa_call_unexpected(void* exc_obj_in) &new_ptr) != ctm_failed) __throw_exception_again; - if (catch_type->__do_catch(&bad_exc, 0, 1)) + // 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 NULL. + void* obj = NULL; + if (catch_type->__do_catch(&bad_exc, &obj, 1)) bad_exception_allowed = true; } diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_personality.cc b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_personality.cc index e2ceb11600..07456cf2c9 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_personality.cc +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_personality.cc @@ -378,6 +378,12 @@ PERSONALITY_FUNCTION (int version, switch (state & _US_ACTION_MASK) { case _US_VIRTUAL_UNWIND_FRAME: + // If the unwind state pattern is + // _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND + // then we don't need to search for any handler as it is not a real + // exception. Just unwind the stack. + if (state & _US_FORCE_UNWIND) + CONTINUE_UNWINDING; actions = _UA_SEARCH_PHASE; break; diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_throw.cc b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_throw.cc index a79a025af1..1d6a2df500 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_throw.cc +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/eh_throw.cc @@ -62,6 +62,9 @@ __cxxabiv1::__cxa_throw (void *obj, std::type_info *tinfo, { PROBE2 (throw, obj, tinfo); + __cxa_eh_globals *globals = __cxa_get_globals (); + globals->uncaughtExceptions += 1; + // Definitely a primary. __cxa_refcounted_exception *header = __get_refcounted_exception_header_from_obj (obj); diff --git a/contrib/sdk/sources/libstdc++-v3/libsupc++/libiberty.h b/contrib/sdk/sources/libstdc++-v3/libsupc++/libiberty.h index cacde800ea..8b4fa9fd87 100644 --- a/contrib/sdk/sources/libstdc++-v3/libsupc++/libiberty.h +++ b/contrib/sdk/sources/libstdc++-v3/libsupc++/libiberty.h @@ -85,11 +85,11 @@ extern char **dupargv (char **) ATTRIBUTE_MALLOC; /* Expand "@file" arguments in argv. */ -extern void expandargv PARAMS ((int *, char ***)); +extern void expandargv (int *, char ***); /* Write argv to an @-file, inserting necessary quoting. */ -extern int writeargv PARAMS ((char **, FILE *)); +extern int writeargv (char **, FILE *); /* Return the number of elements in argv. */ diff --git a/contrib/sdk/sources/libstdc++-v3/src/c++11/thread.cc b/contrib/sdk/sources/libstdc++-v3/src/c++11/thread.cc index 8d040a729a..0351f19e04 100644 --- a/contrib/sdk/sources/libstdc++-v3/src/c++11/thread.cc +++ b/contrib/sdk/sources/libstdc++-v3/src/c++11/thread.cc @@ -183,7 +183,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ::usleep(__us); } # else - ::sleep(__s.count() + (__ns >= 1000000)); + ::sleep(__s.count() + (__ns.count() >= 1000000)); # endif #elif defined(_GLIBCXX_HAVE_WIN32_SLEEP) unsigned long ms = __ns.count() / 1000000; diff --git a/contrib/sdk/sources/libstdc++-v3/src/c++98/ios_init.cc b/contrib/sdk/sources/libstdc++-v3/src/c++98/ios_init.cc index 16a10f6e83..36ac924dad 100644 --- a/contrib/sdk/sources/libstdc++-v3/src/c++98/ios_init.cc +++ b/contrib/sdk/sources/libstdc++-v3/src/c++98/ios_init.cc @@ -37,7 +37,7 @@ namespace __gnu_internal _GLIBCXX_VISIBILITY(hidden) { using namespace __gnu_cxx; - // Extern declarations for global objects in src/globals.cc. + // Extern declarations for global objects in src/c++98/globals.cc. extern stdio_sync_filebuf buf_cout_sync; extern stdio_sync_filebuf buf_cin_sync; extern stdio_sync_filebuf buf_cerr_sync;