aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/ext
AgeCommit message (Collapse)AuthorFilesLines
2014-12-12re PR libstdc++/64276 (would be better to use __cpp_exceptions rather than ↵Jonathan Wakely2-2/+2
__EXCEPTIONS to determine whether exceptions are available) PR libstdc++/64276 * doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti. * doc/html/manual/using_exceptions.html: Regenerate. * doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and __GXX_RTTI. * include/bits/c++config: Likewise. * include/bits/locale_classes.tcc: Likewise. * include/bits/shared_ptr.h: Likewise. * include/bits/shared_ptr_base.h: Likewise. * include/debug/formatter.h: Likewise. * include/experimental/any: Likewise. * include/ext/rope: Likewise. * include/ext/ropeimpl.h: Likewise. * include/std/functional: Likewise. * include/tr1/functional: Likewise. * include/tr1/shared_ptr.h: Likewise. * libsupc++/eh_call.cc: Likewise. * libsupc++/eh_personality.cc: Likewise. * libsupc++/exception_defines.h: Likewise. * libsupc++/exception_ptr.h: Likewise. * libsupc++/guard.cc: Likewise. * libsupc++/pbase_type_info.cc: Likewise. * libsupc++/pointer_type_info.cc: Likewise. * libsupc++/vterminate.cc: Likewise. * src/c++11/thread.cc: Likewise. From-SVN: r218679
2014-11-17re PR c++/33911 (attribute deprecated vs. templates)Jason Merrill1-0/+6
PR c++/33911 gcc/cp/ * call.c (build_call_a): Don't warn_deprecated_use here. (build_over_call): Or here. * decl2.c (mark_used): Do it here. (is_late_template_attribute): Attribute deprecated is not deferred. (cplus_decl_attributes): Propagate TREE_DEPRECATED out to the template. * parser.c (cp_parser_template_name): Warn about deprecated template. (cp_parser_template_argument): Likewise. libstdc++-v3/ * include/backward/binders.h: Suppress -Wdeprecated-declarations. * include/ext/array_allocator.h: Likewise. From-SVN: r217677
2014-09-22Make streams movable and swappable.Jonathan Wakely2-1/+40
PR libstdc++/54316 PR libstdc++/53626 * config/abi/pre/gnu.ver: Add new exports. * config/io/basic_file_stdio.h (__basic_file): Support moving and swapping. * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap): Likewise. * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap): Likewise. * include/bits/fstream.tcc (basic_filebuf): Likewise. * include/bits/move.h (__exchange): Define for C++11 mode. * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and swapping. * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise. * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream, basic_fstream): Likewise. * include/std/ios: Remove whitespace. * include/std/istream (basic_istream, basic_iostream): Support moving and swapping. * include/std/ostream (basic_ostream): Likewise. * include/std/sstream (basic_stringbuf, basic_istringstream, basic_ostringstream, basic_stringstream): Likewise. * include/std/streambuf (basic_streambuf): Do not default copy constructor and assignment on first declaration. * include/std/utility (exchange): Forward to __exchange. * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New. * src/c++11/Makefile.am: Add stream-related files. * src/c++11/Makefile.in: Regenerate. * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf): New file for explicit instantiation definitions. * src/c++11/ios.cc: Move from src/c++98 to here. (ios_base::_M_move, ios_base::_M_swap): Define. * src/c++11/ios-inst.cc: Move from src/c++98 to here. * src/c++11/iostream-inst.cc: Likewise. * src/c++11/istream-inst.cc: Likewise. * src/c++11/ostream-inst.cc: Likewise. * src/c++11/sstream-inst.cc: Likewise. * src/c++11/streambuf-inst.cc: Likewise. * src/c++98/Makefile.am: Remove stream-related files. * src/c++98/Makefile.in: Regenerate. * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit instantiations. * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise. * src/c++98/ios-inst.cc: Move to src/c++11/. * src/c++98/ios.cc: Move to src/c++11/. * src/c++98/iostream-inst.cc: Likewise. * src/c++98/istream-inst.cc: Likewise. * src/c++98/ostream-inst.cc: Likewise. * src/c++98/sstream-inst.cc: Likewise. * src/c++98/streambuf-inst.cc: Likewise. * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New. * testsuite/27_io/basic_fstream/cons/move.cc: New. * testsuite/27_io/basic_fstream/assign/1.cc: New. * testsuite/27_io/basic_ifstream/cons/move.cc: New. * testsuite/27_io/basic_ifstream/assign/1.cc: New. * testsuite/27_io/basic_istringstream/assign/1.cc: New. * testsuite/27_io/basic_istringstream/cons/move.cc: New. * testsuite/27_io/basic_ofstream/cons/move.cc: New. * testsuite/27_io/basic_ofstream/assign/1.cc: New. * testsuite/27_io/basic_ostringstream/assign/1.cc: New. * testsuite/27_io/basic_ostringstream/cons/move.cc: New. * testsuite/27_io/basic_stringstream/assign/1.cc: New. * testsuite/27_io/basic_stringstream/cons/move.cc: New. From-SVN: r215463
2014-08-132014-08-13 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini1-1/+1
* Fix thinko in the last commit. From-SVN: r213908
2014-08-13re PR libstdc++/62118 (cases under libstdc++-v3/testsuite/ext/ failed on ↵Paolo Carlini1-2/+8
aarch64/arm) 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/62118 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>:: operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1. From-SVN: r213906
2014-08-09random.tcc (uniform_on_sphere_helper): Define.Ulrich Drepper1-12/+79
* include/ext/random.tcc (uniform_on_sphere_helper): Define. (uniform_on_sphere_distribution::operator()): Use the new helper class for the implementation. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ equal.cc: Remove bogus part of comment. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ inequal.cc: Likewise. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ serialize.cc: Add check to verify result of serialzation and deserialization. * testsuite/ext/random/uniform_on_sphere_distribution/operators/ generate.cc: New file. From-SVN: r213779
2014-08-09invoke.texi ([Wnarrowing]): Update for non-constants in C++11.Paolo Carlini1-1/+3
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com> * doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11. gcc/cp 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com> * typeck2.c (check_narrowing): Add tsubst_flags_t parameter, change return type to bool; in C++11 for constants give errors, not pedwarns. * cp-tree.h (check_narrowing): Adjust declaration. * call.c (convert_like_real): Update calls. * semantics.c (finish_compound_literal): Likewise. gcc/testsuite 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/Wnarrowing1.C: Adjust for errors. * g++.dg/cpp0x/enum29.C: Adjust. /libstdc++-v3 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/pod_char_traits.h (char_traits<__gnu_cxx:: character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion. From-SVN: r213776
2014-07-29re PR libstdc++/61946 (rope construction, passing allocator referenct ↵Jonathan Wakely1-3/+4
without const) 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. From-SVN: r213220
2014-07-29PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>Ed Smith-Rowland1-1/+1
2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...> * include/bits/random.h (_Adaptor): static_assert for non floating-point result type. * include/bits/random.tcc (generate_canonical): Ditto. * include/ext/random.tcc (hypergeometric_distribution::operator()): Use double as a rng result type. * testsuite/26_numerics/random/pr60037-neg.cc: New. * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New. From-SVN: r213207
2014-07-16random: Minor formatting and cosmetic tweaks.Paolo Carlini2-19/+20
2014-07-16 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/random: Minor formatting and cosmetic tweaks. (uniform_on_sphere_distribution<>::operator== (const uniform_on_sphere_distribution&, const uniform_on_sphere_distribution&)): Compare the _M_nds. (uniform_on_sphere_distribution<>::reset): Reset _M_nd. (operator!=(const uniform_on_sphere_distribution&, const uniform_on_sphere_distribution&)): Adjust. * include/ext/random.tcc: Minor cosmetc tweaks. From-SVN: r212674
2014-07-14random.tcc: Unfortunately more fixes for operator>> and operator<< for...Ulrich Drepper1-2/+2
* include/ext/random.tcc: Unfortunately more fixes for operator>> and operator<< for uniform_on_sphere_distribution. From-SVN: r212517
2014-07-13random.tcc: Fix operator>> and operator<< for uniform_on_sphere_distribution.Ulrich Drepper1-2/+2
* include/ext/random.tcc: Fix operator>> and operator<< for uniform_on_sphere_distribution. From-SVN: r212496
2014-07-13random: Add uniform_on_sphere_distribution definition.Ulrich Drepper2-7/+257
2014-07-12 Ulrich Drepper <drepper@gmail.com> * include/ext/random: Add uniform_on_sphere_distribution definition. * include/ext/random.tcc: Add out-of-band member function definitions for uniform_on_sphere_distribution. * testsuite/ext/random/uniform_on_sphere_distribution/ cons/default.cc: New file. * testsuite/ext/random/uniform_on_sphere_distribution/ operators/equal.cc: New file. * testsuite/ext/random/uniform_on_sphere_distribution/ operators/inequal.cc: New file. * testsuite/ext/random/uniform_on_sphere_distribution/ operators/serialize.cc: New file. From-SVN: r212492
2014-07-12Add the logistic_distribution as an extension.Edward Smith-Rowland2-35/+348
2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net> Add the logistic_distribution as an extension. * include/ext/random: Add the logistic_distribution. * include/ext/random.tcc: Add the logistic_distribution. * testsuite/ext/random/logistic_distribution/cons/parms.cc: New. * testsuite/ext/random/logistic_distribution/cons/default.cc: New. * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc: New. * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New. * testsuite/ext/random/logistic_distribution/operators/equal.cc: New. * testsuite/ext/random/logistic_distribution/operators/serialize.cc: New. From-SVN: r212476
2014-06-25alloc_traits.h (__alloc_rebind): Define alias template.Jonathan Wakely1-1/+1
* include/bits/alloc_traits.h (__alloc_rebind): Define alias template. * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind. * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc): Likewise. * include/ext/alloc_traits.h: Fix comment. From-SVN: r211995
2014-06-24functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ ↵Jonathan Wakely1-1/+1
archetype to prevent warnings for "%zu". * include/bits/functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ archetype to prevent warnings for "%zu". * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday): Remove unused typedef. (time_get::do_get_monthname): Likewise. * include/bits/stl_tree.h: Add system_header pragma. * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove redundant const-qualifier. * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro instead of _GLIBCXX_USE_CONSTEXPR. From-SVN: r211951
2014-06-14api.xml: Link to more recent API docs.Jonathan Wakely1-1/+1
* doc/xml/api.xml: Link to more recent API docs. * include/bits/allocator.h: Fix link in doxygen comment. * include/bits/char_traits.h: Likewise. * include/bits/ios_base.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/unordered_map.h: Likewise. * include/bits/unordered_set.h: Likewise. * include/ext/mt_allocator.h: Likewise. * include/std/fstream: Likewise. * include/std/iosfwd: Likewise. * include/std/ostream: Likewise. * include/std/sstream: Likewise. * include/std/streambuf: Likewise. * doc/html/*: Regenerate. From-SVN: r211671
2014-06-14status_cxx2014.xml: Update Fundamentals TS status.Jonathan Wakely1-0/+5
* doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/experimental/any: New. * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New constructor. * testsuite/experimental/any/assign/1.cc: New. * testsuite/experimental/any/assign/2.cc: New. * testsuite/experimental/any/cons/1.cc: New. * testsuite/experimental/any/cons/2.cc: New. * testsuite/experimental/any/cons/3.cc: New. * testsuite/experimental/any/misc/any_cast.cc: New. * testsuite/experimental/any/misc/any_cast_neg.cc: New. * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New. * testsuite/experimental/any/misc/swap.cc: New. * testsuite/experimental/any/modifiers/1.cc: New. * testsuite/experimental/any/observers/type.cc: New. From-SVN: r211669
2014-06-10re PR libstdc++/61390 (error in nested template parameter in ext/pb_ds ↵Jonathan Wakely1-2/+2
header file) PR libstdc++/61390 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp (bin_search_tree_traits): Do not redeclare template-parameters. * testsuite/util/testsuite_iterators.h (test_container): Likewise. From-SVN: r211421
2014-01-29re PR libstdc++/21609 (array_allocator vs rebind & templated constructor)Jonathan Wakely1-3/+5
PR libstdc++/21609 * include/ext/array_allocator.h: Add deprecated attribute. From-SVN: r207280
2014-01-29alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when ↵Jonathan Wakely1-39/+12
argument could be non-POD. * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD. (__alloctr_rebind_helper): Eliminate static const bool member by using true_type and false_type. (allocator_traits::__allocate_helper): Likewise. (allocator_traits::__construct_helper): Likewise. (allocator_traits::__destroy_helper): Likewise. (allocator_traits::__maxsize_helper): Likewise. (allocator_traits::__select_helper): Likewise. * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise. * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)): Remove redundant condition. * include/bits/stl_vector.h (vector::operator=(const vector&)): Likewise. (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use indirection through __alloc_traits. * include/ext/alloc_traits.h (__allocator_always_compares_equal): Eliminate static const bool members by using true_type and false_type. (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize. * testsuite/util/testsuite_allocator.h (PointerBase): Define. * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc: New. * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New. From-SVN: r207240
2014-01-02Update copyright years in libstdc++-v3/Richard Sandiford285-285/+285
From-SVN: r206301
2013-11-22re PR libstdc++/59247 (Bootstrap fails due to errors in libstdc++ sources ↵Jonathan Wakely1-1/+1
with `--enable-symvers=gnu-versioned-namespace') PR libstdc++/59247 * include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace std::experimental::__7 as inline. * include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not enclose namespace __detail. * include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise. * include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise. * include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number. From-SVN: r205277
2013-11-21Implement __gnu_cxx::hypergeometric_distribution.Edward Smith-Rowland2-1/+368
2013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net> Implement __gnu_cxx::hypergeometric_distribution. * include/ext/random: Add hypergeometric_distribution. * include/ext/random.tcc: Add hypergeometric_distribution. * testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf for the hypergeometric discreet distribution; (lbincoef): New supporting function for binomial coefficients. * testsuite/ext/random/hypergeometric_distribution/operators/ serialize.cc: New. * testsuite/ext/random/hypergeometric_distribution/operators/ equal.cc: New. * testsuite/ext/random/hypergeometric_distribution/operators/ inequal.cc: New. * testsuite/ext/random/hypergeometric_distribution/operators/ values.cc: New. * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New. * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New. * testsuite/ext/random/hypergeometric_distribution/requirements/ explicit_instantiation/1.cc: New. * testsuite/ext/random/hypergeometric_distribution/requirements/ typedefs.cc: New. From-SVN: r205212
2013-11-20re PR c++/59173 (Alias template in partial specialization finds name from ↵Jonathan Wakely1-1/+1
primary template) PR c++/59173 * include/ext/pointer.h (pointer_traits<>::rebind<>): Add template keyword in nested name. From-SVN: r205114
2013-11-15build_hacking.xml: Fix documentation typos.Ondřej Bílka1-1/+1
2013-11-15 Ondřej Bílka <neleai@seznam.cz> Jonathan Wakely <jwakely.gcc@gmail.com> * doc/xml/manual/build_hacking.xml: Fix documentation typos. * doc/xml/manual/configure.xml: Likewise. * include/bits/atomic_base.h: Fix typos in comments. * include/bits/random.h: Likewise. * include/ext/cast.h: Likewise. * libsupc++/cxxabi.h: Likewise. * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/testcase.h: Likewise. * testsuite/util/exception/safety.h: Likewise. * testsuite/util/testsuite_containers.h: Likewise. * testsuite/util/testsuite_hooks.cc: Likewise. Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com> From-SVN: r204850
2013-11-13re PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because ↵Marc Glisse1-16/+18
of C's complex.h) 2013-11-13 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/59087 * include/ext/pod_char_traits.h: Uglify V, I and S. From-SVN: r204750
2013-09-21Print additional info when various out-of-range conditions are detected.Paul Pluzhnikov1-3/+11
2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com> * include/bits/functexcept.h (__throw_out_of_range_fmt): New. * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New. * src/c++11/snprintf_lite.cc: New. * src/c++11/Makefile.am: Add snprintf_lite.cc. * src/c++11/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz. * include/std/array (at): Use __throw_out_of_range_fmt. * include/debug/array (at): Likewise. * include/profile/array (at): Likewise. * include/std/bitset (_M_check_initial_position, _M_check): New. (bitset::bitset): Use _M_check_initial_position. (set, reset, flip, test): Use _M_check. * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt. * include/bits/stl_vector.h (_M_range_check): Likewise. * include/bits/stl_bvector.h (_M_range_check): Likewise. * include/bits/stl_deque.h (_M_range_check): Likewise. * include/bits/basic_string.h (_M_check, at): Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise. * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt. From-SVN: r202818
2013-09-19re PR libstdc++/58338 (Add noexcept to functions with a narrow contract)Marc Glisse1-21/+15
2013-09-19 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/58338 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]: Mark as noexcept. (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->, operator++, operator--, operator==, operator!=]: Likewise. (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast, operator*, operator->, operator++, operator--, operator==, operator!=]: Likewise. (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&), operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)): Likewise. (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost, _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum, _S_maximum]: Likewise. * include/debug/string (basic_string) [basic_string(const _Allocator&), shrink_to_fit, operator[], pop_back]: Likewise. * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct, _M_ibegin, _M_iend, __versa_string(const _Alloc&), operator=(__versa_string&&), shrink_to_fit, operator[], front, back, assign(__versa_string&&), swap]: Likewise. (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]: Merge. From-SVN: r202737
2013-09-13re PR libstdc++/58415 (__sso_string_base move constructor does not null ↵Paolo Carlini1-2/+2
terminate local data when moving from empty string) 2013-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/58415 * include/ext/sso_string_base.h (__sso_string_base<>:: __sso_string_base(__sso_string_base&&)): Fix thinkos about _M_length vs _M_set_length. * testsuite/ext/vstring/cons/58415-1.cc: New. * testsuite/ext/vstring/cons/58415-2.cc: Likewise. From-SVN: r202574
2013-08-15re PR libstdc++/58163 ([C++11] Pedantic assert on str[str.size()] is wrong ↵Paolo Carlini1-3/+5
in C++11) 2013-08-14 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/58163 * include/bits/basic_string.h (basic_string<>::operator[]): Fix _GLIBCXX_DEBUG_PEDASSERT check vs C++11. * include/ext/vstring.h: Likewise. * testsuite/21_strings/basic_string/element_access/char/58163.cc: New. * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: Likewise. * testsuite/ext/vstring/element_access/char/58163.cc: Likewise. * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise. From-SVN: r201755
2013-08-07atomicity.h: Add #pragma GCC system_header.Paolo Carlini1-0/+2
2013-08-07 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/atomicity.h: Add #pragma GCC system_header. From-SVN: r201567
2013-08-07re PR libstdc++/58098 (wrong return value of normal_distribution::min())Paolo Carlini1-1/+1
2013-08-07 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/58098 * include/bits/random.h (cauchy_distribution<>::min, extreme_value_distribution<>::min, normal_distribution<>::min, student_t_distribution<>::min): Fix. * include/ext/random (normal_mv_distribution<>::min): Likewise. * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: Adjust. testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/extreme_value_distribution/cons/ parms.cc: Likewise. testsuite/26_numerics/random/extreme_value_distribution/cons/ default.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/normal_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: Likewise. * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: Minor tweak. * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: Likewise. * testsuite/ext/von_mises_distribution/*: Move to... * testsuite/ext/random/von_mises_distribution/*: ... here. * testsuite/ext/triangular_distribution/*: Move to... * testsuite/ext/random/triangular_distribution/*: ... here. From-SVN: r201562
2013-07-01stl_list.h (list<>::insert(iterator, size_type, const value_type&), [...]): ↵Paolo Carlini2-18/+93
Adjust C++11 signatures to take const_iterator(s). 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_list.h (list<>::insert(iterator, size_type, const value_type&), list<>::insert(iterator, initializer_list<>), list<>::insert(iterator, _InputIterator, _InputIterator), list<>::splice(iterator, list&&), list<>::splice(iterator, list&), list<>::splice(iterator, list&&, iterator), list<>::splice(iterator, list&, iterator), list<>::splice(iterator, list&&, iterator, iterator), list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11 signatures to take const_iterator(s). * include/bits/list.tcc (list<>::insert(const_iterator, size_type, const value_type&), list<>::insert(const_iterator, _InputIterator, _InputIterator)): Define. * include/ext/vstring.h (__versa_string<>::insert(iterator, size_type, _CharT), __versa_string<>::insert(iterator, _InputIterator, _InputIterator), __versa_string<>::insert(iterator, std::initializer_list<>), __versa_string<>::replace(iterator, iterator, _InputIterator, _InputIterator), __versa_string<>:: replace(iterator, iterator, std::initializer_list<>)): Adjust C++11 signatures to take const_iterator(s). (__versa_string<>::_M_replace_dispatch): Take const_iterators. * include/ext/vstring.tcc: Likewise. * include/debug/list: Adjust. * include/profile/list: Likewise. * testsuite/23_containers/list/operations/splice/const_iterator.cc: New. * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: Extend. * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r200580
2013-06-27stl_deque.h (deque<>::insert(iterator, const value_type&), [...]): Adjust ↵Paolo Carlini1-2/+25
C++11 signatures to take a const_iterator. 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_deque.h (deque<>::insert(iterator, const value_type&), deque<>::insert(iterator, value_type&&), deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to take a const_iterator. (deque<>::erase): Simplify. * include/bits/stl_list.h: Likewise. (_List_iterator<>::_M_const_cast): Add. * include/bits/stl_vector.h: Likewise. * include/bits/stl_bvector.h: Likewise. (_Bit_iterator::_M_const_cast): Add. * include/bits/deque.tcc: Adjust definitions. * include/bits/list.tcc: Likewise. * include/bits/vector.tcc: Likewise. * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): Define trivial version in C++98 mode. * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT), __versa_string<>::replace(iterator, iterator, const __versa_string&), __versa_string<>::replace(iterator, iterator, const _CharT*, size_type), __versa_string<>::replace(iterator, iterator, const _CharT*), __versa_string<>::replace(iterator, iterator, size_type, _CharT)): Adjust C++11 signatures to take a pair of const_iterators. * include/debug/deque: Adjust. * include/debug/list: Likewise. * include/debug/vector: Likewise. * include/profile/deque: Likewise. * include/profile/list: Likewise. * include/profile/vector: Likewise. (vector<>::emplace): Add. * testsuite/util/exception/safety.h: Update. * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: New. * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: Likewise. * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: Likewise. * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: Likewise. * testsuite/23_containers/vector/bool/modifiers/insert/ const_iterator.cc: Likewise. * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: Likewise. * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: Likewise. * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/ ext/vstring/modifiers/erase/char/. * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/ ext/vstring/modifiers/wchar_t/. * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/ ext/vstring/modifiers/pop_back/char/. * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to testsuite/ext/vstring/modifiers/pop_back/wchar_t/. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r200458
2013-05-24type_traits.h (__is_null_pointer): Add std::nullptr_t overload.Paolo Carlini1-0/+5
2013-05-24 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t overload. * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused. From-SVN: r199313
2013-05-23Makefile.am (bits_headers): Remove ${bits_host_headers}.Matthias Klose1-1/+1
2013-05-23 Matthias Klose <doko@ubuntu.com> * include/Makefile.am (bits_headers): Remove ${bits_host_headers}. (ext_headers): Remove ${ext_host_headers}. (stamp-${host_alias}): Create ${host_builddir}/../ext. (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}. (install-headers): Install ${bits_host_headers} and ${ext_host_headers}. * include/Makefile.in: Regenerate. * include/ext/random: Include ext/opt_random.h. From-SVN: r199257
2013-05-10re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of ↵Paolo Carlini1-1/+9
const_iterator) 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/54577 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode. (_Deque_iterator<>::_M_const_cast): Add. (deque<>::_M_erase): Declare. * include/bits/deque.tcc: ... and define. * include/bits/stl_list.h (erase): Fix signatures in C++11 mode. (_List_const_iterator<>::_M_const_cast): Add. * include/bits/list.tcc (erase (iterator)): Fix. * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): Add; include <ext/cast.h>. * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode. (vector<>::_M_erase): Declare. * include/bits/stl_bvector.h: Likewise. * include/bits/vector.tcc (vector<>::_M_erase): Define. * include/ext/vstring.h (erase): Fix signatures in C++11 mode. * include/debug/deque: Adjust. * include/debug/list: Likewise. * include/debug/vector: Likewise. * include/profile/deque: Likewise. * include/profile/list: Likewise. * include/profile/vector: Likewise. * testsuite/util/exception/safety.h (erase_base<deque>, erase_base<deque>, erase_base<vector>): Remove. (erase_base<__versa_string>): Update. * testsuite/ext/vstring/modifiers/char/54577.cc: New. * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise. * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/list/requirements/dr438/ insert_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r198790
2013-04-22hashtable_policy.h: Add C++11 allocator support.François Dumont1-31/+195
2013-04-22 François Dumont <fdumont@gcc.gnu.org> * include/bits/hashtable_policy.h: Add C++11 allocator support. * include/bits/hashtable.h: Likewise. * include/bits/unordered_set.h: Likewise. * include/bits/unordered_map.h: Likewise. * include/debug/unordered_set: Likewise. * include/debug/unordered_map: Likewise. * include/std/unordered_set: Remove bits/algobase.h include. Replace bits/alloc_traits.h by ext/alloc_traits.h. * include/std/unordered_map: Likewise. * include/ext/throw_allocator.h: Add checks on calls to allocator construct/destroy. (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw. (std::hash<__gnu_cxx::throw_value_random>): Likewise. * testsuite/util/regression/rand/priority_queue /container_rand_regression_test.tcc: Adapt. * testsuite/util/regression/rand/assoc /container_rand_regression_test.tcc: Likewise. * testsuite/util/testsuite_counter_type.h: Add count of destructors. * testsuite/23_containers/unordered_set /not_default_constructible_hash_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. * testsuite/23_containers/unordered_set/allocator/copy.cc: New. * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_set/allocator/minimal.cc: New. * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_set/allocator/swap.cc: New. * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New. * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New. * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New. * testsuite/23_containers/unordered_map/allocator/copy.cc: New. * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_map/allocator/minimal.cc: New. * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_map/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_map/allocator/swap.cc: New. * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New. * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc: New. * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New. * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc: New. * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New. * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New. From-SVN: r198158
2013-04-07Makefile.am: Add ext/aligned_buffer.hJonathan Wakely1-0/+73
* include/Makefile.am: Add ext/aligned_buffer.h * include/Makefile.in: Regenerate. * include/ext/aligned_buffer.h: New. * include/std/future (_Result): Use __aligned_buffer. * include/bits/forward_list.h (_Fwd_list_node): Likewise. * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line number. From-SVN: r197554
2013-03-24re PR libstdc++/56170 (Extension debug_allocator seems non-compliant w.r.t. ↵Jonathan Wakely1-20/+85
rebind) PR libstdc++/56170 * include/ext/debug_allocator.h (debug_allocator): Add missing members to meet allocator requirements. * testsuite/ext/debug_allocator/56170.cc: New. From-SVN: r197023
2013-03-08memoryfwd.h: New.Benjamin Kosnik2-9/+2
* include/bits/memoryfwd.h: New. Centralize forward declarations. * include/bits/algorithmfwd.h: Consistent comments. * include/bits/localefwd.h: Same. * include/ext/vstring_fwd.h: Same. * include/parallel/algorithmfwd.h: Same. * include/parallel/numericfwd.h: Same. * include/std/iosfwd: Same. * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator forward decl. * include/ext/alloc_traits.h: Remove allocator forward decl. * include/bits/stl_construct.h: Same. * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator forward decl. Consistent comments. * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO. * include/Makefile.am (bits_headers): Add memoryfwd.h. * include/Makefile.in: Regenerate. * configure: Same. e enter the commit message for your changes. Lines starting From-SVN: r196559
2013-03-04Fix and optimize von_mises_distribution class.Ulrich Drepper1-13/+13
From-SVN: r196436
2013-03-03Add math constants and triangular and von Mises distributions.Ulrich Drepper3-10/+805
From-SVN: r196407
2013-02-03Update copyright in libstdc++-v3.Richard Sandiford283-329/+283
From-SVN: r195701
2013-01-06insert_fn_imps.hpp: Fix typo in copyright years.Richard Sandiford1-1/+1
libstdc++-v3/ * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo in copyright years. * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise. From-SVN: r194941
2013-01-04Update Copyright years for files modified in 2011 and/or 2012.Jakub Jelinek109-109/+113
From-SVN: r194903
2012-12-11re PR libstdc++/55631 (Several ext/ headers can not be #included on their own)Jonathan Wakely3-0/+8
PR libstdc++/55631 * include/ext/alloc_traits.h: Include missing header. * include/ext/pointer.h: Likewise. * include/ext/string_conversions.h: Require C++11. * libsupc++/initializer_list: Reindent. From-SVN: r194429
2012-12-03standard_policies.hpp: Remove.Benjamin Kosnik2-120/+0
2012-12-03 Benjamin Kosnik <bkoz@redhat.com> * include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp: Remove. * include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp: Remove. * include/Makefile.am (pb_headers): Remove include files. * include/Makefile.in: Regenerated. From-SVN: r194107
2012-11-20array_allocator.h: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.Jonathan Wakely1-2/+2
* include/ext/array_allocator.h: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus. From-SVN: r193644