2013-09-05 Tim Shen * include/bits/regex_automaton.h: Add dummy node type. Rewrite _StateSeq. * include/bits/regex_automaton.tcc: Implement them. * include/bits/regex_compiler.h: Rewrite _Compiler to use new _StateSeq interfaces. * include/bits/regex_compiler.tcc: Implement them. * include/bits/regex_scanner.h: Add word boundry assertion token. * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma): Support word boundry. * testsuite/28_regex/algorithms/regex_match/basic/ string_range_02_03.cc: Remove "xfail". * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_02_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_questionmark.cc: Remove xfail and get correct length of c-string. * testsuite/28_regex/algorithms/regex_match/extended/ string_range_00_03.cc: Likewise. * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: New. * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: New. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New. 2013-09-03 Paolo Carlini PR libstdc++/58302 * include/bits/random.tcc (negative_binomial_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Fix typo in template argument. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/58302.cc: New. 2013-09-02 Tim Shen * regex_automaton.h: Rearrange _NFA's layout. * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher. Rearrange _BracketMatcher's layout. (_BracketMatcher<>::_M_add_char): Use set instead of vector for _M_char_set. (_BracketMatcher<>::_M_add_collating_element): Likewise. (_BracketMatcher<>::_M_make_range): Likewise. * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use apropriate constructors of matchers above. * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New. 2013-08-30 François Dumont PR libstdc++/58148 * include/debug/functions.h (__foreign_iterator_aux4): Use sequence const_pointer as common type to compare pointers. Add a fallback overload in case pointers cannot be cast to sequence const_pointer. * testsuite/23_containers/vector/modifiers/insert/58148.cc: New. 2013-08-30 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. (__glibcxx_check_sorted): Likewise. (__glibcxx_check_sorted_pred): Likewise. (__glibcxx_check_sorted_set): Likewise. (__glibcxx_check_sorted_set_pred): Likewise. * include/debug/functions.h (__check_partitioned_lower): Remove code to detect safe iterators. (__check_partitioned_upper): Likewise. (__check_sorted): Likewise. 2013-08-29 Tim Shen * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits. (regex_iterator<>::regex_iterator): Return nullptr when regex_search failed. (regex_token_iterator<>::_M_end_of_seq): Should be defined true when _M_result is(not isn't) nullptr. * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference instead of by value. * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add _M_traits to _DFSExecutor. * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to _DFSExecutor too. * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ wstring_02.cc: New. 2013-08-26 Tim Shen * include/Makefile.am: Add regex_scanner.{h,tcc}. * include/Makefile.in: Regenerate. * include/bits/regex.h (match_search): Handle the `__first == __last` situation correctly. * include/bits/regex_compiler.h: Move _Scanner... * include/bits/regex_scanner.h: ...to here. New. * include/bits/regex_compiler.tcc: Move _Scanner... * include/bits/regex_scanner.tcc: ...to here, too. New. * include/bits/regex_executor.tcc: Use value instead of reference for submatch. * include/std/regex: Add regex_scanner.h * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New. * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New. * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New. * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New. 2013-08-22 Tim Shen * include/bits/regex.h: Replace 8 spaces in indentation with a tab. * include/bits/regex_automaton.h: Same. * include/bits/regex_automaton.tcc: Same. * include/bits/regex_compiler.h: Same. * include/bits/regex_compiler.tcc: Same. * include/bits/regex_constants.h: Same. * include/bits/regex_executor.h: Same. * include/bits/regex_executor.tcc: Same. 2013-08-22 Tim Shen * include/bits/regex.h: Executor caller. * include/bits/regex_executor.h: Fix empty grouping problem. * include/bits/regex_executor.tcc: Same. * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc: New. 2013-08-20 Phil Muldoon PR libstdc++/53477 http://sourceware.org/bugzilla/show_bug.cgi?id=15195 * python/libstdcxx/v6/printers.py (Printer.__call__): If a value is a reference, fetch referenced value. (RxPrinter.invoke): Ditto. * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0 flag. Add referenced value tests. 2013-08-20 Tim Shen * include/bits/regex_constants.h: Add underlying `unsigned int` for enum syntax_option_type. 2013-08-18 Tim Shen * include/bits/regex_automaton.h: _S_opcode_backref. * include/bits/regex_automaton.tcc: Backref automaton support. * include/bits/regex_compiler.tcc: Parsing support. * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor. * include/bits/regex_executor.tcc: Add _S_opcode_backref support. * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New. 2013-08-16 Tim Shen * include/bits/regex.h (regex_traits<>::transform_primary): Avoid past-the-end dereferences. 2013-08-14 Paolo Carlini 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. 2013-08-14 Uros Bizjak * src/c++98/compatibility.cc (_ZTIe): Use reinterpret_cast to avoid -Wcast-qual warnings. (_ZTIPe): Ditto. (ZTIPKe): Ditto. 2013-08-09 Tim Shen * include/bits/regex_constants.h: Change syntax_option_type to enum type. 2013-08-08 Rainer Orth * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp. 2013-08-08 François Dumont * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): Inherit from _Hashtable_alloc and adapt. Restore _M_before_begin field. * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include. * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt access to hashtable before begin. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. 2013-08-07 Tim Shen * include/Makefile.am: Adjust to new files. * include/Makefile.in: Regenerate. * include/bits/regex.h: Adjust to new interfaces. * include/bits/regex_automaton.h: New. * include/bits/regex_automaton.tcc: New. * include/bits/regex_compiler.h: Adjust to new files. * include/bits/regex_compiler.tcc: New. * include/bits/regex_constants.h: Tail spaces. * include/bits/regex_error.h: Likewise. * include/bits/regex_executor.h: New. * include/bits/regex_executor.tcc: New. * include/std/regex: Adjust to new files. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: Adjust to new interfaces. 2013-08-07 Paolo Carlini * include/ext/atomicity.h: Add #pragma GCC system_header. 2013-08-07 Paolo Carlini 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. 2013-08-06 Caroline Tice * fragment.am: Add XTEMPLATE_FLAGS. * configure.ac: Add definitions for --enable-vtable-verify. * acinclude.m4: Add --enable-vtable-verify and --disable-vtable-verify; define --enable-vtable-verify; define VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS. * config/abi/pre/gnu.ver: Export symbols for vtable verification. * libsupc++/Makefile.am: Define vtv_sources and add it to libsupc___la_SOURCES and libsupc__convenience_la_SOURCES. * libsupc++/vtv_stubs.cc: New file. * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS. * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXLINKFLAGS to CXXLINK. * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK. * src/C++11/Makefile.am: Ditto. * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify. * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS. * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate libvtv if --enable-vtable-verify was used; set cxxvtvflags; add cxxvtvflags to cxx_final. * testsuite/18_support/bad_exception/23591_thread-1.c: Add -fvtable-verify=none to compiler flags. * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none to compiler flags. * configure: Regenerated. * Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * config.h.in: Regenerated. * po/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. 2013-08-06 Paolo Carlini Revert the last commit. 2013-08-06 François Dumont * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): Inherit from _Hashtable_alloc and adapt. Restore _M_before_begin field. * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt access to hashtable before begin. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. 2013-08-03 Tim Shen Implement bracket expression. * include/bits/regex.h: Remove constexpr from "|=", etc. * include/bits/regex_compiler.h: Parse bracket expression. * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old _RangeMatcher). * include/bits/regex_nfa.tcc: Implement them. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: from regex_search to regex_match. * testsuite/28_regex/algorithms/regex_match/extended/ cstring_bracket_01.cc: New. 2013-08-02 Paolo Carlini * include/debug/functions.h (__foreign_iterator_aux4): Initialize __l and __ge. 2013-08-02 Paolo Carlini PR libstdc++/58049 * include/debug/functions.h: Include ; minor formatting changes. (__foreign_iterator_aux4): Declare __l and __ge constexpr. * include/debug/safe_iterator.h (_Safe_iterator<>::operator->): Use __addressof. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>:: operator->): Likewise. 2013-08-01 François Dumont PR libstdc++/57779 * include/debug/formatter.h (_Debug_msg_id): Add __msg_insert_itself_range entry. * include/debug/functions.h (_Insert_range_from_self_is_safe<>): New, indicate container types supporting self range insertion in GNU implementation. (__foreign_iterator): New, check if an iterator points to a given sequence. * include/debug/macros.h (__glibcxx_check_insert_range): Add check using __foreign_iterator. (__gibcxx_check_insert_range_after): Likewise. * include/debug/string (_Insert_range_from_self_is_safe<>): Partially specialized to mark __gnu_debug::basic_string<> as supporting self range insert. * include/debug/list (_Insert_range_from_self_is_safe<>): Partially specialized to mark std::list as supporting self range insert if _GLIBCXX_DEBUG_PEDANTIC is not defined. * include/debug/forward_list (_Insert_range_from_self_is_safe<>): Likewise. * src/c++11/debug.cc (_S_debug_messages): Add __msg_insert_itself_range_entry message. (_Error_formatter::_Parameter::_M_print_description): Display iterator sequence address rather than sequence address when the parameter type is an iterator. (_Error_formatter::_M_print_word): Enhance behavior when displaying a word with an appended '\n'. * testsuite/util/debug/checks.h (check_insert4<>): New. * testsuite/23_containers/deque/debug/insert5_neg.cc: New. * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise. * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise. 2013-08-01 Fabien Chêne PR c++/54537 * include/tr1/cmath: Remove pow(double,double) overload, remove a duplicated comment about DR 550. Add a comment to explain the issue. * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New. 2013-07-31 Tim Shen Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes and . * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: New. 2013-07-31 Paolo Carlini PR libstdc++/56627 * include/bits/stl_bvector.h: Use friend struct hash intead of friend class hash to work around useless warnings produced by some compilers. * include/std/bitset: Likewise. 2013-07-31 Paolo Carlini * src/c++11/functexcept.cc: Do not include the whole . * src/c++11/regex.cc: Likewise. 2013-07-31 Tim Shen Revert last commit. 2013-07-31 Tim Shen Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes and . * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: New. 2013-07-30 Paolo Carlini Revert last commit. 2013-07-30 Tim Shen Thompson matcher refactored. Fix grouping problem. * include/bits/regex.h: Use a dispatcher _M_get_matcher(). * include/bits/regex_compiler.h: Tweak for auto switching. * include/bits/regex_grep_matcher.h: Class structure. * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson matcher) refactoring. * include/bits/regex_nfa.h: Change _Results's interfaces. * include/std/regex: Includes and . * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: For both matchers. * testsuite/28_regex/algorithms/regex_match/extended/ string_dispatch_01.cc: New. 2013-07-29 Nathan Froyd * include/std/atomic (compare_exchange_weak, compare_exchange_strong): Add call to __cmpexch_failure_order. * testsuite/util/testsuite_common_types.h (compare_exchange_order_lowering): New generator. * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc: New test. 2013-07-25 Paolo Carlini * include/std/complex (pow(const complex<>&, int)): Enable in C++11 mode too. * testsuite/26_numerics/complex/dr844.cc: Adjust. * doc/xml/manual/intro.xml: Update. 2013-07-25 Tim Shen Add documents and comments. * include/bits/regex.h: Documents and comments. * include/bits/regex_grep_matcher.h: Likewise. * include/bits/regex_grep_matcher.tcc: Likewise. * testsuite/28_regex/iterators/regex_iterator/char/ string_position_01.cc: New. 2013-07-24 Paolo Carlini PR libstdc++/57976 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and time_get::do_get. 2013-07-24 Paolo Carlini * include/bits/random.h (random_device): Avoid using the FILE type. * include/std/random: Do not include . * src/c++11/random.cc: ... include it here. (random_device::_M_init, random_device::_M_fini, random_device::_M_getval): Cast back and forth void* and FILE*. 2013-07-24 Tim Shen Reimplment matcher using Depth-first search(backtracking). PR libstdc++/53622 PR libstdc++/57173 * include/bits/regex.h: regex_match() and regex_search(). * include/bits/regex_cursor.h: Fix _M_set_pos(). * include/bits/regex_grep_matcher.h: add _M_dfs_match(). * include/bits/regex_grep_matcher.tcc: Implement it. * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New. * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New. * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Remove xfail. 2013-07-23 Tim Shen Implement regex_iterator and regex_token_iterator. * include/bits/regex.h: regex_iterator and regex_token_iterator. * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc: New. * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc: New. * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ string_01.cc: New. 2013-07-23 Paolo Carlini * include/std/random: Add back include. * src/c++11/random.cc: Don't include here. 2013-07-22 Jason Merrill PR libstdc++/57914 * libsupc++/atexit_thread.cc (run): Delete cleanup elts. 2013-07-22 Paolo Carlini PR c++/57920 * src/c++11/random.cc (random_device::_M_getval): If possible, use read instead of std::fread. * include/std/random: Do not include unnecessarily. 2013-07-21 Tim Shen Partially implement regex_search. * include/bits/regex.h: regex_search. * include/bits/regex_grep_matcher.h: _M_search_from_first. * include/bits/regex_grep_matcher.tcc: Implement it. * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New. 2013-07-21 Jonathan Wakely PR libstdc++/54352 * include/std/condition_variable (condition_variable_any): Move into inline namespace _V2 and replace mutex member with shared_ptr. * src/c++11/condition_variable.cc (condition_variable_any): Move definitions to ... * src/c++11/compatibility-condvar.cc (condition_variable_any): Here. * src/Makefile.am: Add new source file. * src/Makefile.in: Regenerate. 2013-07-09 Tim Shen Implement class regex_traits. * include/bits/regex.h: Implement lookup_classname and lookup_collatename; modify isctype; partially implement transform_primary. * testsuite/28_regex/traits/char/isctype.cc: Add more test cases. * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise. * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise. * testsuite/28_regex/traits/char/transform_primary.cc: Likewise. * testsuite/28_regex/traits/wchar_t/isctype.cc: New. * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New. * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New. * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New. 2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net> * doc/xml/manual/status_cxx2014.xml: Add links for papers. 2013-07-05 François Dumont * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward pattern. (_MoveReuseOrAllocNode): Remove. (_Insert_base): Take a functor defining how the node is generated. * include/bits/hashtable.h: Adapt. (operator=(initializer_list)): Reuse node if any. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. 2013-07-05 Paolo Carlini * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: Tweak, avoid potential undefined behavior. * 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/insert/const_iterator.cc: Likewise. 2013-07-04 Veres Lajos Jonathan Wakely * config/locale/generic/codecvt_members.cc: Fix typo. * configure.host: Likewise. * doc/html/manual/policy_data_structures_design.html: Likewise. * doc/xml/manual/policy_data_structures.xml: Likewise. * include/bits/hashtable.h: Likewise. * include/bits/random.h: Likewise. * include/profile/impl/profiler_trace.h: Likewise. * testsuite/23_containers/deque/cons/2.cc: Likewise. * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise. * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. 2013-07-04 Ray Chason Paolo Carlini PR libstdc++/57808 * include/bits/regex.h (regex_token_iterator<>::operator==, regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*, regex_token_iterator<>::operator->): Declare const. 2013-07-01 Paolo Carlini * 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. 2013-06-30 Paolo Carlini * include/bits/stl_deque.h (deque<>::insert(iterator, size_type, const value_type&), deque<>::insert(iterator, initializer_list<>), deque<>::insert(iterator, _InputIterator, _InputIterator)): Adjust C++11 signatures to take a const_iterator. * include/bits/stl_vector.h: Likewise. * include/bits/stl_bvector.h: Likewise. * include/debug/deque: Adjust. * include/debug/vector: Likewise. * include/profile/deque: Likewise. * include/profile/vector: Likewise. * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: Extend. * testsuite/23_containers/vector/bool/modifiers/insert/ const_iterator.cc: Likewise. * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: Likewise. * 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/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. 2013-06-29 François Dumont * include/bits/hashtable_policy.h (_Insert_base): Consider hint in insert methods. * include/bits/hashtable.h: Likewise. * testsuite/23_containers/unordered_multimap/insert/hint.cc: New. * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: New. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. * doc/xml/manual/containers.xml: Document hinting in unordered containers. 2013-06-27 Paolo Carlini * testsuite/21_strings/basic_string/operations/*: Move inside testsuite/21_strings/basic_string/operations/data/. * testsuite/21_strings/basic_string/compare/*: Move inside testsuite/21_strings/basic_string/operations/. * testsuite/21_strings/basic_string/find/*: Likewise. * testsuite/21_strings/basic_string/rfind/*: Likewise. * testsuite/21_strings/basic_string/substr/*: Likewise. 2013-06-27 Paolo Carlini * testsuite/21_strings/basic_string/append/*: Move inside testsuite/21_strings/basic_string/modifiers/. * testsuite/21_strings/basic_string/assign/*: Likewise. * testsuite/21_strings/basic_string/insert/*: Likewise. * testsuite/21_strings/basic_string/replace/*: Likewise. * testsuite/21_strings/basic_string/modifiers/pop_back/char/ pop_back.cc: Rename to 1.cc. * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/ pop_back.cc: Likewise. * testsuite/ext/vstring/assign/*: Move inside testsuite/ext/vstring/modifiers/. 2013-06-27 Paolo Carlini * 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. 2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net> Status page for C++2014 library features * doc/xml/faq.xml: Add link to new C++14 status page. * doc/xml/manual/intro.xml: Ditto. * doc/xml/manual/status_cxx2014.xml: New. 2013-06-25 Paolo Carlini * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid spurious fails with check-debug. * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: Likewise. * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise. * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: Likewise. 2013-06-25 Paolo Carlini PR libstdc++/57704 * include/bits/char_traits.h (char_traits::lt): Implement LWG 467. * testsuite/21_strings/char_traits/requirements/char/57704.cc: New. 2013-06-24 Bernd Edlinger PR libstdc++/57691 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED, declare per the letter of the C++ standard in terms of void. * include/c_std/cstdlib: Likewise. 2013-06-22 Paolo Carlini PR libstdc++/57674 * include/bits/random.h (binomial_distribution<>::_M_waiting): Add double parameter. * include/bits/random.tcc (binomial_distribution<>::operator() (_UniformRandomNumberGenerator&, const param_type&)): Pass __param._M_q to _M_waiting. (_M_waiting): Adjust. * testsuite/26_numerics/random/binomial_distribution/ operators/values.cc: Add tests. 2013-06-21 Paolo Carlini PR libstdc++/57666 * include/std/valarray (valarray<>::operator=(const _Expr<>&)): Implement correctly C++11 26.6.2.3/1. * testsuite/26_numerics/valarray/dr630-3.C: New. 2013-06-18 Jonathan Wakely PR libstdc++/57641 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common functionality to new __timed_mutex_impl mixin. Overload try_lock_until to handle conversion between different clocks. Replace constrained __try_lock_for_impl overloads with conditional increment. * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin. * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New. 2013-06-17 Jonathan Wakely Chris Jefferson * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671 dispatch to traditional std::equal for random-access iterators. (__equal2_aux, __equal2): Remove. (__equal::equal): Remove unused overloads. * include/bits/stl_algo.h (is_permutation): Fix typos. 2013-06-16 Jonathan Wakely * include/std/shared_mutex (shared_lock::operator=): Add missing return statement. 2013-06-16 Jonathan Wakely PR libstdc++/57263 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from allocator's pointer type. * include/bits/hashtable.h (_Hashtable): Likewise. * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add. * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New. * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New. * testsuite/23_containers/vector/allocator/ext_ptr.cc: New. 2013-06-16 Jonathan Wakely * include/std/shared_mutex: Implement N3659. * include/bits/c++14_warning.h: New. * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * testsuite/30_threads/shared_lock/cons/1.cc: New. * testsuite/30_threads/shared_lock/locking/2.cc: New. * testsuite/30_threads/shared_lock/cons/2.cc: New. * testsuite/30_threads/shared_lock/locking/3.cc: New. * testsuite/30_threads/shared_lock/cons/3.cc: New. * testsuite/30_threads/shared_lock/locking/4.cc: New. * testsuite/30_threads/shared_lock/cons/4.cc: New. * testsuite/30_threads/shared_lock/modifiers/1.cc: New. * testsuite/30_threads/shared_lock/cons/5.cc: New. * testsuite/30_threads/shared_lock/modifiers/2.cc: New. * testsuite/30_threads/shared_lock/cons/6.cc: New. * testsuite/30_threads/shared_lock/requirements/ explicit_instantiation.cc: New. * testsuite/30_threads/shared_lock/locking/1.cc: New. * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New. * testsuite/30_threads/shared_mutex/cons/1.cc: New. * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. * testsuite/30_threads/shared_mutex/requirements/ standard_layout.cc: New. * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. 2013-06-15 Paolo Carlini PR libstdc++/57619 * include/bits/unordered_map.h (unordered_map<>::insert, unordered_multimap<>::insert): Use std::forward, not std::move. * testsuite/23_containers/unordered_map/insert/57619.C: New. * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise. 2013-06-14 Alan Modra * configure.host (abi_baseline_pair): Match powerpc64*. 2013-06-13 Daniel Krugler * include/std/type_traits (is_function): Support ref-qualified functions. (is_copy_constructible, is_move_constructible, is_copy_assignable, is_move_assignable, is_nothrow_copy_constructible, is_nothrow_move_constructible, is_nothrow_copy_assignable, is_nothrow_move_assignable): Implement LWG 2196. (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement LWG 2101. (__strip_reference_wrapper<>): Remove, unused. * testsuite/20_util/add_lvalue_reference/value.cc: Extend. * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. * testsuite/20_util/decay/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_assignable/value.cc: Likewise. * testsuite/20_util/is_constructible/value-2.cc: Likewise. * testsuite/20_util/is_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_function/value.cc: Likewise. * testsuite/20_util/is_move_assignable/value.cc: Likewise. * testsuite/20_util/is_move_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. 2013-06-13 Paolo Carlini * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): Remove. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/airy.cc: Fix. 2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/56430 * include/tr1/modified_bessel_func.tcc (__airy): Remove return from void function. (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/airy.cc: New. 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net> Fix library literals error involving namespace __detail. * include/std/chrono: Rename __detail to __select_type. Reformat. * include/bits/basic_string.h: Reformat. * testsuite/20_util/duration/literals/ns_detail.cc: New. 2013-06-11 Paolo Carlini PR libstdc++/56019 * include/c_global/cstddef (max_align_t): Add to namespace std. * include/c_std/cstddef: Likewise. * testsuite/18_support/max_align_t/requirements/1.cc: New. * testsuite/18_support/max_align_t/requirements/2.cc: Likewise. 2013-06-10 Benjamin Kosnik * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add. * include/bits/stl_map.h (erase): Use abi_tag when C++11. * include/bits/stl_multimap.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_tree.h: Same. * include/std/complex (real, imag): Use macro for abi_tag. * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline. * testsuite/util/testsuite_containers.h (erase_external): New declarations. (erase_external_iterators): Same. (linkage_check_cxx98_cxx11_erase): Same. (linkage_check_cxx98_cxx11_erase_iterators): Same. * testsuite/util/testsuite_shared.cc: Define. * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/map/modifiers/erase/ dr130-linkage-check.cc: New. * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/multimap/modifiers/erase/ dr130-linkage-check.cc: New. * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/multiset/modifiers/erase/ dr130-linkage-check.cc: New. * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New. * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc: New. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number. * testsuite/23_containers/map/dr130.cc: Move... * testsuite/23_containers/map/modifiers/dr130.cc: ...here. * testsuite/23_containers/multimap/dr130.cc: Move ... * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here. * testsuite/23_containers/multiset/dr130.cc: Move... * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here. * testsuite/23_containers/set/dr130.cc: Move... * testsuite/23_containers/set/modifiers/dr130.cc: ...here. 2013-06-10 Thomas Schwinge * testsuite/17_intro/headers/c++1998/49745.cc: Extend current handling of Linux-based x86 systems to cover all GNU systems. * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise. * testsuite/18_support/pthread_guard.cc: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. * testsuite/21_strings/basic_string/pthread4.cc: Likewise. * testsuite/22_locale/ctype/is/char/2.cc: Likewise. * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. * testsuite/23_containers/list/pthread1.cc: Likewise. * testsuite/23_containers/list/pthread5.cc: Likewise. * testsuite/23_containers/map/pthread6.cc: Likewise. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: Likewise. * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. * testsuite/30_threads/async/42819.cc: Likewise. * testsuite/30_threads/async/49668.cc: Likewise. * testsuite/30_threads/async/54297.cc: Likewise. * testsuite/30_threads/async/any.cc: Likewise. * testsuite/30_threads/async/async.cc: Likewise. * testsuite/30_threads/async/launch.cc: Likewise. * testsuite/30_threads/async/sync.cc: Likewise. * testsuite/30_threads/call_once/39909.cc: Likewise. * testsuite/30_threads/call_once/49668.cc: Likewise. * testsuite/30_threads/call_once/call_once1.cc: Likewise. * testsuite/30_threads/condition_variable/54185.cc: Likewise. * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. * testsuite/30_threads/condition_variable/members/1.cc: Likewise. * testsuite/30_threads/condition_variable/members/2.cc: Likewise. * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. * testsuite/30_threads/future/cons/move.cc: Likewise. * testsuite/30_threads/future/members/45133.cc: Likewise. * testsuite/30_threads/future/members/get.cc: Likewise. * testsuite/30_threads/future/members/get2.cc: Likewise. * testsuite/30_threads/future/members/share.cc: Likewise. * testsuite/30_threads/future/members/valid.cc: Likewise. * testsuite/30_threads/future/members/wait.cc: Likewise. * testsuite/30_threads/future/members/wait_for.cc: Likewise. * testsuite/30_threads/future/members/wait_until.cc: Likewise. * testsuite/30_threads/lock/1.cc: Likewise. * testsuite/30_threads/lock/2.cc: Likewise. * testsuite/30_threads/lock/3.cc: Likewise. * testsuite/30_threads/lock/4.cc: Likewise. * testsuite/30_threads/mutex/cons/1.cc: Likewise. * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/mutex/lock/1.cc: Likewise. * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/mutex/unlock/1.cc: Likewise. * testsuite/30_threads/packaged_task/49668.cc: Likewise. * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. * testsuite/30_threads/promise/cons/1.cc: Likewise. * testsuite/30_threads/promise/cons/alloc.cc: Likewise. * testsuite/30_threads/promise/cons/move.cc: Likewise. * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. * testsuite/30_threads/promise/members/get_future.cc: Likewise. * testsuite/30_threads/promise/members/get_future2.cc: Likewise. * testsuite/30_threads/promise/members/set_exception.cc: Likewise. * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. * testsuite/30_threads/promise/members/set_value.cc: Likewise. * testsuite/30_threads/promise/members/set_value2.cc: Likewise. * testsuite/30_threads/promise/members/set_value3.cc: Likewise. * testsuite/30_threads/promise/members/swap.cc: Likewise. * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: Likewise. * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/shared_future/cons/move.cc: Likewise. * testsuite/30_threads/shared_future/members/45133.cc: Likewise. * testsuite/30_threads/shared_future/members/get.cc: Likewise. * testsuite/30_threads/shared_future/members/get2.cc: Likewise. * testsuite/30_threads/shared_future/members/valid.cc: Likewise. * testsuite/30_threads/shared_future/members/wait.cc: Likewise. * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. * testsuite/30_threads/this_thread/1.cc: Likewise. * testsuite/30_threads/this_thread/2.cc: Likewise. * testsuite/30_threads/this_thread/3.cc: Likewise. * testsuite/30_threads/this_thread/4.cc: Likewise. * testsuite/30_threads/thread/cons/1.cc: Likewise. * testsuite/30_threads/thread/cons/2.cc: Likewise. * testsuite/30_threads/thread/cons/3.cc: Likewise. * testsuite/30_threads/thread/cons/4.cc: Likewise. * testsuite/30_threads/thread/cons/49668.cc: Likewise. * testsuite/30_threads/thread/cons/5.cc: Likewise. * testsuite/30_threads/thread/cons/6.cc: Likewise. * testsuite/30_threads/thread/cons/7.cc: Likewise. * testsuite/30_threads/thread/cons/8.cc: Likewise. * testsuite/30_threads/thread/cons/9.cc: Likewise. * testsuite/30_threads/thread/cons/moveable.cc: Likewise. * testsuite/30_threads/thread/members/1.cc: Likewise. * testsuite/30_threads/thread/members/2.cc: Likewise. * testsuite/30_threads/thread/members/3.cc: Likewise. * testsuite/30_threads/thread/members/4.cc: Likewise. * testsuite/30_threads/thread/members/5.cc: Likewise. * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/thread/swap/1.cc: Likewise. * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/try_lock/1.cc: Likewise. * testsuite/30_threads/try_lock/2.cc: Likewise. * testsuite/30_threads/try_lock/3.cc: Likewise. * testsuite/30_threads/try_lock/4.cc: Likewise. * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. * testsuite/ext/mt_allocator/22309_thread.cc: Likewise. * testsuite/ext/profile/mh.cc: Likewise. * testsuite/ext/rope/pthread7-rope.cc: Likewise. * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/util/testsuite_performance.h: Extend current handling of Linux-based systems to cover all glibc-based systems. 2013-06-09 Jonathan Wakely * include/std/mutex (call_once): Remove parentheses to fix error in c++1y and gnu++1y mode. * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new thread to avoid undefined behaviour. 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net> Simplify and clean up library literals. * include/std/chrono: Simplify namespace and versioning management. * include/bits/basic_string.h: Ditto. * testsuite/20_util/duration/literals/types.cc: Remove bogus comment. * testsuite/20_util/duration/literals/values.cc: Ditto. * testsuite/21_strings/basic_string/literals/types.cc: Ditto. * testsuite/21_strings/basic_string/literals/values.cc: Ditto. 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net> Implement N3654 - Quoted Strings Library Proposal * include/std/iomanip: Add quoted(String, Char delim, Char escape) manipulators and supporting machinery in c++1y mode. * testsuite/27_io/manipulators/standard/char/quoted.cc: New. * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New. 2013-06-08 Jonathan Wakely * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG 2162: Add noexcept. 2013-06-08 Jonathan Wakely * include/bits/stl_algo.h (is_permutation): Add overloads from N3671. * include/bits/stl_algobase.h (equal, mismatch): Likewise. * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case. * testsuite/25_algorithms/equal/2.cc: New. * testsuite/25_algorithms/equal/check_type2.cc: New. * testsuite/25_algorithms/is_permutationqual/2.cc: New. * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New. * testsuite/25_algorithms/mismatch/2.cc: New. * testsuite/25_algorithms/mismatch/check_type2.cc: New. * testsuite/util/testsuite_iterators.h: Fix spelling. 2013-06-08 Jonathan Wakely * include/std/type-traits (integral_constant::operator()): Implement N3545. * testsuite/20_util/integral_constant/call_operator.cc: New. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. 2013-06-07 Uros Bizjak * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2013-06-05 Tom Tromey * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0. 2013-06-03 Paolo Carlini PR c++/57419 * testsuite/20_util/default_delete/48631_neg.cc: Adjust. 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net> * include/std/chrono: Collapse redundant 'inline' from 'inline constexpr'. * include/std/tuple: Ditto. * include/bits/move.h: Ditto. 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net> Implement N3642 - User-defined Literals for Standard Library Types * include/bits/parse_numbers.h: New. * include/std/chrono: Add duration literal operators. * include/bits/basic_string.h: Add string literal operators. * include/Makefile.in: Add parse_numbers.h. * include/Makefile.am: Ditto. * testsuite/20_util/duration/literals/values.cc: New. * testsuite/20_util/duration/literals/types.cc: New. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust. * testsuite/21_strings/basic_string/literals/values.cc: New. * testsuite/21_strings/basic_string/literals/types.cc: New. 2013-05-28 Jonathan Wakely * src/c++11/compatibility-chrono.cc (steady_clock::now()): If !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of calling non-existent from_time_t. 2013-05-28 Rainer Orth * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Regenerate. 2013-05-24 Benjamin Kosnik * include/std/chrono: Wrap clocks in inline namespace _V2. * src/c++11/chrono.cc: Same. * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc file, with default configure macros selected. * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline namespace. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. 2013-05-24 Rainer Orth * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC] (CLOCK_MONOTONIC): Define. 2013-05-24 Paolo Carlini * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t overload. * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused. 2013-05-24 Jakub Jelinek * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X, don't define system_clock::is_steady, system_clock::now() and steady_clock::is_steady. (std::chrono::system_clock::now()): If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call syscall (SYS_clock_gettime, ...) instead of clock_gettime (...). (std::chrono::system_clock::now()): Likewise. Add weak attribute if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will be non-empty. * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc. (compatibility-chrono.lo, compatibility-chrono.o): New goals. * src/c++11/compatibility-chrono.cc: New file. * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp). * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.20 version and make it the latest. * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to @@GLIBCXX_3.4.20 instead. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Regenerated. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. * config.h.in: Regenerated. * src/Makefile.in: Regenerated. * configure: Regenerated. 2013-05-23 Matthias Klose * 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. 2013-05-22 Jonathan Wakely * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to enable features if target OS is known to support them. * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'. * configure: Regenerate. 2013-05-21 Jonathan Wakely PR libstdc++/57336 * include/std/functional (__invoke): Do not form function types with abstract return type. * testsuite/20_util/reference_wrapper/invoke-3.cc: New. 2013-05-19 Jonathan Wakely * include/std/tuple (get): Implement N3670. * include/std/utility (get): Likewise. * testsuite/20_util/pair/get.cc: Move to ... * testsuite/20_util/pair/astuple/get.cc: Here. * testsuite/20_util/pair/astuple/astuple.cc: New. * testsuite/20_util/pair/astuple/constexpr_get.cc: New. * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New. * testsuite/20_util/pair/astuple/get_by_type.cc: New. * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New. * testsuite/20_util/pair/astuple/get_neg.cc: New. * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New. * testsuite/20_util/tuple/element_access/get2_by_type.cc: New. * testsuite/20_util/tuple/element_access/get_by_type.cc: New. 2013-05-19 Paolo Carlini * Revert last commit. 2013-05-19 Matthias Klose * 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. 2013-05-18 Jonathan Wakely * include/std/system_error (error_category::error_category()): LWG 2145: Declare public and constexpr. * src/c++11/system_error.cc (error_category::error_category()): Move definition to ... * src/c++11/compatibility-c++0x.cc: Here. 2013-05-18 Jonathan Wakely * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept. 2013-05-18 Jonathan Wakely * include/bits/unique_ptr.h (make_unique): Declare inline. (unique_ptr::reset()): Combine two overloads into one. (default_delete, unique_ptr): Add doxygen comments. * include/bits/shared_ptr_base.h: Improve doxygen comments. * include/bits/shared_ptr.h: Likewise. * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line number. * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. 2013-05-18 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Fix markup error. 2013-05-18 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Fix markup error. 2013-05-18 Jonathan Wakely * include/std/utility (exchange): Define. * testsuite/20_util/exchange/1.cc: New. 2013-05-18 Jonathan Wakely * include/bits/unique_ptr.h (make_unique): Define. * testsuite/20_util/unique_ptr/creation/single.cc: New. * testsuite/20_util/unique_ptr/creation/array.cc: New. * testsuite/20_util/unique_ptr/creation/array_neg.cc: New. 2013-05-15 François Dumont * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix rendering of std::tr1 unordered containers iterator. (StdHashtableIterator): New, render std unordered containers iterator. * testsuite/libstdc++-prettyprinters/tr1.cc: New. 2013-05-15 Jonathan Wakely * include/bits/basic_string.h (getline): Fix doxygen comments. 2013-05-14 Paolo Carlini * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): Use std::pointer_traits. 2013-05-13 Benjamin Kosnik * libsupc++/Makefile.am (sources): Add bad_array_length.cc, bad_array_new.cc. * libsupc++/Makefile.in: Regenerate. * libsupc++/bad_array_length.cc: Tweak. * libsupc++/bad_array_new.cc: Tweak. 2013-05-10 Paolo Carlini 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 . * 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, erase_base, erase_base): 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. 2013-05-09 Uros Bizjak * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8. 2013-05-08 Jason Merrill Add std::bad_array_length (N3639) * libsupc++/new: Add std::bad_array_length. * libsupc++/bad_array_length.cc: New. * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length. * libsupc++/Makefile.in: Build them. * config/abi/pre/gnu.ver: Add new symbols. * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. 2013-05-08 Andi Kleen PR target/55947 * libstdc++-v3/include/bits/atomic_base.h (_GLIBCXX_ALWAYS_INLINE): Add new macro. (atomic_thread_fence, atomic_signal_fence, test_and_set, clear, store, load, exchange, compare_exchange_weak) compare_exchange_strong, fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE. 2013-05-08 Jason Merrill Add std::bad_array_new_length (N2932) * libsupc++/new: Add std::bad_array_new_length. * libsupc++/bad_array_new.cc: New. * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length. * libsupc++/Makefile.in: Build them. * config/abi/pre/gnu.ver: Add new symbols. * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. 2013-05-08 Andoni Morales Alastruey PR libstdc++/57212 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify to __MINGW32__. * include/Makefile.in: Regenerated. 2013-05-07 François Dumont * include/profile/unordered_base.h: New. * include/Makefile.am: Add new profile header. * include/Makefile.in: Regenerate. * include/profile/impl/profiler.h (__profcxx_inefficient_hash_is_on): New macro. * include/profile/unordered_map (std::profile::unordered_map<>): Use new _Unordered_profile base class. Use default implementations for special functions. (std::profile::unordered_multimap<>): Likewise. * include/profile/unordered_set (std::profile::unordered_set<>): Likewise. (std::profile::unordered_multiset<>): Likewise. * testsuite/23_containers/unordered_multiset/55043.cc: Fix MoveOnly equality operator signature. 2013-05-02 Paolo Carlini * testsuite/tr1/4_metaprogramming/integral_constant/requirements/ constexpr_data.cc: Move... * testsuite/20_util/integral_constant/requirements/constexpr_data.cc: ... here. * testsuite/20_util/integral_constant/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/integral_constant/requirements/typedefs.cc: Likewise. * testsuite/20_util/integral_constant/static_definition.cc: Likewise. * testsuite/20_util/integral_constant/true_false_type_typedefs.cc: Likewise. * testsuite/20_util/integral_constant/true_false_value.cc: Likewise. * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise. 2013-05-02 Paolo Carlini * include/std/type_traits (is_null_pointer): Add. (__is_nullptr_t): Implement in terms of the latter. (is_fundamental, is_scalar): Adjust. * testsuite/20_util/is_null_pointer/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/is_null_pointer/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_null_pointer/value.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. 2013-05-02 Paolo Carlini * include/c_global/cstdio: Add comment about LWG 2249. * include/c_std/cstdio: Likewise. 2013-04-28 Jonathan Wakely * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix comment. * include/std/mutex (__recursive_mutex_base): Likewise. 2013-04-28 Jonathan Wakely PR libstdc++/51365 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to implement EBO safely. (_Sp_counted_base::_M_get_deleter): Add noexcept. (_Sp_counter_ptr): Use noexcept instead of comments. (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper. (_Sp_counted_ptr_inplace): Likewise. * testsuite/20_util/shared_ptr/cons/51365.cc: New. * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to custom allocator and test construction with custom allocator. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line number. 2013-04-26 Paolo Carlini * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust dialect to -std=gnu++11. 2013-04-26 François Dumont * include/bits/hashtable_policy.h (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics. * testsuite/23_containers/unordered_set/insert/move_range.cc: New. 2013-04-26 Paolo Carlini * include/c_global/cstdio (gets): Provide only in C++98 and C++11. * include/c_std/cstdio (gets): Likewise. * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust. 2013-04-25 Paolo Carlini PR libstdc++/57065 * include/debug/unordered_map (unordered_map, unordered_multimap): Fix default allocator type. * include/profile/unordered_map (unordered_map, unordered_multimap): Likewise. * include/bits/unordered_map.h: Fix comments. 2013-04-24 Jonathan Wakely PR libstdc++/56905 * libsupc++/exception_ptr.h (copy_exception): Deprecate and move implementation to make_exception_ptr. * include/std/future (_State_base::_M_break_promise): Replace copy_exception with make_exception_ptr. * testsuite/18_support/exception_ptr/move.cc: Likewise. * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise. * testsuite/30_threads/future/members/get2.cc: Likewise. * testsuite/30_threads/promise/members/set_exception.cc: Likewise. * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. * testsuite/30_threads/promise/members/set_value2.cc: Likewise. * testsuite/30_threads/shared_future/members/get2.cc: Likewise. 2013-04-22 Jason Merrill * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h. * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In substitution" lines. * testsuite/20_util/is_assignable/value.cc: Comment out tests involving function-cv-quals. * testsuite/20_util/is_constructible/value-2.cc: Likewise. * testsuite/20_util/reference_wrapper/result_type.cc: Likewise. * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise. 2013-04-22 François Dumont * 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. 2013-04-22 Paolo Carlini * include/std/type_traits (is_signed): Simplify. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. 2013-04-22 Paolo Carlini N3669 * include/std/complex (complex::real, complex::imag, complex::real, complex::imag, complex::real, complex::imag): Declare as const member functions. * include/std/type_traits (integral_constant<>::operator value_type): Likewise. 2013-04-22 Paolo Carlini PR libstdc++/57010 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment. * testsuite/25_algorithms/pop_heap/57010.cc: New. 2013-04-21 Evgeniy Stepanov * src/c++11/system_error.cc (generic_category_instance): Add initializer. (system_category_instance): Likewise. * src/c++11/future.cc (__fec): Likewise. 2013-04-20 Jonathan Wakely * doc/xml/manual/extensions.xml: Fix anachronism. 2013-04-09 Tom Tromey * configure, config.h.in: Rebuild. * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for sys/sdt.h. * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun. 2013-04-09 Uros Bizjak * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2013-04-08 Paolo Carlini * testsuite/libstdc++-prettyprinters/cxx11.cc: Include . 2013-04-07 Jonathan Wakely * 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. 2013-04-07 Jonathan Wakely * include/bits/forward_list.h: Only include required headers. (forward_list::reference): Define directly, not using __alloc_traits. (forward_list::const_reference): Likewise. 2013-04-07 François Dumont * include/std/functional (_Derives_from_unary_function): Remove. (_Derives_from_binary_function): Remove. * include/std/type_traits (__sfinae_types): Remove. (__is_assignable_helper): Adapt. (__is_convertible_helper): Adapt. (_GLIBCXX_HAS_NESTED_TYPE): Adapt. Remove several explicit instantiations of integral_constant. * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adapt dg-error line number. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. * testsuite/20_util/bind/ref_neg.cc: Likewise. 2013-04-05 Jonathan Wakely PR libstdc++/56841 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and get_terminate() accessors. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not available. * libsupc++/new_handler.cc: Likewise. 2013-04-04 Jonathan Wakely * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version. 2013-04-03 Paolo Carlini PR libstdc++/56834 * include/debug/array (tuple_size, tuple_element): Do not declare. * include/profile/array: Likewise. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Adjust dg-error line number. 2013-04-03 Jonathan Wakely * libsupc++/exception (get_terminate(), get_unexpected()): Declare. * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()): Define. (set_terminate(terminate_handler)): Set atomically. (set_unexpected(terminate_handler)): Likewise. * libsupc++/new (get_new_handler()): Declare. * libsupc++/new_handler.cc (get_new_handler()): Define. (set_new_handler(new_handler)): Set atomically. (__new_handler): Use internal linkage. * libsupc++/new_op.cc (operator new): Use get_new_handler(). * libsupc++/new_opnt.cc (operator new): Likewise. * acinclude.m4: Bump libtool_VERSION to 6:19:0. * configure: Regenerate. * libsupc++/Makefile.am: Compile above files with -std=gnu++11. * libsupc++/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Add new exports. * doc/xml/manual/status_cxx2011.xml: Update. * testsuite/18_support/headers/exception/synopsis.cc: Check accessors for handlers. * testsuite/18_support/headers/new/synopsis.cc: Likewise. * testsuite/18_support/new_handler.cc: New. * testsuite/18_support/terminate_handler.cc: New. * testsuite/18_support/unexpected_handler.cc: New. 2013-04-02 Jonathan Wakely * doc/xml/manual/appendix_contributing.xml: Remove broken link and defer to general documentation on contributing to GCC. * doc/html/*: Regenerate. 2013-03-30 Gerald Pfeifer * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article. * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU Coding Standards. * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer. * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL. * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link. * doc/xml/manual/messages.xml: Adjust link to Java API specs. * doc/xml/manual/policy_data_structures: Remove direct link to IBM Haifa Research Labs. * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links for biblio.maverik_lowerbounds and biblio.nelson96stlpq. * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org papers. * doc/xml/manual/shared_ptr.xml: Use canonical address for www.boost.org. 2013-03-27 Kai Tietz * crossconfig.m4: Add support for cygwin x64 target. * configure: Regenerated. 2013-03-25 Kai Tietz * testsuite/18_support/50594.cc: For mingw-targets use only static libstdc++-version. * testsuite/19_diagnostics/error_category/operators/equal.cc * testsuite/19_diagnostics/error_code/cons/1.cc * testsuite/19_diagnostics/error_code/operators/bool.cc * testsuite/19_diagnostics/error_code/operators/equal.cc * testsuite/19_diagnostics/error_code/operators/not_equal.cc * testsuite/19_diagnostics/error_condition/cons/1.cc * testsuite/19_diagnostics/error_condition/operators/bool.cc * testsuite/19_diagnostics/error_condition/operators/equal.cc * testsuite/19_diagnostics/error_condition/operators/not_equal.cc * testsuite/23_containers/set/requirements/exception/basic.cc * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc * testsuite/lib/dg-options.exp (dg-additional-options): New option. 2013-03-24 Jonathan Wakely PR libstdc++/56170 * include/ext/debug_allocator.h (debug_allocator): Add missing members to meet allocator requirements. * testsuite/ext/debug_allocator/56170.cc: New. 2013-03-22 Paolo Carlini PR libstdc++/56678 * include/std/chrono (__is_ratio): Uglify T. 2013-03-18 Paolo Carlini PR libstdc++/55977 (partial, std::vector and std::deque bits) * include/bits/stl_vector.h (_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag)): Use emplace_back. * include/bits/deque.tcc (_M_range_initialize(_InputIterator, _InputIterator, std::input_iterator_tag)): Likewise. * testsuite/23_containers/vector/cons/55977.cc: New. * testsuite/23_containers/deque/cons/55977.cc: Likewise. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust dg-error line number. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. 2013-03-17 Paolo Carlini PR libstdc++/55979 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)): Use emplace_back. * testsuite/23_containers/list/cons/55979.cc: New. * testsuite/23_containers/list/modifiers/1.h: Adjust. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust dg-error line number. 2013-03-16 Jason Merrill PR c++/55017 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move. 2013-03-16 Jonathan Wakely PR libstdc++/56468 * libsupc++/exception_ptr.h (type_info): Declare. 2013-03-16 Jonathan Wakely PR libstdc++/56002 * include/std/mutex (lock_guard, unique_lock, lock): Define without depending on _GLIBCXX_HAS_GTHREADS. * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets. 2013-03-16 Jonathan Wakely PR libstdc++/56492 * include/std/future (__future_base::_Result): Add result_type typedef. (__future_base::_S_allocate_result): Overload for std::allocator. (__future_base::_Task_setter): Use _Result::result_type instead of deducing the type from the task. (__future_base::_Task_state): Store allocator to allow shared state to be reset. Replace std::function with member of target object type accessed via ... (__future_base::_Task_state_base): New abstract base class. (__future_base::_Task_state_base::_M_run): New virtual function to invoke type-erased target object. (__future_base::_Task_state_base::_M_reset): New virtual function to create new shared_state using same target object and allocator. (__future_base::__create_task_state): Allocate a new _Task_state. (packaged_task::packaged_task): Use __create_task_state. (packaged_task::reset): Use _Task_state_base::_M_reset. * testsuite/30_threads/packaged_task/cons/56492.cc: New. 2013-03-15 Tom Tromey * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected. (PROBE2): New macro. * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe. * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe. * configure.ac: Check for sys/sdt.h. * configure, config.h.in: Rebuild. 2013-03-14 Jonathan Wakely PR libstdc++/56613 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use allocator_traits instead of calling construct directly. * testsuite/23_containers/map/56613.cc: New. 2013-03-13 Benjamin Kosnik * doc/html/*: Regenerate. 2013-03-13 Paolo Carlini PR libstdc++/56609 * include/std/type_traits (is_fundamental): Add std::nullptr_t. * testsuite/20_util/is_fundamental/value.cc: Extend. * testsuite/20_util/is_compound/value.cc: Likewise. 2013-03-09 Paolo Carlini * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid -Wunused warnings. 2013-03-08 Benjamin Kosnik * 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. 2013-03-08 François Dumont * include/bits/vector.tcc (vector<>operator=(const vector<>&): Reset pointers after deallocation when memory can be reused. * testsuite/23_containers/vector/allocator/minimal.cc: Insert elements to really challenge C++11 allocator integration. * testsuite/23_containers/vector/allocator/copy.cc: Likewise. * testsuite/23_containers/vector/allocator/copy_assign.cc: Likewise. * testsuite/23_containers/vector/allocator/move_assign.cc: Likewise. * testsuite/23_containers/vector/allocator/swap.cc: Likewise and swap vector back before checks on memory/personality mapping are performed. * testsuite/23_containers/forward_list/allocator/minimal.cc: Insert element to really challenge C++11 allocator integration. * testsuite/23_containers/forward_list/allocator/copy.cc: Likewise. * testsuite/23_containers/forward_list/allocator/copy_assign.cc: Likewise. * testsuite/23_containers/forward_list/allocator/move_assign.cc: Likewise. * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise and swap forward_list back before checks on memory/personality mapping are performed. 2013-03-07 Jakub Jelinek * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. 2013-03-06 Rainer Orth * scripts/extract_symvers.pl: Omit symbols bound to base versions. * scripts/extract_symvers.in: Likewise. * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 2013-03-04 Ulrich Drepper * include/ext/random (__gnu_cxx::von_mises_distribution<>): Optimize generation function by pulling computation of __r into the constructor for param_type. Also compare _M_mu in operator==. Fix comment. 2013-03-02 Ulrich Drepper Add triangular and von Mises distributions. * include/ext/random: Include . Add __gnu_cxx::triangular_distribution<> and __gnu_cxx::von_mises_distribution<> classes. * include/ext/random.tcc: Add out-of-line functions for __gnu_cxx::triangular_distribution<> and __gnu_cxx::von_mises_distribution<>. * testsuite/ext/triangular_distribution/cons/default.cc: New file. * testsuite/ext/triangular_distribution/cons/parms.cc: New file. * testsuite/ext/triangular_distribution/operators/serialize.cc: New file. * testsuite/ext/triangular_distribution/operators/equal.cc: New file. * testsuite/ext/triangular_distribution/operators/inequal.cc: New file. * testsuite/ext/triangular_distribution/requirements/typedefs.cc: New file. * testsuite/ext/triangular_distribution/requirements/ explicit_instantiation/1.cc: New file. * testsuite/ext/von_mises_distribution/cons/default.cc: New file. * testsuite/ext/von_mises_distribution/cons/parms.cc: New file. * testsuite/ext/von_mises_distribution/operators/serialize.cc: New file. * testsuite/ext/von_mises_distribution/operators/equal.cc: New file. * testsuite/ext/von_mises_distribution/operators/inequal.cc: New file. * testsuite/ext/von_mises_distribution/requirements/typedefs.cc: New file. * testsuite/ext/von_mises_distribution/requirements/ explicit_instantiation/1.cc: New file. Add math constants. * include/Makefile.am (ext_headers): Add cmath. * include/Makefile.in: Regenerated. * include/ext/cmath: New file. 2013-03-01 Rainer Orth * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 2013-02-26 Jonathan Wakely PR libstdc++/56012 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion. * testsuite/29_atomics/atomic/operators/56012.cc: New. PR libstdc++/56011 * include/std/atomic (atomic::operator=(bool) volatile): Add missing overload. * testsuite/29_atomics/atomic/operators/56011.cc: New. 2013-02-25 Jason Merrill * configure.ac: Check for __cxa_thread_atexit_impl. * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward to it if available. * config.h.in, configure: Regenerate. 2013-02-20 Jonathan Wakely * include/std/streambuf (basic_streambuf): Use injected class name instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen group. 2013-02-20 Jonathan Wakely * doc/html/faq.html: Fix spelling. * doc/xml/faq.xml: Likewise. * include/bits/basic_ios.h: Likewise. * include/bits/regex.h: Likewise. * include/std/istream: Likewise. * include/std/streambuf: Likewise. 2013-02-20 Jonathan Wakely * testsuite/23_containers/unordered_set/55043.cc: Add missing namespace qualification. * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. 2013-02-19 Benjamin Kosnik * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT, AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1. * include/bits/stl_pair.h: Add to utilities group. * include/std/tuple: Same. * include/std/typeindex: Same. * include/bits/stringfwd.h: Fix markup. * include/std/limits: Same. * include/std/type_traits: Same. * include/tr1/memory: Same. * include/tr1/regex: Same. * scripts/run_doxygen: Comment. * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers. 2013-02-14 Jason Merrill * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole test if unsupported. 2013-02-13 Marc Glisse PR libstdc++/56111 * include/std/complex (complex): Undefine. * include/c_compatibility/complex.h (complex): Only undefine if has been included. * testsuite/26_numerics/complex/56111.cc: New testcase. 2013-02-13 François Dumont * include/bits/hashtable_policy.h (_Hash_code_base): Restore default constructor protected. * include/bits/hashtable.h: static assert that _Hash_code_base has a default constructor available through inheritance. 2013-02-12 Paolo Carlini * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in C++11 mode. 2013-02-12 Julian Brown * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01): Don't expect dots after abbreviated weekday names for ru_RU for glibc versions >= 2.17. * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01): Likewise. 2013-02-12 Paolo Carlini * include/bits/random.tcc (__transform): Remove. (__normalize): Add. (discrete_distribution<>::param_type::_M_initialize): Adjust. (piecewise_constant_distribution<>::param_type::_M_initialize): Likewise. (piecewise_linear_distribution<>::param_type::_M_initialize): Likewise. 2013-02-11 Benjamin Kosnik * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o): Use -fimplicit-templates. * src/c++11/Makefile.in: Regenerate. * src/c++11/hashtable_c++0x.cc: Remove instantiation for std::lower_bound template. 2013-02-11 Paolo Carlini * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare. * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only in C++11 mode and if available in the underlying C library. * testsuite/18_support/quick_exit/quick_exit.cc: Compile with -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and _GLIBCXX_HAVE_QUICK_EXIT. 2013-02-11 Benjamin Kosnik * doc/html/*: Regenerate. 2013-02-11 Jason Merrill * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New. (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit. * config.h.in, configure: Regenerate. * include/c_std/cstdlib: Add atexit and at_quick_exit. * include/c_global/cstdlib: Add atexit and at_quick_exit. * testsuite/18_support/quick_exit/quick_exit.cc: New. 2013-02-11 Paolo Carlini PR libstdc++/56282 Revert: 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/56193 * include/bits/basic_ios.h: Replace operator void*() const with explicit operator bool() const in C++11 and greater. * testsuite/27_io/basic_ios/pr56193.cc: New file. 2013-02-10 François Dumont Jonathan Wakely * doc/xml/manual/containers.xml: Add section on unordered containers. * doc/xml/manual/using.xml: Fix incomplete sentence. 2013-02-10 Jonathan Wakely PR libstdc++/56267 * include/bits/hashtable.h (__cache_default): Check if hash function is copy assignable. * testsuite/23_containers/unordered_set/56267.cc: New. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. PR libstdc++/56278 * include/bits/hashtable_policy.h (_Hash_code_base): Make default constructor public. * testsuite/23_containers/unordered_set/56278.cc: New. 2013-02-09 François Dumont * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code simplification. 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/56216 * include/tr1/special_function_util.h: Remove spurious const from numeric arguments. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/poly_laguerre.tcc: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): If argument is zero return function value. * testsuite/tr1/5_numerical_facilities/special_functions/ 08_cyl_bessel_i/pr56216.cc: New. 2013-02-07 Paolo Carlini * testsuite/27_io/basic_ios/pr56193.cc: Tweak. 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/56193 * include/bits/basic_ios.h: Replace operator void*() const with explicit operator bool() const in C++11 and greater. * testsuite/27_io/basic_ios/pr56193.cc: New file. 2013-02-04 Dodji Seketeli Add missing explicit instantiation for std::lower_bound template * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add missing instantiation for std::lower_bound template. 2013-02-04 François Dumont * include/bits/functional_hash.h (std::__is_fast_hash<>): New. * include/bits/basic_string.h: Specialize previous to mark std::hash for string types as slow. * include/bits/hashtable.h (__cache_default): Replace is_integral with __is_fast_hash. * src/c++11/hash_c++0x.cc: Add type_traits include. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adapt dg-error line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: Likewise. 2013-02-04 Manuel López-Ibáñez Paolo Carlini PR libstdc++/56202 (again) * include/bits/random.tcc (binomial_distribution<>:: _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko in previous commit. * include/bits/random.h: Fix comment typo. 2013-02-04 Manuel López-Ibáñez Paolo Carlini PR libstdc++/56202 * include/bits/random.tcc (binomial_distribution<>:: _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid division by zero. 2013-02-03 Richard Sandiford Update copyright years. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc, testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc, testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc, testsuite/23_containers/deque/requirements/dr438/insert_neg.cc, testsuite/23_containers/list/requirements/dr438/assign_neg.cc, testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc, testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc, testsuite/23_containers/list/requirements/dr438/insert_neg.cc, testsuite/23_containers/vector/requirements/dr438/assign_neg.cc, testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc, testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc, testsuite/23_containers/vector/requirements/dr438/insert_neg.cc, testsuite/29_atomics/atomic/cons/assign_neg.cc, testsuite/29_atomics/atomic/cons/copy_neg.cc, testsuite/29_atomics/atomic_integral/cons/assign_neg.cc, testsuite/29_atomics/atomic_integral/cons/copy_neg.cc, testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc, testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc, testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Update lines in dg error matches. 2013-02-03 Richard Sandiford * config/os/mingw32/ctype_inline.h: Fix copyright typo. 2013-02-01 François Dumont * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt) (_Prime_rehash_policy::_M_need_rehash): Move definition... * src/c++11/hashtable_c++0x.cc: ... here. * src/shared/hashtable-aux.cc: Remove c++config.h include. * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy symbols. 2013-01-29 Jason Merrill PR libstdc++/54314 * config/abi/pre/gnu.ver: Don't export construction vtables. * config/abi/pre/gnu-versioned-namespace.ver: Likewise. 2013-01-28 Jonathan Wakely PR libstdc++/56112 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace to construct value_type explicitly before trying to extract the key. * testsuite/23_containers/unordered_map/cons/56112.cc: New. 2013-01-28 François Dumont * include/bits/hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed functors into the local_iterator when necessary. Pass information about functors involved in hash code by copy. * include/bits/hashtable.h (__cache_default): Do not cache for builtin integral types unless the hash functor is not noexcept qualified or is not default constructible. Adapt static assertions and local iterator instantiations. * include/debug/unordered_set (std::__debug::unordered_set<>::erase): Detect local iterators to invalidate using contained node rather than generating a dummy local_iterator instance. (std::__debug::unordered_multiset<>::erase): Likewise. * include/debug/unordered_map (std::__debug::unordered_map<>::erase): Likewise. (std::__debug::unordered_multimap<>::erase): Likewise. * testsuite/performance/23_containers/insert_erase/41975.cc: Test std::tr1 and std versions of unordered_set regardless of any macro. Add test on default cache behavior. * testsuite/performance/23_containers/insert/54075.cc: Likewise. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adapt line number. * testsuite/23_containers/unordered_set/ not_default_constructible_hash_neg.cc: New. * testsuite/23_containers/unordered_set/buckets/swap.cc: New. 2013-01-24 Paolo Carlini PR libstdc++/56085 * include/std/complex (pow(const complex<>&, int)): Avoid __n signed overflow. 2013-01-22 Jakub Jelinek * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Tightten scan-assembler-times regexps, add dg-additional-options for ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to dg-options. 2013-01-12 Andi Kleen Jonathan Wakely PR libstdc++/55233 * include/bits/atomic_base.h (__memory_order_modifier): Add __memory_order_mask, __memory_order_modifier_mask, __memory_order_hle_acquire, __memory_order_hle_release. (operator|,operator&): Add. (__cmpexch_failure_order): Rename to __cmpexch_failure_order2. (__cmpexch_failure_order): Add. (clear, store, load, compare_exchange_weak, compare_exchange_strong): Handle flags. * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Add. 2013-01-19 Jonathan Wakely PR libstdc++/55861 * include/std/future (_State_base::_S_check(const shared_ptr&)): Fix return type. (__basic_future::_M_get_result()): Const qualify. (shared_future::get()): Likewise. * testsuite/30_threads/shared_future/members/get.cc: Use const objects. 2013-01-16 Jonathan Wakely PR libstdc++/55043 (again) * include/bits/alloc_traits.h (allocator_traits::construct): Disable unless construction would be well-formed. (__allow_copy_cons, __check_copy_constructible): Define. * include/bits/unordered_map.h (__check_copy_constructible): Use as base class so copy constructor will be deleted if appropriate. (is_copy_constructible): Remove specialization. * include/bits/unordered_set.h: Likewise. * include/debug/unordered_map.h: Undo previous commit. Default copy and move constructors. * include/debug/unordered_set.h: Likewise. * include/profile/unordered_map.h: Undo previous commit. * include/profile/unordered_set.h: Likewise. * testsuite/23_containers/unordered_map/55043.cc: Fix test. * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. * testsuite/23_containers/unordered_set/55043.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL, cannot support incomplete types. * testsuite/23_containers/unordered_multimap/requirements/53339.cc: Likewise. 2013-01-16 Jonathan Wakely PR libstdc++/55043 * include/std/unordered_map: Include alloc_traits.h * include/std/unordered_set: Likewise. * include/bits/alloc_traits.h: Define __is_copy_insertable. * include/bits/unordered_map.h: Use it. * include/bits/unordered_set.h: Likewise. * include/debug/unordered_map.h: Likewise. * include/debug/unordered_set.h: Likewise. * include/profile/unordered_map.h: Likewise. * include/profile/unordered_set.h: Likewise. * include/bits/hashtable.h: Fix comment typos. * testsuite/23_containers/unordered_map/55043.cc: New. * testsuite/23_containers/unordered_multimap/55043.cc: New. * testsuite/23_containers/unordered_multiset/55043.cc: New. * testsuite/23_containers/unordered_set/55043.cc: New. 2013-01-03 Janis Johnson * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running gdb command. 2013-01-08 Jonathan Wakely * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing. 2013-01-08 Jonathan Wakely PR libstdc++/55908 * include/std/functional (_Mem_fn::operator()): Fix constraints to avoid ambiguity. * testsuite/20_util/function_objects/mem_fn/55908.cc: New. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers. 2013-01-08 Rainer Orth PR libstdc++/55594 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to Solaris targets. * configure: Regenerate. 2013-01-07 Jonathan Wakely PR libstdc++/55847 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string. * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify string. PR libstdc++/55728 * include/std/functional (bad_function_call::what()): Declare. * src/c++11/functional.cc (bad_function_call::what()): Define. * config/abi/pre/gnu.ver (bad_function_call::what()): Export. * testsuite/20_util/bad_function_call/what.cc: New. 2013-01-06 Jonathan Wakely * include/bits/unordered_map.h: Fix typo in comments. * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket counts for unordered associative containers. 2013-01-06 Jonathan Wakely * doc/xml/manual/abi.xml: Update library and symbol versions. 2013-01-06 Richard Sandiford * 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. Copyright (C) 2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.