1 2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3 * testsuite/*: Remove stray semi-colons after function definitions.
5 2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com>
8 * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
9 Delegate to constructor taking allocator.
10 (__shared_count::_S_create_from_up): Inline into ...
11 (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
12 std::conditional instead of constrained overloads. Allocate memory
13 using the allocator type that will be used for deallocation.
14 * testsuite/20_util/shared_ptr/cons/58659.cc: New.
15 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
17 2013-10-08 Tim Shen <timshen91@gmail.com>
19 * include/bits/regex_executor.h: Add _TodoList class.
20 * include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
21 _M_match_stack and _M_stack to make everything faster. Break if
22 _M_stack is empty, to reduce unnecessary idling.
23 * testsuite/performance/28_regex/split.cc: New.
25 2013-10-06 Tim Shen <timshen91@gmail.com>
27 * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
29 * include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
31 2013-10-06 Tim Shen <timshen91@gmail.com>
33 * include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
34 regex_search<>): New abstract function for regex_match and regex_search.
35 * include/bits/regex.tcc (__regex_algo_impl<>): Implement.
36 * include/bits/regex_executor.h
37 (_Executor<>::_M_lookahead,
38 _DFSExecutor<>::_M_clone,
39 _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
41 * include/bits/regex_executor.tcc (__get_executor<>): Update the
42 definition to support __policy.
43 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
45 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
46 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
47 * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
49 * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
51 * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
53 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
54 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
55 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
56 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
58 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
59 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
61 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
63 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
64 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
66 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
68 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
69 * testsuite/28_regex/algorithms/regex_match/extended/
70 string_bracket_01.cc: Same.
71 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
73 * testsuite/28_regex/algorithms/regex_match/extended/
74 string_questionmark.cc: Same.
75 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
77 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
79 * testsuite/28_regex/algorithms/regex_match/extended/
80 string_dispatch_01.cc: Same.
81 * testsuite/28_regex/algorithms/regex_match/extended/
82 string_range_00_03.cc: Same.
83 * testsuite/28_regex/algorithms/regex_match/extended/
84 string_range_01_03.cc: Same.
85 * testsuite/28_regex/algorithms/regex_match/extended/
86 string_range_02_03.cc: Same.
87 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
89 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
90 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
91 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
92 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
93 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
94 * testsuite/28_regex/match_results/format.cc: Same.
95 * testsuite/util/testsuite_regex.h
96 (regex_match_debug<>, regex_search_debug<>): Implement.
98 2013-10-06 Oleg Endo <olegendo@gcc.gnu.org>
99 Paolo Carlini <paolo.carlini@oracle.com>
102 * include/c_global/cmath (signbit): Use __builtin_signbitf and
105 2013-10-03 Tim Shen <timshen91@gmail.com>
107 * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
108 backup variable initialization.
110 2013-10-03 John Woolverton <jdwoolverton@gmail.com>
113 * include/std/vector: Fix garbled line in HP Copyright.
115 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
117 * libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
118 * libsupc++/del_opnt.cc (free): Only declare if freestanding.
119 (operator delete): Qualify free with std::.
121 2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
122 Daniel Krugler <daniel.kruegler@gmail.com>
125 * include/std/functional (function::_CheckResult): Move to namespace
126 scope and rename to __check_func_return_type.
127 * testsuite/20_util/function/58569.cc: New.
129 2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
132 * include/bits/shared_ptr_base.h
133 (_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
134 * testsuite/20_util/shared_ptr/creation/58594.cc: New.
136 2013-10-02 Tim Shen <timshen91@gmail.com>
138 * include/bits/regex_compiler.h
139 (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
140 * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
141 Add _M_equiv_set support.
142 * testsuite/28_regex/algorithms/regex_match/extended/
143 cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
145 2013-10-01 Tim Shen <timshen91@gmail.com>
147 * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
148 "is not correctly implemented".
150 2013-10-01 Tim Shen <timshen91@gmail.com>
152 * doc/xml/manual/status_cxx2011.xml: Update regex status.
153 * include/bits/regex.h (match_results<>::begin,
154 match_results<>::cbegin, match_results<>::end, match_results<>::cend):
155 [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
157 2013-10-01 François Dumont <fdumont@gcc.gnu.org>
159 * include/parallel/algobase.h (mismatch, equal): Provide parallel
160 version for N3671 overloads.
162 2013-10-01 Paul Pluzhnikov <ppluzhnikov@google.com>
164 * src/c++11/snprintf_lite.cc: Add missing
165 _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
167 2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com>
169 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
170 _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
171 * configure: Regenerate.
173 2013-10-01 Tim Shen <timshen91@gmail.com>
176 * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
177 (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
178 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
180 2013-09-30 Paolo Carlini <paolo.carlini@oracle.com>
182 * include/parallel/algo.h (__find_switch): Use __binder2nd.
184 2013-09-30 Chris Jefferson <chris@bubblescope.net>
187 * include/bits/stl_algo.h (__move_median_first): Rename to
188 __move_median_to_first, change to take an addition argument.
189 (__unguarded_partition_pivot): Adjust.
190 * testsuite/performance/25_algorithms/sort.cc: New.
191 * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
192 * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
194 2013-09-28 François Dumont <fdumont@gcc.gnu.org>
196 * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
198 (rotate_copy, stable_partition, partial_sort_copy): Likewise.
199 (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
200 (includes, next_permutation, prev_permutation): Likewise.
201 (replace_copy, replace_copy_if, is_sorted_until): Likewise.
202 (minmax_element, is_permutation, adjacent_find): Likewise.
203 (count, count_if, search, search_n, merge): Likewise.
204 (set_intersection, set_difference): Likewise.
205 (set_symmetric_difference, min_element, max_element): Likewise.
206 * include/bits/stl_algobase.h (lower_bound): Likewise.
207 (lexicographical_compare, mismatch): Likewise.
209 2013-09-28 Tim Shen <timshen91@gmail.com>
211 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
212 Let ordinary char escaping in POSIX be valid.
213 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
216 2013-09-27 François Dumont <fdumont@gcc.gnu.org>
218 * include/bits/predefined_ops.h: New.
219 * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
220 (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
224 (make_heap): Adapt to use latter.
226 (sort_heap): Adapt to use latter.
227 * include/bits/algobase.h: Include <bits/predefined_ops.h>.
228 (__lexicographical_compare_impl): New.
229 (__lexicographical_compare<false>::__lc): Adapt to use latter.
230 (lexicographical_compare): Likewise.
231 (__lower_bound): New.
232 (lower_bound): Adapt to use latter.
233 (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
235 (mismatch): Use latter.
236 * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
237 <functional> include.
238 (__move_median_first, __find, __find_if, __find_if_not): Remove
240 (__find_end): Likewise.
241 (__search_n): Rename into ...
242 (__search_n_aux): ... this.
243 (__search_n): Renew, use latter.
244 (search_n): Use latter.
246 (search): Use latter.
247 (__find_end): Likewise.
248 (__remove_copy_if): New.
249 (remove_copy): Use latter.
250 (__adjacent_find): New.
251 (adjacent_find): Use latter.
253 (unique): Use latter.
254 (__unique_copy): Remove algo duplication.
255 (__stable_partition): New.
256 (stable_partition): Use latter.
257 (__heap_select): Remove algo duplication, use __make_heap.
258 (__partial_sort): New, use latter.
259 (partial_sort): Use latter.
260 (__partial_sort_copy): New.
261 (partial_sort_copy): Use latter.
262 (__unguarded_linear_insert, __insertion_sort): Remove algo
264 (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
265 (__unguarded_partition, __unguarded_partition_pivot): Likewise.
266 (__partial_sort): New.
267 (partial_sort): Use latter.
270 (lower_bound): Use __lower_bound.
271 (__upper_bound): New.
272 (upper_bound): Use latter.
273 (__equal_range): New.
274 (equal_range): Use latter.
275 (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
277 (__merge_adaptive, __merge_without_buffer): Likewise.
278 (__inplace_merge): New.
279 (inplace_merge): Use latter.
280 (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
282 (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
283 (__inplace_stable_sort): Likewise.
285 (includes): Use latter.
286 (__next_permutation): New.
287 (next_permutation): Use latter.
288 (__prev_permutation): New.
289 (prev_permutation): Use latter.
290 (__replace_copy_if): New.
291 (replace_copy): Use latter.
292 (__is_sorted_until): New.
293 (is_sorted_unitl): Use latter.
294 (__minmax_element): New.
295 (minmax_element): Use latter.
296 (__is_permutation): New.
297 (is_permutation): Use latter.
298 (__adjacent_find): New.
299 (adjacent_find): Use latter.
302 (count_if): Likewise.
305 (__stable_sort): New.
306 (stable_sort): Use latter.
308 (set_union): Use latter.
309 (__set_intersection): New.
310 (set_intersection): Use latter.
311 (__set_difference): New.
312 (set_difference): Use latter.
313 (__set_symmetric_difference): New.
314 (set_symmetric_difference): Use latter.
315 (__min_element): New.
316 (min_element): Use latter.
317 (__max_element): New.
318 (max_element): Use latter.
319 * include/Makefile.am: Add predefined_ops.h.
320 * include/Makefile.in: Regenerate.
321 * include/parallel/algobase.h (equal, mismatch): Add overloads
323 * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
324 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
325 * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
326 * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
327 * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
328 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
329 * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
330 * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
332 2013-09-27 Jonathan Wakely <jwakely.gcc@gmail.com>
335 * include/std/functional
336 (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
338 * testsuite/20_util/function/cons/57465.cc: New.
340 2013-09-26 Tim Shen <timshen91@gmail.com>
342 * regex_error.h: Remove _S_error_last to follow the standard.
344 (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
346 (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
348 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
349 Move here from ../../extended.
350 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
353 2013-09-25 Marc Glisse <marc.glisse@inria.fr>
356 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
358 (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
359 operator++, operator==, operator!=, _M_next]: Likewise.
360 (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
361 operator->, operator++, operator==, operator!=, _M_next]: Likewise.
362 (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
363 operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
365 * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
366 _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
367 _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
368 const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
369 const _Node_iterator_base&)): Likewise.
370 (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
372 (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
373 operator++]: Likewise.
374 * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
375 operator=, operator*, operator->, operator++, operator--, operator[],
376 operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
378 (operator==(const _Safe_iterator&, const _Safe_iterator&),
379 operator!=(const _Safe_iterator&, const _Safe_iterator&),
380 operator<(const _Safe_iterator&, const _Safe_iterator&),
381 operator<=(const _Safe_iterator&, const _Safe_iterator&),
382 operator>(const _Safe_iterator&, const _Safe_iterator&),
383 operator>=(const _Safe_iterator&, const _Safe_iterator&),
384 operator-(const _Safe_iterator&, const _Safe_iterator&),
385 operator+(difference_type, const _Safe_iterator&)): Likewise.
386 * include/profile/iterator_tracker.h (__iterator_tracker)
387 [__iterator_tracker, base, operator _Iterator, operator->, operator++,
388 operator--, operator=, operator*, operator[], operator+=, operator+,
389 operator-=, operator-]: Likewise.
390 (operator==(const __iterator_tracker&, const __iterator_tracker&),
391 operator!=(const __iterator_tracker&, const __iterator_tracker&),
392 operator<(const __iterator_tracker&, const __iterator_tracker&),
393 operator<=(const __iterator_tracker&, const __iterator_tracker&),
394 operator>(const __iterator_tracker&, const __iterator_tracker&),
395 operator>=(const __iterator_tracker&, const __iterator_tracker&),
396 operator-(const __iterator_tracker&, const __iterator_tracker&),
397 operator+(difference_type, const __iterator_tracker&)): Likewise.
399 2013-09-24 Marc Glisse <marc.glisse@inria.fr>
403 * include/bits/basic_string.h (basic_string)
404 [basic_string(basic_string&&)]: Make the noexcept conditional.
405 [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
406 [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
407 [pop_back]: Comment on the lack of noexcept.
408 * include/debug/string (basic_string) [basic_string(const _Allocator&),
409 basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
410 operator[](size_type), pop_back]: Comment out noexcept, until vstring
411 replaces basic_string.
413 2013-09-24 Tim Shen <timshen91@gmail.com>
415 * include/Makefile.am: Add regex.tcc.
416 * include/Makefile.in: Regenerate.
417 * include/bits/regex.h: Remove definitions to regex.tcc.
418 * include/bits/regex.tcc: New.
419 (match_results::format, regex_replace): Implement;
420 * include/bits/regex_compiler.h: Move _M_flags to the top of class
421 member list, because other members' initialization depend on it.
422 * include/bits/regex_compiler.tcc
423 (_Compiler<>::_Compiler): Adjust member initializations.
424 (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
425 * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
426 In the future, all regex classes may refactor to *Impl style.
427 * include/bits/regex_executor.tcc (_Executor::_M_set_results):
428 Merge identical code from _*Executor classes.
429 * testsuite/28_regex/algorithms/regex_match/extended/
430 string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
431 caller for new __get_executors interface.
432 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
434 * testsuite/28_regex/match_results/format.cc: New.
435 * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
437 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
439 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
441 * src/c++11/snprintf_lite.cc (__concat_size_t): Use
442 unsigned long long conditionally.
444 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
446 * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
447 std::__int_to_char<unsigned long long>()
449 2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com>
451 * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
452 * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
453 * src/c++11/snprintf_lite.cc: New.
454 * src/c++11/Makefile.am: Add snprintf_lite.cc.
455 * src/c++11/Makefile.in: Regenerate.
456 * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
457 * include/std/array (at): Use __throw_out_of_range_fmt.
458 * include/debug/array (at): Likewise.
459 * include/profile/array (at): Likewise.
460 * include/std/bitset (_M_check_initial_position, _M_check): New.
461 (bitset::bitset): Use _M_check_initial_position.
462 (set, reset, flip, test): Use _M_check.
463 * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
464 * include/bits/stl_vector.h (_M_range_check): Likewise.
465 * include/bits/stl_bvector.h (_M_range_check): Likewise.
466 * include/bits/stl_deque.h (_M_range_check): Likewise.
467 * include/bits/basic_string.h (_M_check, at): Likewise.
468 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
469 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
470 * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
472 * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
474 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
475 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
476 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
478 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
480 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
481 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
483 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
484 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
485 * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
487 2013-09-20 Jakub Jelinek <jakub@redhat.com>
490 * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
491 -fdiagnostics-color=never to cxxflags.
493 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
496 * include/bits/allocator.h (__alloc_swap::_S_do_it,
497 __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
498 * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
499 _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
500 _M_set_length_and_sharable, _M_dispose]: Likewise.
501 (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
502 (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
503 _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
504 _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
506 [clear]: Link to PR 56166.
507 [swap]: Link to PR 58265.
508 * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
509 _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
510 operator--, operator+=, operator+, operator-=, operator-, operator[],
511 _M_set_node]: Mark as noexcept.
512 (operator==(const _Deque_iterator&, const _Deque_iterator&),
513 operator!=(const _Deque_iterator&, const _Deque_iterator&),
514 operator<(const _Deque_iterator&, const _Deque_iterator&),
515 operator>(const _Deque_iterator&, const _Deque_iterator&),
516 operator<=(const _Deque_iterator&, const _Deque_iterator&),
517 operator>=(const _Deque_iterator&, const _Deque_iterator&),
518 operator-(const _Deque_iterator&, const _Deque_iterator&),
519 operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
520 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
522 [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
524 (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
525 _Deque_impl(_Tp_alloc_type&&)]: Likewise.
526 (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
527 front, back, pop_front, pop_back, swap]: Likewise.
528 [deque(), deque(const allocator_type&)]: Merge.
529 * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
530 operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
531 * include/profile/deque (deque) [operator=(deque&&), operator[], front,
532 back, pop_front, pop_back, swap]: Likewise.
533 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
535 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
537 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
539 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
542 2013-09-20 Alan Modra <amodra@gmail.com>
544 * configure: Regenerate.
546 2013-09-19 Marc Glisse <marc.glisse@inria.fr>
549 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
551 (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
552 operator++, operator--, operator==, operator!=]: Likewise.
553 (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
554 operator*, operator->, operator++, operator--, operator==, operator!=]:
556 (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
557 operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
559 (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
560 _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
561 _S_maximum]: Likewise.
562 * include/debug/string (basic_string) [basic_string(const _Allocator&),
563 shrink_to_fit, operator[], pop_back]: Likewise.
564 * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
565 _M_ibegin, _M_iend, __versa_string(const _Alloc&),
566 operator=(__versa_string&&), shrink_to_fit, operator[], front,
567 back, assign(__versa_string&&), swap]: Likewise.
568 (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
571 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
574 * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
575 _M_const_cast, operator*, operator->, operator++, operator--,
576 operator[], operator+=, operator+, operator-=, operator-, base]:
578 (operator==(const __normal_iterator&, const __normal_iterator&),
579 operator!=(const __normal_iterator&, const __normal_iterator&),
580 operator<(const __normal_iterator&, const __normal_iterator&),
581 operator>(const __normal_iterator&, const __normal_iterator&),
582 operator<=(const __normal_iterator&, const __normal_iterator&),
583 operator>=(const __normal_iterator&, const __normal_iterator&),
584 operator-(const __normal_iterator&, const __normal_iterator&),
585 operator+(difference_type, const __normal_iterator&)): Likewise.
586 * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
588 (list::_M_check_equal_allocators): Abort instead of throwing.
589 * include/debug/array (array) [operator[], front, back]: Mark as
591 * include/profile/array (array) [operator[], front, back]: Likewise.
592 * include/std/array (array) [operator[], front, back]: Likewise.
593 * include/debug/list (list::splice): Likewise.
594 * include/profile/list (list::splice): Likewise.
595 * testsuite/23_containers/list/operations/5.cc: Remove file.
596 * testsuite/23_containers/list/operations/5.h: Likewise.
598 2013-09-18 Tim Shen <timshen91@gmail.com>
600 * include/bits/regex.h: Add friend classes.
601 (match_results<>::position, regex_iterator<>::operator++):
602 Implement position specification in regex_iterator.
603 (regex_match<>, regex_search<>):
604 Move match_results initializations to these function. Remove `todo`.
605 * include/bits/regex_compiler.tcc:
606 (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
607 * include/bits/regex_constants.h:
608 Fix indentation. Change match_flag_type to enum type.
609 * include/bits/regex_executor.h:
610 Merge identical code to the base class _Executor.
611 Support flags in regex_constants.
612 * include/bits/regex_executor.tcc: Likewise.
613 * include/bits/regex_scanner.h: Add comments.
614 * include/bits/regex_scanner.tcc: Same.
615 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
617 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
618 * testsuite/28_regex/iterators/regex_iterator/char/
619 string_position_01.cc: Remove `xfail`.
620 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
621 Remove `xfail` and make the case really work.
623 2013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
625 * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
627 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
630 * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
632 * include/bits/stl_list.h (_List_iterator) [_List_iterator,
633 _M_const_cast, operator*, operator->, operator++, operator--,
634 operator==, operator!=]: Likewise.
635 (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
636 operator->, operator++, operator--, operator==, operator!=]: Likewise.
637 (operator==(const _List_iterator&, const _List_const_iterator&),
638 operator!=(const _List_iterator&, const _List_const_iterator&)):
640 (_List_impl) [_List_impl(const _Node_alloc_type&),
641 _List_impl(_Node_alloc_type&&)]: Likewise.
642 (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
643 _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
644 (list) [list(), list(const allocator_type&)]: Merge.
645 (list) [list(const allocator_type&), front, back, pop_front, pop_back,
646 erase, _M_erase]: Mark as noexcept.
647 * include/debug/list (list) [list(const _Allocator&), front, back,
648 pop_front, pop_back, _M_erase, erase]: Likewise.
649 * include/profile/list (list) [list(const _Allocator&), front, back,
650 pop_front, pop_back, erase]: Likewise.
651 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
653 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
655 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
657 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
660 2013-09-17 Marc Glisse <marc.glisse@inria.fr>
663 * include/bits/stl_vector.h (vector::vector(),
664 vector::vector(const allocator_type&)): Merge.
665 (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
666 _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
667 _Vector_impl::_M_swap_data,
668 _Vector_base::_Vector_base(const allocator_type&),
669 _Vector_base::_Vector_base(allocator_type&&),
670 _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
671 vector::vector(const allocator_type&), vector::operator[],
672 vector::operator[] const, vector::front, vector::front const,
673 vector::back, vector::back const, vector::pop_back,
674 vector::_M_erase_at_end): Mark as noexcept.
675 * include/debug/vector (vector::vector(const _Allocator&),
676 vector::operator[], vector::operator[] const, vector::front,
677 vector::front const, vector::back, vector::back const, vector::pop_back,
678 _M_requires_reallocation, _M_update_guaranteed_capacity,
679 _M_invalidate_after_nth): Mark as noexcept.
680 * include/profile/vector (vector::vector(const _Allocator&),
681 vector::operator[], vector::operator[] const, vector::front,
682 vector::front const, vector::back, vector::back const): Mark as
684 (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
685 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
687 * testsuite/23_containers/vector/requirements/dr438/
688 constructor_1_neg.cc: Likewise.
689 * testsuite/23_containers/vector/requirements/dr438/
690 constructor_2_neg.cc: Likewise.
691 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
694 2013-09-14 Tim Shen <timshen91@gmail.com>
696 * include/bits/regex.h (regex_match<>, regex_search<>):
697 Change regex_executor caller. Now use their return value instead
698 of checking __m[0].matched to find out if it's successful.
699 (regex_search<>): Move the search logic to regex_executor.
700 * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
702 * include/bits/regex_automaton.tcc: Add DEBUG dump for new
703 _Opcode. Refactor _NFA::_M_insert_*.
704 * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
705 Use make_shared instead of construct by hand.
706 * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
707 * include/bits/regex_constants.h: Fix indentation and line breaking.
708 * include/bits/regex_executor.h: Add _ResultsEntry to support
709 greedy/ungreedy mode. Move regex_search logic here.
710 * include/bits/regex_executor.tcc: Implement assertions and
711 greedy/ungreedy matching.
712 * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
713 * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
714 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
715 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
716 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
719 2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
722 * include/ext/sso_string_base.h (__sso_string_base<>::
723 __sso_string_base(__sso_string_base&&)): Fix thinkos about
724 _M_length vs _M_set_length.
725 * testsuite/ext/vstring/cons/58415-1.cc: New.
726 * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
728 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
731 * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
732 operator+=, operator+, operator-=, operator-): Take the argument
734 * testsuite/24_iterators/normal_iterator/58403.cc: New.
736 2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
737 Chris Jefferson <chris@bubblescope.net>
740 * include/bits/stl_algo.h (search_n): Fix to guarantee a number
741 of comparisons <= number of elements in the range.
742 * testsuite/25_algorithms/search_n/58358.cc: New.
743 * testsuite/25_algorithms/search_n/iterator.cc: Extend.
745 2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
747 * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
748 from char to wchar_t, literals from 'x' to L'x'.
750 2013-09-10 Kai Tietz <ktietz@redhat.com>
753 * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
756 2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
759 * include/bits/stl_algobase.h (copy_backward): Fix documentation
762 2013-09-05 Tim Shen <timshen91@gmail.com>
764 * include/bits/regex_automaton.h: Add dummy node type. Rewrite
766 * include/bits/regex_automaton.tcc: Implement them.
767 * include/bits/regex_compiler.h: Rewrite _Compiler to use new
768 _StateSeq interfaces.
769 * include/bits/regex_compiler.tcc: Implement them.
770 * include/bits/regex_scanner.h: Add word boundry assertion token.
771 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
772 Support word boundry.
773 * testsuite/28_regex/algorithms/regex_match/basic/
774 string_range_02_03.cc: Remove "xfail".
775 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
777 * testsuite/28_regex/algorithms/regex_match/extended/
778 string_range_02_03.cc: Likewise.
779 * testsuite/28_regex/algorithms/regex_match/extended/
780 cstring_questionmark.cc: Remove xfail and get correct length of
782 * testsuite/28_regex/algorithms/regex_match/extended/
783 string_range_00_03.cc: Likewise.
784 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
786 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
788 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
790 2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
793 * include/bits/random.tcc (negative_binomial_distribution<>::
794 operator()(_UniformRandomNumberGenerator&, const param_type&)):
795 Fix typo in template argument.
796 * testsuite/26_numerics/random/negative_binomial_distribution/
797 operators/58302.cc: New.
799 2013-09-02 Tim Shen <timshen91@gmail.com>
801 * regex_automaton.h: Rearrange _NFA's layout.
802 * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
803 Rearrange _BracketMatcher's layout.
804 (_BracketMatcher<>::_M_add_char): Use set instead of vector for
806 (_BracketMatcher<>::_M_add_collating_element): Likewise.
807 (_BracketMatcher<>::_M_make_range): Likewise.
808 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
809 appropriate constructors of matchers above.
810 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
812 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
813 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
815 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
817 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
818 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
820 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
822 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
825 * include/debug/functions.h (__foreign_iterator_aux4): Use
826 sequence const_pointer as common type to compare pointers. Add a
827 fallback overload in case pointers cannot be cast to sequence
829 * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
831 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
834 * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
835 __gnu_debug::__base calls on iterators passed to internal debug
837 (__glibcxx_check_partitioned_lower_pred): Likewise.
838 (__glibcxx_check_partitioned_upper): Likewise.
839 (__glibcxx_check_partitioned_upper_pred): Likewise.
840 (__glibcxx_check_sorted): Likewise.
841 (__glibcxx_check_sorted_pred): Likewise.
842 (__glibcxx_check_sorted_set): Likewise.
843 (__glibcxx_check_sorted_set_pred): Likewise.
844 * include/debug/functions.h (__check_partitioned_lower):
845 Remove code to detect safe iterators.
846 (__check_partitioned_upper): Likewise.
847 (__check_sorted): Likewise.
849 2013-08-29 Tim Shen <timshen91@gmail.com>
851 * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
852 (regex_iterator<>::regex_iterator): Return nullptr when regex_search
854 (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
855 _M_result is(not isn't) nullptr.
856 * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
858 * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
859 _M_traits to _DFSExecutor.
860 * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
862 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
864 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
867 2013-08-26 Tim Shen <timshen91@gmail.com>
869 * include/Makefile.am: Add regex_scanner.{h,tcc}.
870 * include/Makefile.in: Regenerate.
871 * include/bits/regex.h (match_search): Handle the `__first == __last`
873 * include/bits/regex_compiler.h: Move _Scanner...
874 * include/bits/regex_scanner.h: ...to here. New.
875 * include/bits/regex_compiler.tcc: Move _Scanner...
876 * include/bits/regex_scanner.tcc: ...to here, too. New.
877 * include/bits/regex_executor.tcc: Use value instead of reference for
879 * include/std/regex: Add regex_scanner.h
880 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
881 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
882 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
883 * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
884 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
886 2013-08-22 Tim Shen <timshen91@gmail.com>
888 * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
889 * include/bits/regex_automaton.h: Same.
890 * include/bits/regex_automaton.tcc: Same.
891 * include/bits/regex_compiler.h: Same.
892 * include/bits/regex_compiler.tcc: Same.
893 * include/bits/regex_constants.h: Same.
894 * include/bits/regex_executor.h: Same.
895 * include/bits/regex_executor.tcc: Same.
897 2013-08-22 Tim Shen <timshen91@gmail.com>
899 * include/bits/regex.h: Executor caller.
900 * include/bits/regex_executor.h: Fix empty grouping problem.
901 * include/bits/regex_executor.tcc: Same.
902 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
905 2013-08-20 Phil Muldoon <pmuldoon@redhat.com>
908 http://sourceware.org/bugzilla/show_bug.cgi?id=15195
910 * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
911 is a reference, fetch referenced value.
912 (RxPrinter.invoke): Ditto.
913 * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
914 flag. Add referenced value tests.
916 2013-08-20 Tim Shen <timshen91@gmail.com>
918 * include/bits/regex_constants.h: Add underlying `unsigned int` for
919 enum syntax_option_type.
921 2013-08-18 Tim Shen <timshen91@gmail.com>
923 * include/bits/regex_automaton.h: _S_opcode_backref.
924 * include/bits/regex_automaton.tcc: Backref automaton support.
925 * include/bits/regex_compiler.tcc: Parsing support.
926 * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
927 * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
928 * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
930 2013-08-16 Tim Shen <timshen91@gmail.com>
932 * include/bits/regex.h (regex_traits<>::transform_primary):
933 Avoid past-the-end dereferences.
935 2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
938 * include/bits/basic_string.h (basic_string<>::operator[]): Fix
939 _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
940 * include/ext/vstring.h: Likewise.
941 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
943 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
945 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
946 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
948 2013-08-14 Uros Bizjak <ubizjak@gmail.com>
950 * src/c++98/compatibility.cc (_ZTIe): Use
951 reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
955 2013-08-09 Tim Shen <timshen91@gmail.com>
957 * include/bits/regex_constants.h: Change syntax_option_type to enum
960 2013-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
962 * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
964 2013-08-08 François Dumont <fdumont@gcc.gnu.org>
966 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
967 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
969 (_Before_begin<>): Remove.
970 * include/bits/hashtable.h (_Hashtable): Inherit from
971 _Hashtable_alloc and adapt. Restore _M_before_begin field.
972 * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
973 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
974 access to hashtable before begin.
975 * testsuite/23_containers/unordered_set/
976 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
977 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
980 2013-08-07 Tim Shen <timshen91@gmail.com>
982 * include/Makefile.am: Adjust to new files.
983 * include/Makefile.in: Regenerate.
984 * include/bits/regex.h: Adjust to new interfaces.
985 * include/bits/regex_automaton.h: New.
986 * include/bits/regex_automaton.tcc: New.
987 * include/bits/regex_compiler.h: Adjust to new files.
988 * include/bits/regex_compiler.tcc: New.
989 * include/bits/regex_constants.h: Tail spaces.
990 * include/bits/regex_error.h: Likewise.
991 * include/bits/regex_executor.h: New.
992 * include/bits/regex_executor.tcc: New.
993 * include/std/regex: Adjust to new files.
994 * testsuite/28_regex/algorithms/regex_match/extended/
995 string_dispatch_01.cc: Adjust to new interfaces.
997 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
999 * include/ext/atomicity.h: Add #pragma GCC system_header.
1001 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
1004 * include/bits/random.h (cauchy_distribution<>::min,
1005 extreme_value_distribution<>::min, normal_distribution<>::min,
1006 student_t_distribution<>::min): Fix.
1007 * include/ext/random (normal_mv_distribution<>::min): Likewise.
1008 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
1010 testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
1012 * testsuite/26_numerics/random/extreme_value_distribution/cons/
1014 testsuite/26_numerics/random/extreme_value_distribution/cons/
1015 default.cc: Likewise.
1016 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
1018 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
1020 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
1022 * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
1024 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
1025 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
1027 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
1029 * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
1032 * testsuite/ext/von_mises_distribution/*: Move to...
1033 * testsuite/ext/random/von_mises_distribution/*: ... here.
1034 * testsuite/ext/triangular_distribution/*: Move to...
1035 * testsuite/ext/random/triangular_distribution/*: ... here.
1037 2013-08-06 Caroline Tice <cmtice@google.com>
1039 * fragment.am: Add XTEMPLATE_FLAGS.
1040 * configure.ac: Add definitions for --enable-vtable-verify.
1041 * acinclude.m4: Add --enable-vtable-verify and
1042 --disable-vtable-verify; define --enable-vtable-verify; define
1043 VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
1044 * config/abi/pre/gnu.ver: Export symbols for vtable verification.
1045 * libsupc++/Makefile.am: Define vtv_sources and add it to
1046 libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
1047 * libsupc++/vtv_stubs.cc: New file.
1048 * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
1049 * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
1050 VTV_CXXLINKFLAGS to CXXLINK.
1051 * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
1052 to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
1053 * src/C++11/Makefile.am: Ditto.
1054 * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
1055 * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
1056 cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
1057 * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
1058 libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
1059 cxxvtvflags to cxx_final.
1060 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1061 -fvtable-verify=none to compiler flags.
1062 * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
1064 * configure: Regenerated.
1065 * Makefile.in: Regenerated.
1066 * python/Makefile.in: Regenerated.
1067 * include/Makefile.in: Regenerated.
1068 * libsupc++/Makefile.in: Regenerated.
1069 * config.h.in: Regenerated.
1070 * po/Makefile.in: Regenerated.
1071 * src/Makefile.in: Regenerated.
1072 * src/c++98/Makefile.in: Regenerated.
1073 * src/c++11/Makefile.in: Regenerated.
1074 * doc/Makefile.in: Regenerated.
1075 * testsuite/Makefile.in: Regenerated.
1077 2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
1079 Revert the last commit.
1081 2013-08-06 François Dumont <fdumont@gcc.gnu.org>
1083 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1084 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
1086 (_Before_begin<>): Remove.
1087 * include/bits/hashtable.h (_Hashtable): Inherit from
1088 _Hashtable_alloc and adapt. Restore _M_before_begin field.
1089 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
1090 access to hashtable before begin.
1091 * testsuite/23_containers/unordered_set/
1092 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
1093 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1096 2013-08-03 Tim Shen <timshen91@gmail.com>
1098 Implement bracket expression.
1099 * include/bits/regex.h: Remove constexpr from "|=", etc.
1100 * include/bits/regex_compiler.h: Parse bracket expression.
1101 * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
1103 * include/bits/regex_nfa.tcc: Implement them.
1104 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1105 from regex_search to regex_match.
1106 * testsuite/28_regex/algorithms/regex_match/extended/
1107 cstring_bracket_01.cc: New.
1109 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
1111 * include/debug/functions.h (__foreign_iterator_aux4):
1112 Initialize __l and __ge.
1114 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
1117 * include/debug/functions.h: Include <bits/move.h>; minor formatting
1119 (__foreign_iterator_aux4): Declare __l and __ge constexpr.
1120 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
1122 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
1123 operator->): Likewise.
1125 2013-08-01 François Dumont <fdumont@gcc.gnu.org>
1128 * include/debug/formatter.h (_Debug_msg_id): Add
1129 __msg_insert_itself_range entry.
1130 * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
1131 New, indicate container types supporting self range insertion in
1133 (__foreign_iterator): New, check if an iterator points to a given
1135 * include/debug/macros.h (__glibcxx_check_insert_range): Add check
1136 using __foreign_iterator.
1137 (__gibcxx_check_insert_range_after): Likewise.
1138 * include/debug/string (_Insert_range_from_self_is_safe<>):
1139 Partially specialized to mark __gnu_debug::basic_string<> as
1140 supporting self range insert.
1141 * include/debug/list (_Insert_range_from_self_is_safe<>):
1142 Partially specialized to mark std::list as supporting self range
1143 insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
1144 * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
1146 * src/c++11/debug.cc (_S_debug_messages): Add
1147 __msg_insert_itself_range_entry message.
1148 (_Error_formatter::_Parameter::_M_print_description): Display
1149 iterator sequence address rather than sequence address when the
1150 parameter type is an iterator.
1151 (_Error_formatter::_M_print_word): Enhance behavior when
1152 displaying a word with an appended '\n'.
1153 * testsuite/util/debug/checks.h (check_insert4<>): New.
1154 * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
1155 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
1156 * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
1157 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
1158 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
1159 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
1162 2013-08-01 Fabien Chêne <fabien@gcc.gnu.org>
1165 * include/tr1/cmath: Remove pow(double,double) overload, remove a
1166 duplicated comment about DR 550. Add a comment to explain the
1168 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
1170 2013-07-31 Tim Shen <timshen91@gmail.com>
1172 Thompson matcher refactored. Fix grouping problem.
1173 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1174 * include/bits/regex_compiler.h: Tweak for auto switching.
1175 * include/bits/regex_grep_matcher.h: Class structure.
1176 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1177 matcher) refactoring.
1178 * include/bits/regex_nfa.h: Change _Results's interfaces.
1179 * include/std/regex: Includes <map> and <queue>.
1180 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1182 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1184 * testsuite/28_regex/algorithms/regex_match/extended/
1185 string_dispatch_01.cc: New.
1187 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
1190 * include/bits/stl_bvector.h: Use friend struct hash intead of
1191 friend class hash to work around useless warnings produced by
1193 * include/std/bitset: Likewise.
1195 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
1197 * src/c++11/functexcept.cc: Do not include the whole <regex>.
1198 * src/c++11/regex.cc: Likewise.
1200 2013-07-31 Tim Shen <timshen91@gmail.com>
1204 2013-07-31 Tim Shen <timshen91@gmail.com>
1206 Thompson matcher refactored. Fix grouping problem.
1207 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1208 * include/bits/regex_compiler.h: Tweak for auto switching.
1209 * include/bits/regex_grep_matcher.h: Class structure.
1210 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1211 matcher) refactoring.
1212 * include/bits/regex_nfa.h: Change _Results's interfaces.
1213 * include/std/regex: Includes <map> and <queue>.
1214 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1216 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1218 * testsuite/28_regex/algorithms/regex_match/extended/
1219 string_dispatch_01.cc: New.
1221 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
1225 2013-07-30 Tim Shen <timshen91@gmail.com>
1227 Thompson matcher refactored. Fix grouping problem.
1228 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1229 * include/bits/regex_compiler.h: Tweak for auto switching.
1230 * include/bits/regex_grep_matcher.h: Class structure.
1231 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1232 matcher) refactoring.
1233 * include/bits/regex_nfa.h: Change _Results's interfaces.
1234 * include/std/regex: Includes <map> and <queue>.
1235 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1237 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1239 * testsuite/28_regex/algorithms/regex_match/extended/
1240 string_dispatch_01.cc: New.
1242 2013-07-29 Nathan Froyd <froydnj@gcc.gnu.org>
1244 * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
1245 Add call to __cmpexch_failure_order.
1246 * testsuite/util/testsuite_common_types.h
1247 (compare_exchange_order_lowering): New generator.
1248 * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
1251 2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
1253 * include/std/complex (pow(const complex<>&, int)): Enable in
1255 * testsuite/26_numerics/complex/dr844.cc: Adjust.
1256 * doc/xml/manual/intro.xml: Update.
1258 2013-07-25 Tim Shen <timshen91@gmail.com>
1260 Add documents and comments.
1261 * include/bits/regex.h: Documents and comments.
1262 * include/bits/regex_grep_matcher.h: Likewise.
1263 * include/bits/regex_grep_matcher.tcc: Likewise.
1264 * testsuite/28_regex/iterators/regex_iterator/char/
1265 string_position_01.cc: New.
1267 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
1270 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
1273 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
1275 * include/bits/random.h (random_device): Avoid using the FILE type.
1276 * include/std/random: Do not include <cstdio>.
1277 * src/c++11/random.cc: ... include it here.
1278 (random_device::_M_init, random_device::_M_fini,
1279 random_device::_M_getval): Cast back and forth void* and FILE*.
1281 2013-07-24 Tim Shen <timshen91@gmail.com>
1283 Reimplment matcher using Depth-first search(backtracking).
1286 * include/bits/regex.h: regex_match() and regex_search().
1287 * include/bits/regex_cursor.h: Fix _M_set_pos().
1288 * include/bits/regex_grep_matcher.h: add _M_dfs_match().
1289 * include/bits/regex_grep_matcher.tcc: Implement it.
1290 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
1291 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
1292 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
1295 2013-07-23 Tim Shen <timshen91@gmail.com>
1297 Implement regex_iterator and regex_token_iterator.
1298 * include/bits/regex.h: regex_iterator and regex_token_iterator.
1299 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
1301 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
1303 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
1305 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1308 2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
1310 * include/std/random: Add back <cstdio> include.
1311 * src/c++11/random.cc: Don't include <cstdio> here.
1313 2013-07-22 Jason Merrill <jason@redhat.com>
1316 * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
1318 2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
1321 * src/c++11/random.cc (random_device::_M_getval): If possible, use
1322 read instead of std::fread.
1323 * include/std/random: Do not include <cstdio> unnecessarily.
1325 2013-07-21 Tim Shen <timshen91@gmail.com>
1327 Partially implement regex_search.
1328 * include/bits/regex.h: regex_search.
1329 * include/bits/regex_grep_matcher.h: _M_search_from_first.
1330 * include/bits/regex_grep_matcher.tcc: Implement it.
1331 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
1333 2013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com>
1336 * include/std/condition_variable (condition_variable_any): Move into
1337 inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
1338 * src/c++11/condition_variable.cc (condition_variable_any): Move
1340 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
1341 * src/Makefile.am: Add new source file.
1342 * src/Makefile.in: Regenerate.
1344 2013-07-09 Tim Shen <timshen91@gmail.com>
1346 Implement class regex_traits.
1347 * include/bits/regex.h: Implement lookup_classname and
1348 lookup_collatename; modify isctype; partially implement
1350 * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
1351 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
1352 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
1353 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
1354 * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
1355 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
1356 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
1357 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
1359 2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net>
1361 * doc/xml/manual/status_cxx2014.xml: Add links for papers.
1363 2013-07-05 François Dumont <fdumont@gcc.gnu.org>
1365 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
1367 (_MoveReuseOrAllocNode): Remove.
1368 (_Insert_base): Take a functor defining how the node is generated.
1369 * include/bits/hashtable.h: Adapt.
1370 (operator=(initializer_list<value_type>)): Reuse node if any.
1371 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1372 Adjust dg-error line number.
1373 * testsuite/23_containers/unordered_set/
1374 not_default_constructible_hash_neg.cc: Likewise.
1376 2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
1378 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1379 Tweak, avoid potential undefined behavior.
1380 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1382 * testsuite/23_containers/vector/bool/modifiers/insert/
1383 const_iterator.cc: Likewise.
1384 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1387 2013-07-04 Veres Lajos <vlajos@gmail.com>
1388 Jonathan Wakely <jwakely.gcc@gmail.com>
1390 * config/locale/generic/codecvt_members.cc: Fix typo.
1391 * configure.host: Likewise.
1392 * doc/html/manual/policy_data_structures_design.html: Likewise.
1393 * doc/xml/manual/policy_data_structures.xml: Likewise.
1394 * include/bits/hashtable.h: Likewise.
1395 * include/bits/random.h: Likewise.
1396 * include/profile/impl/profiler_trace.h: Likewise.
1397 * testsuite/23_containers/deque/cons/2.cc: Likewise.
1398 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
1399 * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
1400 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1402 2013-07-04 Ray Chason <chasonr@newsguy.com>
1403 Paolo Carlini <paolo.carlini@oracle.com>
1406 * include/bits/regex.h (regex_token_iterator<>::operator==,
1407 regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
1408 regex_token_iterator<>::operator->): Declare const.
1410 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
1412 * include/bits/stl_list.h (list<>::insert(iterator,
1413 size_type, const value_type&), list<>::insert(iterator,
1414 initializer_list<>), list<>::insert(iterator, _InputIterator,
1415 _InputIterator), list<>::splice(iterator, list&&),
1416 list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
1417 iterator), list<>::splice(iterator, list&, iterator),
1418 list<>::splice(iterator, list&&, iterator, iterator),
1419 list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
1420 signatures to take const_iterator(s).
1421 * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
1422 const value_type&), list<>::insert(const_iterator, _InputIterator,
1423 _InputIterator)): Define.
1424 * include/ext/vstring.h (__versa_string<>::insert(iterator,
1425 size_type, _CharT), __versa_string<>::insert(iterator,
1426 _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
1427 std::initializer_list<>), __versa_string<>::replace(iterator,
1428 iterator, _InputIterator, _InputIterator), __versa_string<>::
1429 replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
1430 signatures to take const_iterator(s).
1431 (__versa_string<>::_M_replace_dispatch): Take const_iterators.
1432 * include/ext/vstring.tcc: Likewise.
1433 * include/debug/list: Adjust.
1434 * include/profile/list: Likewise.
1435 * testsuite/23_containers/list/operations/splice/const_iterator.cc:
1437 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1439 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1441 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1443 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1445 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1448 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1449 Adjust dg-error line number.
1450 * testsuite/23_containers/list/requirements/dr438/
1451 constructor_1_neg.cc: Likewise.
1452 * testsuite/23_containers/list/requirements/dr438/
1453 constructor_2_neg.cc: Likewise.
1454 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1457 2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1459 * include/bits/stl_deque.h (deque<>::insert(iterator,
1460 size_type, const value_type&), deque<>::insert(iterator,
1461 initializer_list<>), deque<>::insert(iterator, _InputIterator,
1462 _InputIterator)): Adjust C++11 signatures to take a const_iterator.
1463 * include/bits/stl_vector.h: Likewise.
1464 * include/bits/stl_bvector.h: Likewise.
1465 * include/debug/deque: Adjust.
1466 * include/debug/vector: Likewise.
1467 * include/profile/deque: Likewise.
1468 * include/profile/vector: Likewise.
1469 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1471 * testsuite/23_containers/vector/bool/modifiers/insert/
1472 const_iterator.cc: Likewise.
1473 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1476 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1477 Adjust dg-error line number.
1478 * testsuite/23_containers/deque/requirements/dr438/
1479 constructor_1_neg.cc: Likewise.
1480 * testsuite/23_containers/deque/requirements/dr438/
1481 constructor_2_neg.cc: Likewise.
1482 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1484 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1486 * testsuite/23_containers/vector/requirements/dr438/
1487 constructor_1_neg.cc: Likewise.
1488 * testsuite/23_containers/vector/requirements/dr438/
1489 constructor_2_neg.cc: Likewise.
1490 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1493 2013-06-29 François Dumont <fdumont@gcc.gnu.org>
1495 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
1497 * include/bits/hashtable.h: Likewise.
1498 * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
1499 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
1501 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1502 Adjust dg-error line number.
1503 * testsuite/23_containers/unordered_set/
1504 not_default_constructible_hash_neg.cc: Likewise.
1505 * doc/xml/manual/containers.xml: Document hinting in unordered
1508 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1510 * testsuite/21_strings/basic_string/operations/*: Move inside
1511 testsuite/21_strings/basic_string/operations/data/.
1512 * testsuite/21_strings/basic_string/compare/*: Move inside
1513 testsuite/21_strings/basic_string/operations/.
1514 * testsuite/21_strings/basic_string/find/*: Likewise.
1515 * testsuite/21_strings/basic_string/rfind/*: Likewise.
1516 * testsuite/21_strings/basic_string/substr/*: Likewise.
1518 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1520 * testsuite/21_strings/basic_string/append/*: Move inside
1521 testsuite/21_strings/basic_string/modifiers/.
1522 * testsuite/21_strings/basic_string/assign/*: Likewise.
1523 * testsuite/21_strings/basic_string/insert/*: Likewise.
1524 * testsuite/21_strings/basic_string/replace/*: Likewise.
1525 * testsuite/21_strings/basic_string/modifiers/pop_back/char/
1526 pop_back.cc: Rename to 1.cc.
1527 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
1528 pop_back.cc: Likewise.
1529 * testsuite/ext/vstring/assign/*: Move inside
1530 testsuite/ext/vstring/modifiers/.
1532 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1534 * include/bits/stl_deque.h (deque<>::insert(iterator,
1535 const value_type&), deque<>::insert(iterator, value_type&&),
1536 deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
1537 take a const_iterator.
1538 (deque<>::erase): Simplify.
1539 * include/bits/stl_list.h: Likewise.
1540 (_List_iterator<>::_M_const_cast): Add.
1541 * include/bits/stl_vector.h: Likewise.
1542 * include/bits/stl_bvector.h: Likewise.
1543 (_Bit_iterator::_M_const_cast): Add.
1544 * include/bits/deque.tcc: Adjust definitions.
1545 * include/bits/list.tcc: Likewise.
1546 * include/bits/vector.tcc: Likewise.
1547 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1548 Define trivial version in C++98 mode.
1549 * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
1550 __versa_string<>::replace(iterator, iterator, const __versa_string&),
1551 __versa_string<>::replace(iterator, iterator, const _CharT*,
1552 size_type), __versa_string<>::replace(iterator, iterator,
1553 const _CharT*), __versa_string<>::replace(iterator, iterator,
1554 size_type, _CharT)): Adjust C++11 signatures to take a pair of
1556 * include/debug/deque: Adjust.
1557 * include/debug/list: Likewise.
1558 * include/debug/vector: Likewise.
1559 * include/profile/deque: Likewise.
1560 * include/profile/list: Likewise.
1561 * include/profile/vector: Likewise.
1562 (vector<>::emplace): Add.
1563 * testsuite/util/exception/safety.h: Update.
1564 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
1566 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1568 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
1570 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1572 * testsuite/23_containers/vector/bool/modifiers/insert/
1573 const_iterator.cc: Likewise.
1574 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
1576 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1578 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1580 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1582 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1584 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1587 * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
1588 ext/vstring/modifiers/erase/char/.
1589 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
1590 ext/vstring/modifiers/wchar_t/.
1591 * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
1592 ext/vstring/modifiers/pop_back/char/.
1593 * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
1594 testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
1596 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1597 Adjust dg-error line number.
1598 * testsuite/23_containers/deque/requirements/dr438/
1599 constructor_1_neg.cc: Likewise.
1600 * testsuite/23_containers/deque/requirements/dr438/
1601 constructor_2_neg.cc: Likewise.
1602 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1604 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1606 * testsuite/23_containers/list/requirements/dr438/
1607 constructor_1_neg.cc: Likewise.
1608 * testsuite/23_containers/list/requirements/dr438/
1609 constructor_2_neg.cc: Likewise.
1610 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1612 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1614 * testsuite/23_containers/vector/requirements/dr438/
1615 constructor_1_neg.cc: Likewise.
1616 * testsuite/23_containers/vector/requirements/dr438/
1617 constructor_2_neg.cc: Likewise.
1618 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1621 2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
1623 Status page for C++2014 library features
1624 * doc/xml/faq.xml: Add link to new C++14 status page.
1625 * doc/xml/manual/intro.xml: Ditto.
1626 * doc/xml/manual/status_cxx2014.xml: New.
1628 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
1630 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
1631 spurious fails with check-debug.
1632 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
1634 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
1635 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
1638 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
1641 * include/bits/char_traits.h (char_traits<char>::lt): Implement
1643 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
1645 2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
1648 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
1649 declare per the letter of the C++ standard in terms of void.
1650 * include/c_std/cstdlib: Likewise.
1652 2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
1655 * include/bits/random.h (binomial_distribution<>::_M_waiting):
1656 Add double parameter.
1657 * include/bits/random.tcc (binomial_distribution<>::operator()
1658 (_UniformRandomNumberGenerator&, const param_type&)): Pass
1659 __param._M_q to _M_waiting.
1660 (_M_waiting): Adjust.
1661 * testsuite/26_numerics/random/binomial_distribution/
1662 operators/values.cc: Add tests.
1664 2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
1667 * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
1668 Implement correctly C++11 26.6.2.3/1.
1669 * testsuite/26_numerics/valarray/dr630-3.C: New.
1671 2013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1674 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
1675 functionality to new __timed_mutex_impl mixin. Overload try_lock_until
1676 to handle conversion between different clocks. Replace constrained
1677 __try_lock_for_impl overloads with conditional increment.
1678 * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
1679 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
1681 2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
1682 Chris Jefferson <chris@bubblescope.net>
1684 * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
1685 dispatch to traditional std::equal for random-access iterators.
1686 (__equal2_aux, __equal2): Remove.
1687 (__equal::equal): Remove unused overloads.
1688 * include/bits/stl_algo.h (is_permutation): Fix typos.
1690 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1692 * include/std/shared_mutex (shared_lock::operator=): Add missing
1695 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1698 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
1699 allocator's pointer type.
1700 * include/bits/hashtable.h (_Hashtable): Likewise.
1701 * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
1702 * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
1703 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
1704 * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
1706 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1708 * include/std/shared_mutex: Implement N3659.
1709 * include/bits/c++14_warning.h: New.
1710 * include/Makefile.am: Add new headers.
1711 * include/Makefile.in: Regenerate.
1712 * testsuite/30_threads/shared_lock/cons/1.cc: New.
1713 * testsuite/30_threads/shared_lock/locking/2.cc: New.
1714 * testsuite/30_threads/shared_lock/cons/2.cc: New.
1715 * testsuite/30_threads/shared_lock/locking/3.cc: New.
1716 * testsuite/30_threads/shared_lock/cons/3.cc: New.
1717 * testsuite/30_threads/shared_lock/locking/4.cc: New.
1718 * testsuite/30_threads/shared_lock/cons/4.cc: New.
1719 * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
1720 * testsuite/30_threads/shared_lock/cons/5.cc: New.
1721 * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
1722 * testsuite/30_threads/shared_lock/cons/6.cc: New.
1723 * testsuite/30_threads/shared_lock/requirements/
1724 explicit_instantiation.cc: New.
1725 * testsuite/30_threads/shared_lock/locking/1.cc: New.
1726 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
1727 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
1728 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
1729 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
1730 * testsuite/30_threads/shared_mutex/requirements/
1731 standard_layout.cc: New.
1732 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
1733 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
1735 2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
1738 * include/bits/unordered_map.h (unordered_map<>::insert,
1739 unordered_multimap<>::insert): Use std::forward, not std::move.
1740 * testsuite/23_containers/unordered_map/insert/57619.C: New.
1741 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1743 2013-06-14 Alan Modra <amodra@gmail.com>
1745 * configure.host (abi_baseline_pair): Match powerpc64*.
1747 2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
1749 * include/std/type_traits (is_function): Support ref-qualified
1751 (is_copy_constructible, is_move_constructible, is_copy_assignable,
1752 is_move_assignable, is_nothrow_copy_constructible,
1753 is_nothrow_move_constructible, is_nothrow_copy_assignable,
1754 is_nothrow_move_assignable): Implement LWG 2196.
1755 (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
1757 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
1759 * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
1760 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
1761 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
1762 * testsuite/20_util/is_assignable/value.cc: Likewise.
1763 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1764 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1765 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1766 * testsuite/20_util/is_function/value.cc: Likewise.
1767 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1768 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1769 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1770 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1771 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1772 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1774 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1776 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1778 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1781 2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
1783 * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
1784 __gnu_cxx::__airy_bi()): Remove.
1785 * testsuite/tr1/5_numerical_facilities/special_functions/
1786 10_cyl_bessel_k/airy.cc: Fix.
1788 2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
1791 * include/tr1/modified_bessel_func.tcc (__airy): Remove return
1793 (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
1794 * testsuite/tr1/5_numerical_facilities/special_functions/
1795 10_cyl_bessel_k/airy.cc: New.
1797 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
1799 Fix library literals error involving namespace __detail.
1800 * include/std/chrono: Rename __detail to __select_type. Reformat.
1801 * include/bits/basic_string.h: Reformat.
1802 * testsuite/20_util/duration/literals/ns_detail.cc: New.
1804 2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
1807 * include/c_global/cstddef (max_align_t): Add to namespace std.
1808 * include/c_std/cstddef: Likewise.
1809 * testsuite/18_support/max_align_t/requirements/1.cc: New.
1810 * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
1812 2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
1814 * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
1815 * include/bits/stl_map.h (erase): Use abi_tag when C++11.
1816 * include/bits/stl_multimap.h: Same.
1817 * include/bits/stl_multiset.h: Same.
1818 * include/bits/stl_set.h: Same.
1819 * include/bits/stl_tree.h: Same.
1820 * include/std/complex (real, imag): Use macro for abi_tag.
1822 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
1823 * testsuite/util/testsuite_containers.h (erase_external): New
1825 (erase_external_iterators): Same.
1826 (linkage_check_cxx98_cxx11_erase): Same.
1827 (linkage_check_cxx98_cxx11_erase_iterators): Same.
1828 * testsuite/util/testsuite_shared.cc: Define.
1829 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
1830 * testsuite/23_containers/map/modifiers/erase/
1831 dr130-linkage-check.cc: New.
1832 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
1833 * testsuite/23_containers/multimap/modifiers/erase/
1834 dr130-linkage-check.cc: New.
1835 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
1836 * testsuite/23_containers/multiset/modifiers/erase/
1837 dr130-linkage-check.cc: New.
1838 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
1839 * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
1841 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
1843 * testsuite/23_containers/map/dr130.cc: Move...
1844 * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
1845 * testsuite/23_containers/multimap/dr130.cc: Move ...
1846 * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
1847 * testsuite/23_containers/multiset/dr130.cc: Move...
1848 * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
1849 * testsuite/23_containers/set/dr130.cc: Move...
1850 * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
1852 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
1854 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
1855 handling of Linux-based x86 systems to cover all GNU systems.
1856 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
1857 * testsuite/18_support/pthread_guard.cc: Likewise.
1858 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1860 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1862 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1863 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1864 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
1865 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
1866 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1867 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1868 * testsuite/23_containers/list/pthread1.cc: Likewise.
1869 * testsuite/23_containers/list/pthread5.cc: Likewise.
1870 * testsuite/23_containers/map/pthread6.cc: Likewise.
1871 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1873 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1875 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1876 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1877 * testsuite/30_threads/async/42819.cc: Likewise.
1878 * testsuite/30_threads/async/49668.cc: Likewise.
1879 * testsuite/30_threads/async/54297.cc: Likewise.
1880 * testsuite/30_threads/async/any.cc: Likewise.
1881 * testsuite/30_threads/async/async.cc: Likewise.
1882 * testsuite/30_threads/async/launch.cc: Likewise.
1883 * testsuite/30_threads/async/sync.cc: Likewise.
1884 * testsuite/30_threads/call_once/39909.cc: Likewise.
1885 * testsuite/30_threads/call_once/49668.cc: Likewise.
1886 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1887 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1888 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1889 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1890 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1891 * testsuite/30_threads/condition_variable/members/53841.cc:
1893 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1895 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1896 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1897 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1898 * testsuite/30_threads/condition_variable_any/members/1.cc:
1900 * testsuite/30_threads/condition_variable_any/members/2.cc:
1902 * testsuite/30_threads/future/cons/move.cc: Likewise.
1903 * testsuite/30_threads/future/members/45133.cc: Likewise.
1904 * testsuite/30_threads/future/members/get.cc: Likewise.
1905 * testsuite/30_threads/future/members/get2.cc: Likewise.
1906 * testsuite/30_threads/future/members/share.cc: Likewise.
1907 * testsuite/30_threads/future/members/valid.cc: Likewise.
1908 * testsuite/30_threads/future/members/wait.cc: Likewise.
1909 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1910 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1911 * testsuite/30_threads/lock/1.cc: Likewise.
1912 * testsuite/30_threads/lock/2.cc: Likewise.
1913 * testsuite/30_threads/lock/3.cc: Likewise.
1914 * testsuite/30_threads/lock/4.cc: Likewise.
1915 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1916 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1917 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1918 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1919 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1920 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1921 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1922 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1923 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1924 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1925 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1926 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1927 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1928 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1929 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1930 * testsuite/30_threads/packaged_task/cons/move_assign.cc:
1932 * testsuite/30_threads/packaged_task/members/get_future.cc:
1934 * testsuite/30_threads/packaged_task/members/get_future2.cc:
1936 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1937 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1938 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1939 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1940 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1941 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1942 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1943 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1944 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1945 * testsuite/30_threads/promise/cons/1.cc: Likewise.
1946 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1947 * testsuite/30_threads/promise/cons/move.cc: Likewise.
1948 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1949 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1950 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1951 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1952 * testsuite/30_threads/promise/members/set_exception2.cc:
1954 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1955 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1956 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1957 * testsuite/30_threads/promise/members/swap.cc: Likewise.
1958 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1959 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1961 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1962 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
1964 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1966 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1967 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1968 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1969 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1970 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1972 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1973 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1974 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1976 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1978 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
1980 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
1982 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1984 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1986 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1988 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1990 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1992 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
1994 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1995 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1996 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1997 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1998 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1999 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
2000 * testsuite/30_threads/shared_future/members/wait_for.cc:
2002 * testsuite/30_threads/shared_future/members/wait_until.cc:
2004 * testsuite/30_threads/this_thread/1.cc: Likewise.
2005 * testsuite/30_threads/this_thread/2.cc: Likewise.
2006 * testsuite/30_threads/this_thread/3.cc: Likewise.
2007 * testsuite/30_threads/this_thread/4.cc: Likewise.
2008 * testsuite/30_threads/thread/cons/1.cc: Likewise.
2009 * testsuite/30_threads/thread/cons/2.cc: Likewise.
2010 * testsuite/30_threads/thread/cons/3.cc: Likewise.
2011 * testsuite/30_threads/thread/cons/4.cc: Likewise.
2012 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
2013 * testsuite/30_threads/thread/cons/5.cc: Likewise.
2014 * testsuite/30_threads/thread/cons/6.cc: Likewise.
2015 * testsuite/30_threads/thread/cons/7.cc: Likewise.
2016 * testsuite/30_threads/thread/cons/8.cc: Likewise.
2017 * testsuite/30_threads/thread/cons/9.cc: Likewise.
2018 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2019 * testsuite/30_threads/thread/members/1.cc: Likewise.
2020 * testsuite/30_threads/thread/members/2.cc: Likewise.
2021 * testsuite/30_threads/thread/members/3.cc: Likewise.
2022 * testsuite/30_threads/thread/members/4.cc: Likewise.
2023 * testsuite/30_threads/thread/members/5.cc: Likewise.
2024 * testsuite/30_threads/thread/members/hardware_concurrency.cc:
2026 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
2027 * testsuite/30_threads/thread/native_handle/typesizes.cc:
2029 * testsuite/30_threads/thread/swap/1.cc: Likewise.
2030 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2031 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
2033 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2034 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2035 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
2037 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2038 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2039 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2040 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2041 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2042 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2043 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2044 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2045 * testsuite/30_threads/try_lock/1.cc: Likewise.
2046 * testsuite/30_threads/try_lock/2.cc: Likewise.
2047 * testsuite/30_threads/try_lock/3.cc: Likewise.
2048 * testsuite/30_threads/try_lock/4.cc: Likewise.
2049 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2050 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2051 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2052 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2053 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2054 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2055 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2056 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2057 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2058 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2059 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2060 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2061 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
2062 * testsuite/ext/profile/mh.cc: Likewise.
2063 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2064 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
2065 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
2067 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
2069 * testsuite/util/testsuite_performance.h: Extend current handling
2070 of Linux-based systems to cover all glibc-based systems.
2072 2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
2074 * include/std/mutex (call_once): Remove parentheses to fix error in
2075 c++1y and gnu++1y mode.
2076 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
2077 thread to avoid undefined behaviour.
2079 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
2081 Simplify and clean up library literals.
2082 * include/std/chrono: Simplify namespace and versioning management.
2083 * include/bits/basic_string.h: Ditto.
2084 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
2085 * testsuite/20_util/duration/literals/values.cc: Ditto.
2086 * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
2087 * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
2089 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
2091 Implement N3654 - Quoted Strings Library Proposal
2092 * include/std/iomanip: Add quoted(String, Char delim, Char escape)
2093 manipulators and supporting machinery in c++1y mode.
2094 * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
2095 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
2097 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2099 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
2102 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2104 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
2105 * include/bits/stl_algobase.h (equal, mismatch): Likewise.
2106 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
2107 * testsuite/25_algorithms/equal/2.cc: New.
2108 * testsuite/25_algorithms/equal/check_type2.cc: New.
2109 * testsuite/25_algorithms/is_permutationqual/2.cc: New.
2110 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
2111 * testsuite/25_algorithms/mismatch/2.cc: New.
2112 * testsuite/25_algorithms/mismatch/check_type2.cc: New.
2113 * testsuite/util/testsuite_iterators.h: Fix spelling.
2115 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2117 * include/std/type-traits (integral_constant::operator()): Implement
2119 * testsuite/20_util/integral_constant/call_operator.cc: New.
2120 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2122 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2124 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2127 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
2129 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2131 2013-06-05 Tom Tromey <tromey@redhat.com>
2133 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
2135 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
2138 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
2140 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
2142 * include/std/chrono: Collapse redundant 'inline' from 'inline
2144 * include/std/tuple: Ditto.
2145 * include/bits/move.h: Ditto.
2147 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
2149 Implement N3642 - User-defined Literals for Standard Library Types
2150 * include/bits/parse_numbers.h: New.
2151 * include/std/chrono: Add duration literal operators.
2152 * include/bits/basic_string.h: Add string literal operators.
2153 * include/Makefile.in: Add parse_numbers.h.
2154 * include/Makefile.am: Ditto.
2155 * testsuite/20_util/duration/literals/values.cc: New.
2156 * testsuite/20_util/duration/literals/types.cc: New.
2157 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
2158 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
2159 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
2160 * testsuite/21_strings/basic_string/literals/values.cc: New.
2161 * testsuite/21_strings/basic_string/literals/types.cc: New.
2163 2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2165 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
2166 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
2167 calling non-existent from_time_t.
2169 2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2171 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2174 2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
2176 * include/std/chrono: Wrap clocks in inline namespace _V2.
2177 * src/c++11/chrono.cc: Same.
2178 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
2179 file, with default configure macros selected.
2181 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
2183 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
2185 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2186 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2187 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2189 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2191 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2192 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2194 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2195 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2196 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2197 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2198 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2199 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2201 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2202 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2204 2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2206 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
2207 (CLOCK_MONOTONIC): Define.
2209 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
2211 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
2214 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
2216 2013-05-24 Jakub Jelinek <jakub@redhat.com>
2218 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
2219 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
2220 don't define system_clock::is_steady, system_clock::now() and
2221 steady_clock::is_steady.
2222 (std::chrono::system_clock::now()): If
2223 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
2224 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
2225 (std::chrono::system_clock::now()): Likewise. Add weak attribute
2226 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
2228 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
2229 (compatibility-chrono.lo, compatibility-chrono.o): New goals.
2230 * src/c++11/compatibility-chrono.cc: New file.
2231 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
2232 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
2233 * testsuite/util/testsuite_abi.cc (check_version): Add
2234 GLIBCXX_3.4.20 version and make it the latest.
2235 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
2236 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
2237 @@GLIBCXX_3.4.20 instead.
2238 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2239 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2240 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2242 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2244 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2245 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2247 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2248 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2249 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2250 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2251 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2252 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2254 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2255 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2256 * config.h.in: Regenerated.
2257 * src/Makefile.in: Regenerated.
2258 * configure: Regenerated.
2260 2013-05-23 Matthias Klose <doko@ubuntu.com>
2262 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2263 (ext_headers): Remove ${ext_host_headers}.
2264 (stamp-${host_alias}): Create ${host_builddir}/../ext.
2265 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2266 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2267 * include/Makefile.in: Regenerate.
2268 * include/ext/random: Include ext/opt_random.h.
2270 2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
2272 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
2273 enable features if target OS is known to support them.
2274 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
2275 * configure: Regenerate.
2277 2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
2280 * include/std/functional (__invoke): Do not form function types with
2281 abstract return type.
2282 * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
2284 2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
2286 * include/std/tuple (get): Implement N3670.
2287 * include/std/utility (get): Likewise.
2288 * testsuite/20_util/pair/get.cc: Move to ...
2289 * testsuite/20_util/pair/astuple/get.cc: Here.
2290 * testsuite/20_util/pair/astuple/astuple.cc: New.
2291 * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
2292 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
2293 * testsuite/20_util/pair/astuple/get_by_type.cc: New.
2294 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
2295 * testsuite/20_util/pair/astuple/get_neg.cc: New.
2296 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
2297 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
2298 * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
2300 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
2302 * Revert last commit.
2304 2013-05-19 Matthias Klose <doko@ubuntu.com>
2306 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2307 (ext_headers): Remove ${ext_host_headers}.
2308 (stamp-${host_alias}): Create ${host_builddir}/../ext.
2309 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2310 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2311 * include/Makefile.in: Regenerate.
2313 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2315 * include/std/system_error (error_category::error_category()): LWG
2316 2145: Declare public and constexpr.
2317 * src/c++11/system_error.cc (error_category::error_category()): Move
2319 * src/c++11/compatibility-c++0x.cc: Here.
2321 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2323 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
2325 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2327 * include/bits/unique_ptr.h (make_unique): Declare inline.
2328 (unique_ptr<T[],D>::reset()): Combine two overloads into one.
2329 (default_delete, unique_ptr): Add doxygen comments.
2330 * include/bits/shared_ptr_base.h: Improve doxygen comments.
2331 * include/bits/shared_ptr.h: Likewise.
2332 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
2334 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2336 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2338 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2340 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2342 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2344 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2346 * include/std/utility (exchange): Define.
2347 * testsuite/20_util/exchange/1.cc: New.
2349 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2351 * include/bits/unique_ptr.h (make_unique): Define.
2352 * testsuite/20_util/unique_ptr/creation/single.cc: New.
2353 * testsuite/20_util/unique_ptr/creation/array.cc: New.
2354 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
2356 2013-05-15 François Dumont <fdumont@gcc.gnu.org>
2358 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
2359 rendering of std::tr1 unordered containers iterator.
2360 (StdHashtableIterator): New, render std unordered containers iterator.
2361 * testsuite/libstdc++-prettyprinters/tr1.cc: New.
2363 2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2365 * include/bits/basic_string.h (getline): Fix doxygen comments.
2367 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
2369 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2370 Use std::pointer_traits.
2372 2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
2374 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
2376 * libsupc++/Makefile.in: Regenerate.
2377 * libsupc++/bad_array_length.cc: Tweak.
2378 * libsupc++/bad_array_new.cc: Tweak.
2380 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2383 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
2384 (_Deque_iterator<>::_M_const_cast): Add.
2385 (deque<>::_M_erase): Declare.
2386 * include/bits/deque.tcc: ... and define.
2387 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
2388 (_List_const_iterator<>::_M_const_cast): Add.
2389 * include/bits/list.tcc (erase (iterator)): Fix.
2390 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2391 Add; include <ext/cast.h>.
2392 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
2393 (vector<>::_M_erase): Declare.
2394 * include/bits/stl_bvector.h: Likewise.
2395 * include/bits/vector.tcc (vector<>::_M_erase): Define.
2396 * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
2397 * include/debug/deque: Adjust.
2398 * include/debug/list: Likewise.
2399 * include/debug/vector: Likewise.
2400 * include/profile/deque: Likewise.
2401 * include/profile/list: Likewise.
2402 * include/profile/vector: Likewise.
2403 * testsuite/util/exception/safety.h (erase_base<deque>,
2404 erase_base<deque>, erase_base<vector>): Remove.
2405 (erase_base<__versa_string>): Update.
2406 * testsuite/ext/vstring/modifiers/char/54577.cc: New.
2407 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
2408 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
2409 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
2410 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
2412 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
2413 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2414 Adjust dg-error line numbers.
2415 * testsuite/23_containers/deque/requirements/dr438/
2416 constructor_1_neg.cc: Likewise.
2417 * testsuite/23_containers/deque/requirements/dr438/
2418 constructor_2_neg.cc: Likewise.
2419 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2421 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2423 * testsuite/23_containers/list/requirements/dr438/
2424 constructor_1_neg.cc: Likewise.
2425 * testsuite/23_containers/list/requirements/dr438/
2426 constructor_2_neg.cc: Likewise.
2427 * testsuite/23_containers/list/requirements/dr438/
2428 insert_neg.cc: Likewise.
2429 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2431 * testsuite/23_containers/vector/requirements/dr438/
2432 constructor_1_neg.cc: Likewise.
2433 * testsuite/23_containers/vector/requirements/dr438/
2434 constructor_2_neg.cc: Likewise.
2435 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2438 2013-05-09 Uros Bizjak <ubizjak@gmail.com>
2440 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
2442 2013-05-08 Jason Merrill <jason@redhat.com>
2444 Add std::bad_array_length (N3639)
2445 * libsupc++/new: Add std::bad_array_length.
2446 * libsupc++/bad_array_length.cc: New.
2447 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
2448 * libsupc++/Makefile.in: Build them.
2449 * config/abi/pre/gnu.ver: Add new symbols.
2450 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2452 2013-05-08 Andi Kleen <ak@linux.intel.com>
2455 * libstdc++-v3/include/bits/atomic_base.h
2456 (_GLIBCXX_ALWAYS_INLINE): Add new macro.
2457 (atomic_thread_fence, atomic_signal_fence, test_and_set,
2458 clear, store, load, exchange, compare_exchange_weak)
2459 compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
2460 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
2462 2013-05-08 Jason Merrill <jason@redhat.com>
2464 Add std::bad_array_new_length (N2932)
2465 * libsupc++/new: Add std::bad_array_new_length.
2466 * libsupc++/bad_array_new.cc: New.
2467 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
2468 * libsupc++/Makefile.in: Build them.
2469 * config/abi/pre/gnu.ver: Add new symbols.
2470 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2472 2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
2475 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
2477 * include/Makefile.in: Regenerated.
2479 2013-05-07 François Dumont <fdumont@gcc.gnu.org>
2481 * include/profile/unordered_base.h: New.
2482 * include/Makefile.am: Add new profile header.
2483 * include/Makefile.in: Regenerate.
2484 * include/profile/impl/profiler.h
2485 (__profcxx_inefficient_hash_is_on): New macro.
2486 * include/profile/unordered_map (std::profile::unordered_map<>):
2487 Use new _Unordered_profile base class. Use default implementations
2488 for special functions.
2489 (std::profile::unordered_multimap<>): Likewise.
2490 * include/profile/unordered_set (std::profile::unordered_set<>):
2492 (std::profile::unordered_multiset<>): Likewise.
2493 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
2494 MoveOnly equality operator signature.
2496 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2498 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
2499 constexpr_data.cc: Move...
2500 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
2502 * testsuite/20_util/integral_constant/requirements/
2503 explicit_instantiation.cc: New.
2504 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
2506 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
2507 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
2509 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
2510 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
2512 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2514 * include/std/type_traits (is_null_pointer): Add.
2515 (__is_nullptr_t): Implement in terms of the latter.
2516 (is_fundamental, is_scalar): Adjust.
2517 * testsuite/20_util/is_null_pointer/requirements/
2518 explicit_instantiation.cc: New.
2519 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
2521 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
2522 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2524 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2526 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2529 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2531 * include/c_global/cstdio: Add comment about LWG 2249.
2532 * include/c_std/cstdio: Likewise.
2534 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2536 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
2538 * include/std/mutex (__recursive_mutex_base): Likewise.
2540 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2543 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
2544 implement EBO safely.
2545 (_Sp_counted_base::_M_get_deleter): Add noexcept.
2546 (_Sp_counter_ptr): Use noexcept instead of comments.
2547 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
2548 (_Sp_counted_ptr_inplace): Likewise.
2549 * testsuite/20_util/shared_ptr/cons/51365.cc: New.
2550 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
2551 custom allocator and test construction with custom allocator.
2552 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2555 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
2557 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
2558 dialect to -std=gnu++11.
2560 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
2562 * include/bits/hashtable_policy.h
2563 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
2564 * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
2566 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
2568 * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
2569 * include/c_std/cstdio (gets): Likewise.
2570 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
2572 2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2575 * include/debug/unordered_map (unordered_map, unordered_multimap):
2576 Fix default allocator type.
2577 * include/profile/unordered_map (unordered_map, unordered_multimap):
2579 * include/bits/unordered_map.h: Fix comments.
2581 2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
2584 * libsupc++/exception_ptr.h (copy_exception): Deprecate and
2585 move implementation to make_exception_ptr.
2586 * include/std/future (_State_base::_M_break_promise): Replace
2587 copy_exception with make_exception_ptr.
2588 * testsuite/18_support/exception_ptr/move.cc: Likewise.
2589 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2590 * testsuite/30_threads/future/members/get2.cc: Likewise.
2591 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2592 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2593 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2594 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2596 2013-04-22 Jason Merrill <jason@redhat.com>
2598 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
2600 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
2601 substitution" lines.
2603 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
2605 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2606 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
2607 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
2609 2013-04-22 François Dumont <fdumont@gcc.gnu.org>
2611 * include/bits/hashtable_policy.h: Add C++11 allocator support.
2612 * include/bits/hashtable.h: Likewise.
2613 * include/bits/unordered_set.h: Likewise.
2614 * include/bits/unordered_map.h: Likewise.
2615 * include/debug/unordered_set: Likewise.
2616 * include/debug/unordered_map: Likewise.
2617 * include/std/unordered_set: Remove bits/algobase.h
2618 include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
2619 * include/std/unordered_map: Likewise.
2620 * include/ext/throw_allocator.h: Add checks on calls to allocator
2622 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
2623 (std::hash<__gnu_cxx::throw_value_random>): Likewise.
2624 * testsuite/util/regression/rand/priority_queue
2625 /container_rand_regression_test.tcc: Adapt.
2626 * testsuite/util/regression/rand/assoc
2627 /container_rand_regression_test.tcc: Likewise.
2628 * testsuite/util/testsuite_counter_type.h: Add count of destructors.
2629 * testsuite/23_containers/unordered_set
2630 /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
2631 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
2632 * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
2633 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
2634 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
2635 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
2636 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
2637 * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
2638 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
2639 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
2641 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
2642 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
2644 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
2645 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
2646 * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
2647 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
2648 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
2649 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
2650 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2652 * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
2653 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
2654 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
2656 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
2657 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
2659 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
2660 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
2662 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2664 * include/std/type_traits (is_signed): Simplify.
2665 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2666 Adjust dg-error line numbers.
2667 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2669 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2671 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2674 * include/std/complex (complex<float>::real, complex<float>::imag,
2675 complex<double>::real, complex<double>::imag,
2676 complex<long double>::real, complex<long double>::imag): Declare
2677 as const member functions.
2678 * include/std/type_traits (integral_constant<>::operator value_type):
2681 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2684 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
2685 * testsuite/25_algorithms/pop_heap/57010.cc: New.
2687 2013-04-21 Evgeniy Stepanov <eugenis@google.com>
2689 * src/c++11/system_error.cc (generic_category_instance): Add
2691 (system_category_instance): Likewise.
2692 * src/c++11/future.cc (__fec): Likewise.
2694 2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2696 * doc/xml/manual/extensions.xml: Fix anachronism.
2698 2013-04-09 Tom Tromey <tromey@redhat.com>
2700 * configure, config.h.in: Rebuild.
2701 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
2703 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
2705 2013-04-09 Uros Bizjak <ubizjak@gmail.com>
2707 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2709 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
2711 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
2713 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2715 * include/Makefile.am: Add ext/aligned_buffer.h
2716 * include/Makefile.in: Regenerate.
2717 * include/ext/aligned_buffer.h: New.
2718 * include/std/future (_Result): Use __aligned_buffer.
2719 * include/bits/forward_list.h (_Fwd_list_node): Likewise.
2720 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
2721 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
2724 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2726 * include/bits/forward_list.h: Only include required headers.
2727 (forward_list::reference): Define directly, not using __alloc_traits.
2728 (forward_list::const_reference): Likewise.
2730 2013-04-07 François Dumont <fdumont@gcc.gnu.org>
2732 * include/std/functional (_Derives_from_unary_function): Remove.
2733 (_Derives_from_binary_function): Remove.
2734 * include/std/type_traits (__sfinae_types): Remove.
2735 (__is_assignable_helper): Adapt.
2736 (__is_convertible_helper): Adapt.
2737 (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
2738 Remove several explicit instantiations of integral_constant.
2739 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
2740 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2741 Adapt dg-error line number.
2742 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2744 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2745 * testsuite/20_util/bind/ref_neg.cc: Likewise.
2747 2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
2750 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
2751 get_terminate() accessors.
2752 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2753 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
2755 * libsupc++/new_handler.cc: Likewise.
2757 2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2759 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
2761 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2764 * include/debug/array (tuple_size, tuple_element): Do not declare.
2765 * include/profile/array: Likewise.
2766 * testsuite/23_containers/array/tuple_interface/
2767 tuple_element_debug_neg.cc: Adjust dg-error line number.
2769 2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
2771 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
2772 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
2774 (set_terminate(terminate_handler)): Set atomically.
2775 (set_unexpected(terminate_handler)): Likewise.
2776 * libsupc++/new (get_new_handler()): Declare.
2777 * libsupc++/new_handler.cc (get_new_handler()): Define.
2778 (set_new_handler(new_handler)): Set atomically.
2779 (__new_handler): Use internal linkage.
2780 * libsupc++/new_op.cc (operator new): Use get_new_handler().
2781 * libsupc++/new_opnt.cc (operator new): Likewise.
2782 * acinclude.m4: Bump libtool_VERSION to 6:19:0.
2783 * configure: Regenerate.
2784 * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
2785 * libsupc++/Makefile.in: Regenerate.
2786 * config/abi/pre/gnu.ver: Add new exports.
2787 * doc/xml/manual/status_cxx2011.xml: Update.
2788 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
2790 * testsuite/18_support/headers/new/synopsis.cc: Likewise.
2791 * testsuite/18_support/new_handler.cc: New.
2792 * testsuite/18_support/terminate_handler.cc: New.
2793 * testsuite/18_support/unexpected_handler.cc: New.
2795 2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2797 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
2798 defer to general documentation on contributing to GCC.
2799 * doc/html/*: Regenerate.
2801 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
2803 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
2805 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
2808 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
2810 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
2812 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
2814 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
2816 * doc/xml/manual/policy_data_structures: Remove direct link to
2817 IBM Haifa Research Labs.
2819 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
2820 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
2822 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
2825 * doc/xml/manual/shared_ptr.xml: Use canonical address for
2828 2013-03-27 Kai Tietz <ktietz@redhat.com>
2830 * crossconfig.m4: Add support for cygwin x64 target.
2831 * configure: Regenerated.
2833 2013-03-25 Kai Tietz <ktietz@redhat.com>
2835 * testsuite/18_support/50594.cc: For mingw-targets use only static
2837 * testsuite/19_diagnostics/error_category/operators/equal.cc
2838 * testsuite/19_diagnostics/error_code/cons/1.cc
2839 * testsuite/19_diagnostics/error_code/operators/bool.cc
2840 * testsuite/19_diagnostics/error_code/operators/equal.cc
2841 * testsuite/19_diagnostics/error_code/operators/not_equal.cc
2842 * testsuite/19_diagnostics/error_condition/cons/1.cc
2843 * testsuite/19_diagnostics/error_condition/operators/bool.cc
2844 * testsuite/19_diagnostics/error_condition/operators/equal.cc
2845 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
2846 * testsuite/23_containers/set/requirements/exception/basic.cc
2847 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
2848 * testsuite/lib/dg-options.exp (dg-additional-options): New option.
2850 2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
2853 * include/ext/debug_allocator.h (debug_allocator): Add missing members
2854 to meet allocator requirements.
2855 * testsuite/ext/debug_allocator/56170.cc: New.
2857 2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
2860 * include/std/chrono (__is_ratio): Uglify T.
2862 2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
2864 PR libstdc++/55977 (partial, std::vector and std::deque bits)
2865 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
2866 _InputIterator, std::input_iterator_tag)): Use emplace_back.
2867 * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
2868 _InputIterator, std::input_iterator_tag)): Likewise.
2869 * testsuite/23_containers/vector/cons/55977.cc: New.
2870 * testsuite/23_containers/deque/cons/55977.cc: Likewise.
2871 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2872 Adjust dg-error line number.
2873 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2876 2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
2879 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
2880 _InputIterator, __false_type)): Use emplace_back.
2881 * testsuite/23_containers/list/cons/55979.cc: New.
2882 * testsuite/23_containers/list/modifiers/1.h: Adjust.
2883 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2884 Adjust dg-error line number.
2886 2013-03-16 Jason Merrill <jason@redhat.com>
2889 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
2891 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2894 * libsupc++/exception_ptr.h (type_info): Declare.
2896 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2899 * include/std/mutex (lock_guard, unique_lock, lock): Define without
2900 depending on _GLIBCXX_HAS_GTHREADS.
2901 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
2903 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2906 * include/std/future (__future_base::_Result): Add result_type
2908 (__future_base::_S_allocate_result): Overload for std::allocator.
2909 (__future_base::_Task_setter): Use _Result::result_type instead of
2910 deducing the type from the task.
2911 (__future_base::_Task_state): Store allocator to allow shared state
2912 to be reset. Replace std::function with member of target object type
2914 (__future_base::_Task_state_base): New abstract base class.
2915 (__future_base::_Task_state_base::_M_run): New virtual function to
2916 invoke type-erased target object.
2917 (__future_base::_Task_state_base::_M_reset): New virtual function to
2918 create new shared_state using same target object and allocator.
2919 (__future_base::__create_task_state): Allocate a new _Task_state.
2920 (packaged_task::packaged_task): Use __create_task_state.
2921 (packaged_task::reset): Use _Task_state_base::_M_reset.
2922 * testsuite/30_threads/packaged_task/cons/56492.cc: New.
2924 2013-03-15 Tom Tromey <tromey@redhat.com>
2926 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
2927 (PROBE2): New macro.
2928 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
2929 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
2930 * configure.ac: Check for sys/sdt.h.
2931 * configure, config.h.in: Rebuild.
2933 2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
2936 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
2937 allocator_traits instead of calling construct directly.
2938 * testsuite/23_containers/map/56613.cc: New.
2940 2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
2942 * doc/html/*: Regenerate.
2944 2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
2947 * include/std/type_traits (is_fundamental): Add std::nullptr_t.
2948 * testsuite/20_util/is_fundamental/value.cc: Extend.
2949 * testsuite/20_util/is_compound/value.cc: Likewise.
2951 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
2953 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
2956 2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
2958 * include/bits/memoryfwd.h: New. Centralize forward declarations.
2959 * include/bits/algorithmfwd.h: Consistent comments.
2960 * include/bits/localefwd.h: Same.
2961 * include/ext/vstring_fwd.h: Same.
2962 * include/parallel/algorithmfwd.h: Same.
2963 * include/parallel/numericfwd.h: Same.
2964 * include/std/iosfwd: Same.
2966 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
2968 * include/ext/alloc_traits.h: Remove allocator forward decl.
2969 * include/bits/stl_construct.h: Same.
2970 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
2971 forward decl. Consistent comments.
2973 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
2975 * include/Makefile.am (bits_headers): Add memoryfwd.h.
2976 * include/Makefile.in: Regenerate.
2979 2013-03-08 François Dumont <fdumont@gcc.gnu.org>
2981 * include/bits/vector.tcc (vector<>operator=(const vector<>&):
2982 Reset pointers after deallocation when memory can be reused.
2983 * testsuite/23_containers/vector/allocator/minimal.cc: Insert
2984 elements to really challenge C++11 allocator integration.
2985 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
2986 * testsuite/23_containers/vector/allocator/copy_assign.cc:
2988 * testsuite/23_containers/vector/allocator/move_assign.cc:
2990 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
2991 swap vector back before checks on memory/personality mapping are
2993 * testsuite/23_containers/forward_list/allocator/minimal.cc:
2994 Insert element to really challenge C++11 allocator integration.
2995 * testsuite/23_containers/forward_list/allocator/copy.cc:
2997 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
2999 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
3001 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
3002 and swap forward_list back before checks on memory/personality
3003 mapping are performed.
3005 2013-03-07 Jakub Jelinek <jakub@redhat.com>
3007 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3008 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3009 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3011 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3012 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3013 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3014 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3015 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3016 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3018 2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3020 * scripts/extract_symvers.pl: Omit symbols bound to base
3022 * scripts/extract_symvers.in: Likewise.
3023 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
3024 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
3025 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3026 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3027 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3029 2013-03-04 Ulrich Drepper <drepper@gmail.com>
3031 * include/ext/random (__gnu_cxx::von_mises_distribution<>):
3032 Optimize generation function by pulling computation of __r into the
3033 constructor for param_type. Also compare _M_mu in operator==.
3036 2013-03-02 Ulrich Drepper <drepper@gmail.com>
3038 Add triangular and von Mises distributions.
3039 * include/ext/random: Include <ext/cmath>.
3040 Add __gnu_cxx::triangular_distribution<> and
3041 __gnu_cxx::von_mises_distribution<> classes.
3042 * include/ext/random.tcc: Add out-of-line functions for
3043 __gnu_cxx::triangular_distribution<> and
3044 __gnu_cxx::von_mises_distribution<>.
3045 * testsuite/ext/triangular_distribution/cons/default.cc: New file.
3046 * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
3047 * testsuite/ext/triangular_distribution/operators/serialize.cc:
3049 * testsuite/ext/triangular_distribution/operators/equal.cc:
3051 * testsuite/ext/triangular_distribution/operators/inequal.cc:
3053 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
3055 * testsuite/ext/triangular_distribution/requirements/
3056 explicit_instantiation/1.cc: New file.
3057 * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
3058 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
3059 * testsuite/ext/von_mises_distribution/operators/serialize.cc:
3061 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
3062 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
3064 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
3066 * testsuite/ext/von_mises_distribution/requirements/
3067 explicit_instantiation/1.cc: New file.
3070 * include/Makefile.am (ext_headers): Add cmath.
3071 * include/Makefile.in: Regenerated.
3072 * include/ext/cmath: New file.
3074 2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3076 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
3077 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
3078 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3079 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3080 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3082 2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
3085 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
3086 * testsuite/29_atomics/atomic/operators/56012.cc: New.
3089 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
3091 * testsuite/29_atomics/atomic/operators/56011.cc: New.
3093 2013-02-25 Jason Merrill <jason@redhat.com>
3095 * configure.ac: Check for __cxa_thread_atexit_impl.
3096 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
3098 * config.h.in, configure: Regenerate.
3100 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
3102 * include/std/streambuf (basic_streambuf): Use injected class name
3103 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
3106 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
3108 * doc/html/faq.html: Fix spelling.
3109 * doc/xml/faq.xml: Likewise.
3110 * include/bits/basic_ios.h: Likewise.
3111 * include/bits/regex.h: Likewise.
3112 * include/std/istream: Likewise.
3113 * include/std/streambuf: Likewise.
3115 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
3117 * testsuite/23_containers/unordered_set/55043.cc: Add missing
3118 namespace qualification.
3119 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3121 2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
3123 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
3124 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
3125 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
3126 * include/bits/stl_pair.h: Add to utilities group.
3127 * include/std/tuple: Same.
3128 * include/std/typeindex: Same.
3130 * include/bits/stringfwd.h: Fix markup.
3131 * include/std/limits: Same.
3132 * include/std/type_traits: Same.
3133 * include/tr1/memory: Same.
3134 * include/tr1/regex: Same.
3135 * scripts/run_doxygen: Comment.
3136 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
3138 2013-02-14 Jason Merrill <jason@redhat.com>
3140 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
3141 test if unsupported.
3143 2013-02-13 Marc Glisse <marc.glisse@inria.fr>
3146 * include/std/complex (complex): Undefine.
3147 * include/c_compatibility/complex.h (complex): Only undefine if
3148 <complex> has been included.
3149 * testsuite/26_numerics/complex/56111.cc: New testcase.
3151 2013-02-13 François Dumont <fdumont@gcc.gnu.org>
3153 * include/bits/hashtable_policy.h (_Hash_code_base): Restore
3154 default constructor protected.
3155 * include/bits/hashtable.h: static assert that _Hash_code_base has
3156 a default constructor available through inheritance.
3158 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
3160 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
3163 2013-02-12 Julian Brown <julian@codesourcery.com>
3165 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
3166 Don't expect dots after abbreviated weekday names for ru_RU for
3167 glibc versions >= 2.17.
3168 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
3171 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
3173 * include/bits/random.tcc (__transform): Remove.
3175 (discrete_distribution<>::param_type::_M_initialize): Adjust.
3176 (piecewise_constant_distribution<>::param_type::_M_initialize):
3178 (piecewise_linear_distribution<>::param_type::_M_initialize):
3181 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
3183 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
3184 Use -fimplicit-templates.
3185 * src/c++11/Makefile.in: Regenerate.
3186 * src/c++11/hashtable_c++0x.cc: Remove instantiation for
3187 std::lower_bound template.
3189 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
3191 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
3192 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
3193 in C++11 mode and if available in the underlying C library.
3194 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
3195 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
3196 _GLIBCXX_HAVE_QUICK_EXIT.
3198 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
3200 * doc/html/*: Regenerate.
3202 2013-02-11 Jason Merrill <jason@redhat.com>
3204 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
3205 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
3206 * config.h.in, configure: Regenerate.
3207 * include/c_std/cstdlib: Add atexit and at_quick_exit.
3208 * include/c_global/cstdlib: Add atexit and at_quick_exit.
3209 * testsuite/18_support/quick_exit/quick_exit.cc: New.
3211 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
3215 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3218 * include/bits/basic_ios.h: Replace operator void*() const
3219 with explicit operator bool() const in C++11 and greater.
3220 * testsuite/27_io/basic_ios/pr56193.cc: New file.
3222 2013-02-10 François Dumont <fdumont@gcc.gnu.org>
3223 Jonathan Wakely <jwakely.gcc@gmail.com>
3225 * doc/xml/manual/containers.xml: Add section on unordered containers.
3226 * doc/xml/manual/using.xml: Fix incomplete sentence.
3228 2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
3231 * include/bits/hashtable.h (__cache_default): Check if hash function
3233 * testsuite/23_containers/unordered_set/56267.cc: New.
3234 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
3235 dg-error line number.
3236 * testsuite/23_containers/unordered_set/
3237 not_default_constructible_hash_neg.cc: Likewise.
3240 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
3242 * testsuite/23_containers/unordered_set/56278.cc: New.
3244 2013-02-09 François Dumont <fdumont@gcc.gnu.org>
3246 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
3249 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
3252 * include/tr1/special_function_util.h: Remove spurious const
3253 from numeric arguments.
3254 * include/tr1/riemann_zeta.tcc: Likewise.
3255 * include/tr1/exp_integral.tcc: Likewise.
3256 * include/tr1/bessel_function.tcc: Likewise.
3257 * include/tr1/hypergeometric.tcc: Likewise.
3258 * include/tr1/modified_bessel_func.tcc: Likewise.
3259 * include/tr1/poly_laguerre.tcc: Likewise.
3260 * include/tr1/gamma.tcc: Likewise.
3261 * include/tr1/legendre_function.tcc: Likewise.
3262 * include/tr1/poly_hermite.tcc: Likewise.
3263 * include/tr1/ell_integral.tcc: Likewise.
3264 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
3265 If argument is zero return function value.
3266 * testsuite/tr1/5_numerical_facilities/special_functions/
3267 08_cyl_bessel_i/pr56216.cc: New.
3269 2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
3271 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
3273 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3276 * include/bits/basic_ios.h: Replace operator void*() const
3277 with explicit operator bool() const in C++11 and greater.
3278 * testsuite/27_io/basic_ios/pr56193.cc: New file.
3280 2013-02-04 Dodji Seketeli <dodji@redhat.com>
3282 Add missing explicit instantiation for std::lower_bound template
3283 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
3284 missing instantiation for std::lower_bound template.
3286 2013-02-04 François Dumont <fdumont@gcc.gnu.org>
3288 * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
3289 * include/bits/basic_string.h: Specialize previous to mark
3290 std::hash for string types as slow.
3291 * include/bits/hashtable.h (__cache_default): Replace is_integral
3292 with __is_fast_hash.
3293 * src/c++11/hash_c++0x.cc: Add type_traits include.
3294 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3295 Adapt dg-error line number.
3296 * testsuite/23_containers/unordered_set/
3297 not_default_constructible_hash_neg.cc: Likewise.
3299 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3300 Paolo Carlini <paolo.carlini@oracle.com>
3302 PR libstdc++/56202 (again)
3303 * include/bits/random.tcc (binomial_distribution<>::
3304 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
3307 * include/bits/random.h: Fix comment typo.
3309 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3310 Paolo Carlini <paolo.carlini@oracle.com>
3313 * include/bits/random.tcc (binomial_distribution<>::
3314 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
3317 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3319 Update copyright years.
3320 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
3321 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
3322 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
3323 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
3324 testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
3325 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
3326 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
3327 testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
3328 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
3329 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
3330 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
3331 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
3332 testsuite/29_atomics/atomic/cons/assign_neg.cc,
3333 testsuite/29_atomics/atomic/cons/copy_neg.cc,
3334 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
3335 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
3336 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
3337 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
3338 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
3339 Update lines in dg error matches.
3341 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3343 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
3345 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
3347 * include/bits/hashtable_policy.h
3348 (_Prime_rehash_policy::_M_next_bkt)
3349 (_Prime_rehash_policy::_M_need_rehash): Move definition...
3350 * src/c++11/hashtable_c++0x.cc: ... here.
3351 * src/shared/hashtable-aux.cc: Remove c++config.h include.
3352 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
3355 2013-01-29 Jason Merrill <jason@redhat.com>
3358 * config/abi/pre/gnu.ver: Don't export construction vtables.
3359 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
3361 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
3364 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
3365 to construct value_type explicitly before trying to extract the key.
3366 * testsuite/23_containers/unordered_map/cons/56112.cc: New.
3368 2013-01-28 François Dumont <fdumont@gcc.gnu.org>
3370 * include/bits/hashtable_policy.h (_Local_iterator_base): Use
3371 _Hashtable_ebo_helper to embed functors into the local_iterator
3372 when necessary. Pass information about functors involved in hash
3374 * include/bits/hashtable.h (__cache_default): Do not cache for
3375 builtin integral types unless the hash functor is not noexcept
3376 qualified or is not default constructible. Adapt static assertions
3377 and local iterator instantiations.
3378 * include/debug/unordered_set
3379 (std::__debug::unordered_set<>::erase): Detect local iterators to
3380 invalidate using contained node rather than generating a dummy
3381 local_iterator instance.
3382 (std::__debug::unordered_multiset<>::erase): Likewise.
3383 * include/debug/unordered_map
3384 (std::__debug::unordered_map<>::erase): Likewise.
3385 (std::__debug::unordered_multimap<>::erase): Likewise.
3386 * testsuite/performance/23_containers/insert_erase/41975.cc: Test
3387 std::tr1 and std versions of unordered_set regardless of any
3388 macro. Add test on default cache behavior.
3389 * testsuite/performance/23_containers/insert/54075.cc: Likewise.
3390 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3392 * testsuite/23_containers/unordered_set/
3393 not_default_constructible_hash_neg.cc: New.
3394 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
3396 2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
3399 * include/std/complex (pow(const complex<>&, int)): Avoid __n
3402 2013-01-22 Jakub Jelinek <jakub@redhat.com>
3404 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3405 Tightten scan-assembler-times regexps, add dg-additional-options for
3406 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
3409 2013-01-12 Andi Kleen <ak@linux.intel.com>
3410 Jonathan Wakely <jwakely.gcc@gmail.com>
3413 * include/bits/atomic_base.h (__memory_order_modifier): Add
3414 __memory_order_mask, __memory_order_modifier_mask,
3415 __memory_order_hle_acquire, __memory_order_hle_release.
3416 (operator|,operator&): Add.
3417 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
3418 (__cmpexch_failure_order): Add.
3419 (clear, store, load, compare_exchange_weak, compare_exchange_strong):
3421 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3424 2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
3427 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
3429 (__basic_future::_M_get_result()): Const qualify.
3430 (shared_future::get()): Likewise.
3431 * testsuite/30_threads/shared_future/members/get.cc: Use const
3434 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3436 PR libstdc++/55043 (again)
3437 * include/bits/alloc_traits.h (allocator_traits::construct): Disable
3438 unless construction would be well-formed.
3439 (__allow_copy_cons, __check_copy_constructible): Define.
3440 * include/bits/unordered_map.h (__check_copy_constructible): Use as
3441 base class so copy constructor will be deleted if appropriate.
3442 (is_copy_constructible): Remove specialization.
3443 * include/bits/unordered_set.h: Likewise.
3444 * include/debug/unordered_map.h: Undo previous commit. Default copy
3445 and move constructors.
3446 * include/debug/unordered_set.h: Likewise.
3447 * include/profile/unordered_map.h: Undo previous commit.
3448 * include/profile/unordered_set.h: Likewise.
3449 * testsuite/23_containers/unordered_map/55043.cc: Fix test.
3450 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
3451 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3452 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
3453 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
3454 cannot support incomplete types.
3455 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3458 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3461 * include/std/unordered_map: Include alloc_traits.h
3462 * include/std/unordered_set: Likewise.
3463 * include/bits/alloc_traits.h: Define __is_copy_insertable.
3464 * include/bits/unordered_map.h: Use it.
3465 * include/bits/unordered_set.h: Likewise.
3466 * include/debug/unordered_map.h: Likewise.
3467 * include/debug/unordered_set.h: Likewise.
3468 * include/profile/unordered_map.h: Likewise.
3469 * include/profile/unordered_set.h: Likewise.
3470 * include/bits/hashtable.h: Fix comment typos.
3471 * testsuite/23_containers/unordered_map/55043.cc: New.
3472 * testsuite/23_containers/unordered_multimap/55043.cc: New.
3473 * testsuite/23_containers/unordered_multiset/55043.cc: New.
3474 * testsuite/23_containers/unordered_set/55043.cc: New.
3476 2013-01-03 Janis Johnson <janisjo@codesourcery.com>
3478 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
3481 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3483 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
3485 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3488 * include/std/functional (_Mem_fn::operator()): Fix constraints to
3490 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
3491 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
3493 2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3496 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
3498 * configure: Regenerate.
3500 2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
3503 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
3504 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
3508 * include/std/functional (bad_function_call::what()): Declare.
3509 * src/c++11/functional.cc (bad_function_call::what()): Define.
3510 * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
3511 * testsuite/20_util/bad_function_call/what.cc: New.
3513 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3515 * include/bits/unordered_map.h: Fix typo in comments.
3516 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
3517 counts for unordered associative containers.
3519 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3521 * doc/xml/manual/abi.xml: Update library and symbol versions.
3523 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3525 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
3527 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3530 Copyright (C) 2013 Free Software Foundation, Inc.
3532 Copying and distribution of this file, with or without modification,
3533 are permitted in any medium without royalty provided the copyright
3534 notice and this notice are preserved.