1 2013-09-28 François Dumont <fdumont@gcc.gnu.org>
3 * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
5 (rotate_copy, stable_partition, partial_sort_copy): Likewise.
6 (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
7 (includes, next_permutation, prev_permutation): Likewise.
8 (replace_copy, replace_copy_if, is_sorted_until): Likewise.
9 (minmax_element, is_permutation, adjacent_find): Likewise.
10 (count, count_if, search, search_n, merge): Likewise.
11 (set_intersection, set_difference): Likewise.
12 (set_symmetric_difference, min_element, max_element): Likewise.
13 * include/bits/stl_algobase.h (lower_bound): Likewise.
14 (lexicographical_compare, mismatch): Likewise.
16 2013-09-28 Tim Shen <timshen91@gmail.com>
18 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
19 Let ordinary char escaping in POSIX be valid.
20 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
23 2013-09-27 François Dumont <fdumont@gcc.gnu.org>
25 * include/bits/predefined_ops.h: New.
26 * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
27 (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
31 (make_heap): Adapt to use latter.
33 (sort_heap): Adapt to use latter.
34 * include/bits/algobase.h: Include <bits/predefined_ops.h>.
35 (__lexicographical_compare_impl): New.
36 (__lexicographical_compare<false>::__lc): Adapt to use latter.
37 (lexicographical_compare): Likewise.
39 (lower_bound): Adapt to use latter.
40 (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
42 (mismatch): Use latter.
43 * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
45 (__move_median_first, __find, __find_if, __find_if_not): Remove
47 (__find_end): Likewise.
48 (__search_n): Rename into ...
49 (__search_n_aux): ... this.
50 (__search_n): Renew, use latter.
51 (search_n): Use latter.
54 (__find_end): Likewise.
55 (__remove_copy_if): New.
56 (remove_copy): Use latter.
57 (__adjacent_find): New.
58 (adjacent_find): Use latter.
61 (__unique_copy): Remove algo duplication.
62 (__stable_partition): New.
63 (stable_partition): Use latter.
64 (__heap_select): Remove algo duplication, use __make_heap.
65 (__partial_sort): New, use latter.
66 (partial_sort): Use latter.
67 (__partial_sort_copy): New.
68 (partial_sort_copy): Use latter.
69 (__unguarded_linear_insert, __insertion_sort): Remove algo
71 (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
72 (__unguarded_partition, __unguarded_partition_pivot): Likewise.
73 (__partial_sort): New.
74 (partial_sort): Use latter.
77 (lower_bound): Use __lower_bound.
79 (upper_bound): Use latter.
81 (equal_range): Use latter.
82 (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
84 (__merge_adaptive, __merge_without_buffer): Likewise.
85 (__inplace_merge): New.
86 (inplace_merge): Use latter.
87 (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
89 (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
90 (__inplace_stable_sort): Likewise.
92 (includes): Use latter.
93 (__next_permutation): New.
94 (next_permutation): Use latter.
95 (__prev_permutation): New.
96 (prev_permutation): Use latter.
97 (__replace_copy_if): New.
98 (replace_copy): Use latter.
99 (__is_sorted_until): New.
100 (is_sorted_unitl): Use latter.
101 (__minmax_element): New.
102 (minmax_element): Use latter.
103 (__is_permutation): New.
104 (is_permutation): Use latter.
105 (__adjacent_find): New.
106 (adjacent_find): Use latter.
109 (count_if): Likewise.
112 (__stable_sort): New.
113 (stable_sort): Use latter.
115 (set_union): Use latter.
116 (__set_intersection): New.
117 (set_intersection): Use latter.
118 (__set_difference): New.
119 (set_difference): Use latter.
120 (__set_symmetric_difference): New.
121 (set_symmetric_difference): Use latter.
122 (__min_element): New.
123 (min_element): Use latter.
124 (__max_element): New.
125 (max_element): Use latter.
126 * include/Makefile.am: Add predefined_ops.h.
127 * include/Makefile.in: Regenerate.
128 * include/parallel/algobase.h (equal, mismatch): Add overloads
130 * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
131 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
132 * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
133 * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
134 * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
135 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
136 * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
137 * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
139 2013-09-27 Jonathan Wakely <jwakely.gcc@gmail.com>
142 * include/std/functional
143 (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
145 * testsuite/20_util/function/cons/57465.cc: New.
147 2013-09-26 Tim Shen <timshen91@gmail.com>
149 * regex_error.h: Remove _S_error_last to follow the standard.
151 (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
153 (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
155 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
156 Move here from ../../extended.
157 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
160 2013-09-25 Marc Glisse <marc.glisse@inria.fr>
163 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
165 (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
166 operator++, operator==, operator!=, _M_next]: Likewise.
167 (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
168 operator->, operator++, operator==, operator!=, _M_next]: Likewise.
169 (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
170 operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
172 * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
173 _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
174 _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
175 const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
176 const _Node_iterator_base&)): Likewise.
177 (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
179 (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
180 operator++]: Likewise.
181 * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
182 operator=, operator*, operator->, operator++, operator--, operator[],
183 operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
185 (operator==(const _Safe_iterator&, const _Safe_iterator&),
186 operator!=(const _Safe_iterator&, const _Safe_iterator&),
187 operator<(const _Safe_iterator&, const _Safe_iterator&),
188 operator<=(const _Safe_iterator&, const _Safe_iterator&),
189 operator>(const _Safe_iterator&, const _Safe_iterator&),
190 operator>=(const _Safe_iterator&, const _Safe_iterator&),
191 operator-(const _Safe_iterator&, const _Safe_iterator&),
192 operator+(difference_type, const _Safe_iterator&)): Likewise.
193 * include/profile/iterator_tracker.h (__iterator_tracker)
194 [__iterator_tracker, base, operator _Iterator, operator->, operator++,
195 operator--, operator=, operator*, operator[], operator+=, operator+,
196 operator-=, operator-]: Likewise.
197 (operator==(const __iterator_tracker&, const __iterator_tracker&),
198 operator!=(const __iterator_tracker&, const __iterator_tracker&),
199 operator<(const __iterator_tracker&, const __iterator_tracker&),
200 operator<=(const __iterator_tracker&, const __iterator_tracker&),
201 operator>(const __iterator_tracker&, const __iterator_tracker&),
202 operator>=(const __iterator_tracker&, const __iterator_tracker&),
203 operator-(const __iterator_tracker&, const __iterator_tracker&),
204 operator+(difference_type, const __iterator_tracker&)): Likewise.
206 2013-09-24 Marc Glisse <marc.glisse@inria.fr>
210 * include/bits/basic_string.h (basic_string)
211 [basic_string(basic_string&&)]: Make the noexcept conditional.
212 [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
213 [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
214 [pop_back]: Comment on the lack of noexcept.
215 * include/debug/string (basic_string) [basic_string(const _Allocator&),
216 basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
217 operator[](size_type), pop_back]: Comment out noexcept, until vstring
218 replaces basic_string.
220 2013-09-24 Tim Shen <timshen91@gmail.com>
222 * include/Makefile.am: Add regex.tcc.
223 * include/Makefile.in: Regenerate.
224 * include/bits/regex.h: Remove definitions to regex.tcc.
225 * include/bits/regex.tcc: New.
226 (match_results::format, regex_replace): Implement;
227 * include/bits/regex_compiler.h: Move _M_flags to the top of class
228 member list, because other members' initialization depend on it.
229 * include/bits/regex_compiler.tcc
230 (_Compiler<>::_Compiler): Adjust member initializations.
231 (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
232 * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
233 In the future, all regex classes may refactor to *Impl style.
234 * include/bits/regex_executor.tcc (_Executor::_M_set_results):
235 Merge identical code from _*Executor classes.
236 * testsuite/28_regex/algorithms/regex_match/extended/
237 string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
238 caller for new __get_executors interface.
239 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
241 * testsuite/28_regex/match_results/format.cc: New.
242 * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
244 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
246 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
248 * src/c++11/snprintf_lite.cc (__concat_size_t): Use
249 unsigned long long conditionally.
251 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
253 * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
254 std::__int_to_char<unsigned long long>()
256 2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com>
258 * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
259 * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
260 * src/c++11/snprintf_lite.cc: New.
261 * src/c++11/Makefile.am: Add snprintf_lite.cc.
262 * src/c++11/Makefile.in: Regenerate.
263 * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
264 * include/std/array (at): Use __throw_out_of_range_fmt.
265 * include/debug/array (at): Likewise.
266 * include/profile/array (at): Likewise.
267 * include/std/bitset (_M_check_initial_position, _M_check): New.
268 (bitset::bitset): Use _M_check_initial_position.
269 (set, reset, flip, test): Use _M_check.
270 * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
271 * include/bits/stl_vector.h (_M_range_check): Likewise.
272 * include/bits/stl_bvector.h (_M_range_check): Likewise.
273 * include/bits/stl_deque.h (_M_range_check): Likewise.
274 * include/bits/basic_string.h (_M_check, at): Likewise.
275 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
276 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
277 * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
279 * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
281 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
282 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
283 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
285 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
287 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
288 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
290 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
291 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
292 * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
294 2013-09-20 Jakub Jelinek <jakub@redhat.com>
297 * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
298 -fdiagnostics-color=never to cxxflags.
300 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
303 * include/bits/allocator.h (__alloc_swap::_S_do_it,
304 __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
305 * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
306 _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
307 _M_set_length_and_sharable, _M_dispose]: Likewise.
308 (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
309 (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
310 _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
311 _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
313 [clear]: Link to PR 56166.
314 [swap]: Link to PR 58265.
315 * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
316 _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
317 operator--, operator+=, operator+, operator-=, operator-, operator[],
318 _M_set_node]: Mark as noexcept.
319 (operator==(const _Deque_iterator&, const _Deque_iterator&),
320 operator!=(const _Deque_iterator&, const _Deque_iterator&),
321 operator<(const _Deque_iterator&, const _Deque_iterator&),
322 operator>(const _Deque_iterator&, const _Deque_iterator&),
323 operator<=(const _Deque_iterator&, const _Deque_iterator&),
324 operator>=(const _Deque_iterator&, const _Deque_iterator&),
325 operator-(const _Deque_iterator&, const _Deque_iterator&),
326 operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
327 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
329 [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
331 (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
332 _Deque_impl(_Tp_alloc_type&&)]: Likewise.
333 (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
334 front, back, pop_front, pop_back, swap]: Likewise.
335 [deque(), deque(const allocator_type&)]: Merge.
336 * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
337 operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
338 * include/profile/deque (deque) [operator=(deque&&), operator[], front,
339 back, pop_front, pop_back, swap]: Likewise.
340 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
342 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
344 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
346 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
349 2013-09-20 Alan Modra <amodra@gmail.com>
351 * configure: Regenerate.
353 2013-09-19 Marc Glisse <marc.glisse@inria.fr>
356 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
358 (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
359 operator++, operator--, operator==, operator!=]: Likewise.
360 (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
361 operator*, operator->, operator++, operator--, operator==, operator!=]:
363 (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
364 operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
366 (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
367 _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
368 _S_maximum]: Likewise.
369 * include/debug/string (basic_string) [basic_string(const _Allocator&),
370 shrink_to_fit, operator[], pop_back]: Likewise.
371 * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
372 _M_ibegin, _M_iend, __versa_string(const _Alloc&),
373 operator=(__versa_string&&), shrink_to_fit, operator[], front,
374 back, assign(__versa_string&&), swap]: Likewise.
375 (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
378 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
381 * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
382 _M_const_cast, operator*, operator->, operator++, operator--,
383 operator[], operator+=, operator+, operator-=, operator-, base]:
385 (operator==(const __normal_iterator&, const __normal_iterator&),
386 operator!=(const __normal_iterator&, const __normal_iterator&),
387 operator<(const __normal_iterator&, const __normal_iterator&),
388 operator>(const __normal_iterator&, const __normal_iterator&),
389 operator<=(const __normal_iterator&, const __normal_iterator&),
390 operator>=(const __normal_iterator&, const __normal_iterator&),
391 operator-(const __normal_iterator&, const __normal_iterator&),
392 operator+(difference_type, const __normal_iterator&)): Likewise.
393 * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
395 (list::_M_check_equal_allocators): Abort instead of throwing.
396 * include/debug/array (array) [operator[], front, back]: Mark as
398 * include/profile/array (array) [operator[], front, back]: Likewise.
399 * include/std/array (array) [operator[], front, back]: Likewise.
400 * include/debug/list (list::splice): Likewise.
401 * include/profile/list (list::splice): Likewise.
402 * testsuite/23_containers/list/operations/5.cc: Remove file.
403 * testsuite/23_containers/list/operations/5.h: Likewise.
405 2013-09-18 Tim Shen <timshen91@gmail.com>
407 * include/bits/regex.h: Add friend classes.
408 (match_results<>::position, regex_iterator<>::operator++):
409 Implement position specification in regex_iterator.
410 (regex_match<>, regex_search<>):
411 Move match_results initializations to these function. Remove `todo`.
412 * include/bits/regex_compiler.tcc:
413 (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
414 * include/bits/regex_constants.h:
415 Fix indentation. Change match_flag_type to enum type.
416 * include/bits/regex_executor.h:
417 Merge identical code to the base class _Executor.
418 Support flags in regex_constants.
419 * include/bits/regex_executor.tcc: Likewise.
420 * include/bits/regex_scanner.h: Add comments.
421 * include/bits/regex_scanner.tcc: Same.
422 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
424 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
425 * testsuite/28_regex/iterators/regex_iterator/char/
426 string_position_01.cc: Remove `xfail`.
427 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
428 Remove `xfail` and make the case really work.
430 2013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
432 * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
434 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
437 * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
439 * include/bits/stl_list.h (_List_iterator) [_List_iterator,
440 _M_const_cast, operator*, operator->, operator++, operator--,
441 operator==, operator!=]: Likewise.
442 (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
443 operator->, operator++, operator--, operator==, operator!=]: Likewise.
444 (operator==(const _List_iterator&, const _List_const_iterator&),
445 operator!=(const _List_iterator&, const _List_const_iterator&)):
447 (_List_impl) [_List_impl(const _Node_alloc_type&),
448 _List_impl(_Node_alloc_type&&)]: Likewise.
449 (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
450 _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
451 (list) [list(), list(const allocator_type&)]: Merge.
452 (list) [list(const allocator_type&), front, back, pop_front, pop_back,
453 erase, _M_erase]: Mark as noexcept.
454 * include/debug/list (list) [list(const _Allocator&), front, back,
455 pop_front, pop_back, _M_erase, erase]: Likewise.
456 * include/profile/list (list) [list(const _Allocator&), front, back,
457 pop_front, pop_back, erase]: Likewise.
458 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
460 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
462 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
464 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
467 2013-09-17 Marc Glisse <marc.glisse@inria.fr>
470 * include/bits/stl_vector.h (vector::vector(),
471 vector::vector(const allocator_type&)): Merge.
472 (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
473 _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
474 _Vector_impl::_M_swap_data,
475 _Vector_base::_Vector_base(const allocator_type&),
476 _Vector_base::_Vector_base(allocator_type&&),
477 _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
478 vector::vector(const allocator_type&), vector::operator[],
479 vector::operator[] const, vector::front, vector::front const,
480 vector::back, vector::back const, vector::pop_back,
481 vector::_M_erase_at_end): Mark as noexcept.
482 * include/debug/vector (vector::vector(const _Allocator&),
483 vector::operator[], vector::operator[] const, vector::front,
484 vector::front const, vector::back, vector::back const, vector::pop_back,
485 _M_requires_reallocation, _M_update_guaranteed_capacity,
486 _M_invalidate_after_nth): Mark as noexcept.
487 * include/profile/vector (vector::vector(const _Allocator&),
488 vector::operator[], vector::operator[] const, vector::front,
489 vector::front const, vector::back, vector::back const): Mark as
491 (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
492 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
494 * testsuite/23_containers/vector/requirements/dr438/
495 constructor_1_neg.cc: Likewise.
496 * testsuite/23_containers/vector/requirements/dr438/
497 constructor_2_neg.cc: Likewise.
498 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
501 2013-09-14 Tim Shen <timshen91@gmail.com>
503 * include/bits/regex.h (regex_match<>, regex_search<>):
504 Change regex_executor caller. Now use their return value instead
505 of checking __m[0].matched to find out if it's successful.
506 (regex_search<>): Move the search logic to regex_executor.
507 * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
509 * include/bits/regex_automaton.tcc: Add DEBUG dump for new
510 _Opcode. Refactor _NFA::_M_insert_*.
511 * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
512 Use make_shared instead of construct by hand.
513 * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
514 * include/bits/regex_constants.h: Fix indentation and line breaking.
515 * include/bits/regex_executor.h: Add _ResultsEntry to support
516 greedy/ungreedy mode. Move regex_search logic here.
517 * include/bits/regex_executor.tcc: Implement assertions and
518 greedy/ungreedy matching.
519 * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
520 * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
521 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
522 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
523 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
526 2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
529 * include/ext/sso_string_base.h (__sso_string_base<>::
530 __sso_string_base(__sso_string_base&&)): Fix thinkos about
531 _M_length vs _M_set_length.
532 * testsuite/ext/vstring/cons/58415-1.cc: New.
533 * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
535 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
538 * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
539 operator+=, operator+, operator-=, operator-): Take the argument
541 * testsuite/24_iterators/normal_iterator/58403.cc: New.
543 2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
544 Chris Jefferson <chris@bubblescope.net>
547 * include/bits/stl_algo.h (search_n): Fix to guarantee a number
548 of comparisons <= number of elements in the range.
549 * testsuite/25_algorithms/search_n/58358.cc: New.
550 * testsuite/25_algorithms/search_n/iterator.cc: Extend.
552 2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
554 * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
555 from char to wchar_t, literals from 'x' to L'x'.
557 2013-09-10 Kai Tietz <ktietz@redhat.com>
560 * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
563 2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
566 * include/bits/stl_algobase.h (copy_backward): Fix documentation
569 2013-09-05 Tim Shen <timshen91@gmail.com>
571 * include/bits/regex_automaton.h: Add dummy node type. Rewrite
573 * include/bits/regex_automaton.tcc: Implement them.
574 * include/bits/regex_compiler.h: Rewrite _Compiler to use new
575 _StateSeq interfaces.
576 * include/bits/regex_compiler.tcc: Implement them.
577 * include/bits/regex_scanner.h: Add word boundry assertion token.
578 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
579 Support word boundry.
580 * testsuite/28_regex/algorithms/regex_match/basic/
581 string_range_02_03.cc: Remove "xfail".
582 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
584 * testsuite/28_regex/algorithms/regex_match/extended/
585 string_range_02_03.cc: Likewise.
586 * testsuite/28_regex/algorithms/regex_match/extended/
587 cstring_questionmark.cc: Remove xfail and get correct length of
589 * testsuite/28_regex/algorithms/regex_match/extended/
590 string_range_00_03.cc: Likewise.
591 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
593 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
595 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
597 2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
600 * include/bits/random.tcc (negative_binomial_distribution<>::
601 operator()(_UniformRandomNumberGenerator&, const param_type&)):
602 Fix typo in template argument.
603 * testsuite/26_numerics/random/negative_binomial_distribution/
604 operators/58302.cc: New.
606 2013-09-02 Tim Shen <timshen91@gmail.com>
608 * regex_automaton.h: Rearrange _NFA's layout.
609 * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
610 Rearrange _BracketMatcher's layout.
611 (_BracketMatcher<>::_M_add_char): Use set instead of vector for
613 (_BracketMatcher<>::_M_add_collating_element): Likewise.
614 (_BracketMatcher<>::_M_make_range): Likewise.
615 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
616 apropriate constructors of matchers above.
617 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
619 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
620 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
622 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
624 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
625 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
627 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
629 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
632 * include/debug/functions.h (__foreign_iterator_aux4): Use
633 sequence const_pointer as common type to compare pointers. Add a
634 fallback overload in case pointers cannot be cast to sequence
636 * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
638 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
641 * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
642 __gnu_debug::__base calls on iterators passed to internal debug
644 (__glibcxx_check_partitioned_lower_pred): Likewise.
645 (__glibcxx_check_partitioned_upper): Likewise.
646 (__glibcxx_check_partitioned_upper_pred): Likewise.
647 (__glibcxx_check_sorted): Likewise.
648 (__glibcxx_check_sorted_pred): Likewise.
649 (__glibcxx_check_sorted_set): Likewise.
650 (__glibcxx_check_sorted_set_pred): Likewise.
651 * include/debug/functions.h (__check_partitioned_lower):
652 Remove code to detect safe iterators.
653 (__check_partitioned_upper): Likewise.
654 (__check_sorted): Likewise.
656 2013-08-29 Tim Shen <timshen91@gmail.com>
658 * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
659 (regex_iterator<>::regex_iterator): Return nullptr when regex_search
661 (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
662 _M_result is(not isn't) nullptr.
663 * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
665 * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
666 _M_traits to _DFSExecutor.
667 * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
669 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
671 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
674 2013-08-26 Tim Shen <timshen91@gmail.com>
676 * include/Makefile.am: Add regex_scanner.{h,tcc}.
677 * include/Makefile.in: Regenerate.
678 * include/bits/regex.h (match_search): Handle the `__first == __last`
680 * include/bits/regex_compiler.h: Move _Scanner...
681 * include/bits/regex_scanner.h: ...to here. New.
682 * include/bits/regex_compiler.tcc: Move _Scanner...
683 * include/bits/regex_scanner.tcc: ...to here, too. New.
684 * include/bits/regex_executor.tcc: Use value instead of reference for
686 * include/std/regex: Add regex_scanner.h
687 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
688 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
689 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
690 * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
691 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
693 2013-08-22 Tim Shen <timshen91@gmail.com>
695 * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
696 * include/bits/regex_automaton.h: Same.
697 * include/bits/regex_automaton.tcc: Same.
698 * include/bits/regex_compiler.h: Same.
699 * include/bits/regex_compiler.tcc: Same.
700 * include/bits/regex_constants.h: Same.
701 * include/bits/regex_executor.h: Same.
702 * include/bits/regex_executor.tcc: Same.
704 2013-08-22 Tim Shen <timshen91@gmail.com>
706 * include/bits/regex.h: Executor caller.
707 * include/bits/regex_executor.h: Fix empty grouping problem.
708 * include/bits/regex_executor.tcc: Same.
709 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
712 2013-08-20 Phil Muldoon <pmuldoon@redhat.com>
715 http://sourceware.org/bugzilla/show_bug.cgi?id=15195
717 * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
718 is a reference, fetch referenced value.
719 (RxPrinter.invoke): Ditto.
720 * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
721 flag. Add referenced value tests.
723 2013-08-20 Tim Shen <timshen91@gmail.com>
725 * include/bits/regex_constants.h: Add underlying `unsigned int` for
726 enum syntax_option_type.
728 2013-08-18 Tim Shen <timshen91@gmail.com>
730 * include/bits/regex_automaton.h: _S_opcode_backref.
731 * include/bits/regex_automaton.tcc: Backref automaton support.
732 * include/bits/regex_compiler.tcc: Parsing support.
733 * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
734 * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
735 * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
737 2013-08-16 Tim Shen <timshen91@gmail.com>
739 * include/bits/regex.h (regex_traits<>::transform_primary):
740 Avoid past-the-end dereferences.
742 2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
745 * include/bits/basic_string.h (basic_string<>::operator[]): Fix
746 _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
747 * include/ext/vstring.h: Likewise.
748 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
750 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
752 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
753 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
755 2013-08-14 Uros Bizjak <ubizjak@gmail.com>
757 * src/c++98/compatibility.cc (_ZTIe): Use
758 reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
762 2013-08-09 Tim Shen <timshen91@gmail.com>
764 * include/bits/regex_constants.h: Change syntax_option_type to enum
767 2013-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
769 * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
771 2013-08-08 François Dumont <fdumont@gcc.gnu.org>
773 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
774 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
776 (_Before_begin<>): Remove.
777 * include/bits/hashtable.h (_Hashtable): Inherit from
778 _Hashtable_alloc and adapt. Restore _M_before_begin field.
779 * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
780 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
781 access to hashtable before begin.
782 * testsuite/23_containers/unordered_set/
783 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
784 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
787 2013-08-07 Tim Shen <timshen91@gmail.com>
789 * include/Makefile.am: Adjust to new files.
790 * include/Makefile.in: Regenerate.
791 * include/bits/regex.h: Adjust to new interfaces.
792 * include/bits/regex_automaton.h: New.
793 * include/bits/regex_automaton.tcc: New.
794 * include/bits/regex_compiler.h: Adjust to new files.
795 * include/bits/regex_compiler.tcc: New.
796 * include/bits/regex_constants.h: Tail spaces.
797 * include/bits/regex_error.h: Likewise.
798 * include/bits/regex_executor.h: New.
799 * include/bits/regex_executor.tcc: New.
800 * include/std/regex: Adjust to new files.
801 * testsuite/28_regex/algorithms/regex_match/extended/
802 string_dispatch_01.cc: Adjust to new interfaces.
804 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
806 * include/ext/atomicity.h: Add #pragma GCC system_header.
808 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
811 * include/bits/random.h (cauchy_distribution<>::min,
812 extreme_value_distribution<>::min, normal_distribution<>::min,
813 student_t_distribution<>::min): Fix.
814 * include/ext/random (normal_mv_distribution<>::min): Likewise.
815 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
817 testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
819 * testsuite/26_numerics/random/extreme_value_distribution/cons/
821 testsuite/26_numerics/random/extreme_value_distribution/cons/
822 default.cc: Likewise.
823 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
825 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
827 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
829 * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
831 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
832 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
834 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
836 * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
839 * testsuite/ext/von_mises_distribution/*: Move to...
840 * testsuite/ext/random/von_mises_distribution/*: ... here.
841 * testsuite/ext/triangular_distribution/*: Move to...
842 * testsuite/ext/random/triangular_distribution/*: ... here.
844 2013-08-06 Caroline Tice <cmtice@google.com>
846 * fragment.am: Add XTEMPLATE_FLAGS.
847 * configure.ac: Add definitions for --enable-vtable-verify.
848 * acinclude.m4: Add --enable-vtable-verify and
849 --disable-vtable-verify; define --enable-vtable-verify; define
850 VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
851 * config/abi/pre/gnu.ver: Export symbols for vtable verification.
852 * libsupc++/Makefile.am: Define vtv_sources and add it to
853 libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
854 * libsupc++/vtv_stubs.cc: New file.
855 * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
856 * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
857 VTV_CXXLINKFLAGS to CXXLINK.
858 * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
859 to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
860 * src/C++11/Makefile.am: Ditto.
861 * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
862 * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
863 cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
864 * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
865 libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
866 cxxvtvflags to cxx_final.
867 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
868 -fvtable-verify=none to compiler flags.
869 * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
871 * configure: Regenerated.
872 * Makefile.in: Regenerated.
873 * python/Makefile.in: Regenerated.
874 * include/Makefile.in: Regenerated.
875 * libsupc++/Makefile.in: Regenerated.
876 * config.h.in: Regenerated.
877 * po/Makefile.in: Regenerated.
878 * src/Makefile.in: Regenerated.
879 * src/c++98/Makefile.in: Regenerated.
880 * src/c++11/Makefile.in: Regenerated.
881 * doc/Makefile.in: Regenerated.
882 * testsuite/Makefile.in: Regenerated.
884 2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
886 Revert the last commit.
888 2013-08-06 François Dumont <fdumont@gcc.gnu.org>
890 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
891 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
893 (_Before_begin<>): Remove.
894 * include/bits/hashtable.h (_Hashtable): Inherit from
895 _Hashtable_alloc and adapt. Restore _M_before_begin field.
896 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
897 access to hashtable before begin.
898 * testsuite/23_containers/unordered_set/
899 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
900 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
903 2013-08-03 Tim Shen <timshen91@gmail.com>
905 Implement bracket expression.
906 * include/bits/regex.h: Remove constexpr from "|=", etc.
907 * include/bits/regex_compiler.h: Parse bracket expression.
908 * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
910 * include/bits/regex_nfa.tcc: Implement them.
911 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
912 from regex_search to regex_match.
913 * testsuite/28_regex/algorithms/regex_match/extended/
914 cstring_bracket_01.cc: New.
916 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
918 * include/debug/functions.h (__foreign_iterator_aux4):
919 Initialize __l and __ge.
921 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
924 * include/debug/functions.h: Include <bits/move.h>; minor formatting
926 (__foreign_iterator_aux4): Declare __l and __ge constexpr.
927 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
929 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
930 operator->): Likewise.
932 2013-08-01 François Dumont <fdumont@gcc.gnu.org>
935 * include/debug/formatter.h (_Debug_msg_id): Add
936 __msg_insert_itself_range entry.
937 * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
938 New, indicate container types supporting self range insertion in
940 (__foreign_iterator): New, check if an iterator points to a given
942 * include/debug/macros.h (__glibcxx_check_insert_range): Add check
943 using __foreign_iterator.
944 (__gibcxx_check_insert_range_after): Likewise.
945 * include/debug/string (_Insert_range_from_self_is_safe<>):
946 Partially specialized to mark __gnu_debug::basic_string<> as
947 supporting self range insert.
948 * include/debug/list (_Insert_range_from_self_is_safe<>):
949 Partially specialized to mark std::list as supporting self range
950 insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
951 * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
953 * src/c++11/debug.cc (_S_debug_messages): Add
954 __msg_insert_itself_range_entry message.
955 (_Error_formatter::_Parameter::_M_print_description): Display
956 iterator sequence address rather than sequence address when the
957 parameter type is an iterator.
958 (_Error_formatter::_M_print_word): Enhance behavior when
959 displaying a word with an appended '\n'.
960 * testsuite/util/debug/checks.h (check_insert4<>): New.
961 * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
962 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
963 * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
964 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
965 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
966 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
969 2013-08-01 Fabien Chêne <fabien@gcc.gnu.org>
972 * include/tr1/cmath: Remove pow(double,double) overload, remove a
973 duplicated comment about DR 550. Add a comment to explain the
975 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
977 2013-07-31 Tim Shen <timshen91@gmail.com>
979 Thompson matcher refactored. Fix grouping problem.
980 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
981 * include/bits/regex_compiler.h: Tweak for auto switching.
982 * include/bits/regex_grep_matcher.h: Class structure.
983 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
984 matcher) refactoring.
985 * include/bits/regex_nfa.h: Change _Results's interfaces.
986 * include/std/regex: Includes <map> and <queue>.
987 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
989 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
991 * testsuite/28_regex/algorithms/regex_match/extended/
992 string_dispatch_01.cc: New.
994 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
997 * include/bits/stl_bvector.h: Use friend struct hash intead of
998 friend class hash to work around useless warnings produced by
1000 * include/std/bitset: Likewise.
1002 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
1004 * src/c++11/functexcept.cc: Do not include the whole <regex>.
1005 * src/c++11/regex.cc: Likewise.
1007 2013-07-31 Tim Shen <timshen91@gmail.com>
1011 2013-07-31 Tim Shen <timshen91@gmail.com>
1013 Thompson matcher refactored. Fix grouping problem.
1014 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1015 * include/bits/regex_compiler.h: Tweak for auto switching.
1016 * include/bits/regex_grep_matcher.h: Class structure.
1017 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1018 matcher) refactoring.
1019 * include/bits/regex_nfa.h: Change _Results's interfaces.
1020 * include/std/regex: Includes <map> and <queue>.
1021 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1023 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1025 * testsuite/28_regex/algorithms/regex_match/extended/
1026 string_dispatch_01.cc: New.
1028 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
1032 2013-07-30 Tim Shen <timshen91@gmail.com>
1034 Thompson matcher refactored. Fix grouping problem.
1035 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1036 * include/bits/regex_compiler.h: Tweak for auto switching.
1037 * include/bits/regex_grep_matcher.h: Class structure.
1038 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1039 matcher) refactoring.
1040 * include/bits/regex_nfa.h: Change _Results's interfaces.
1041 * include/std/regex: Includes <map> and <queue>.
1042 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1044 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1046 * testsuite/28_regex/algorithms/regex_match/extended/
1047 string_dispatch_01.cc: New.
1049 2013-07-29 Nathan Froyd <froydnj@gcc.gnu.org>
1051 * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
1052 Add call to __cmpexch_failure_order.
1053 * testsuite/util/testsuite_common_types.h
1054 (compare_exchange_order_lowering): New generator.
1055 * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
1058 2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
1060 * include/std/complex (pow(const complex<>&, int)): Enable in
1062 * testsuite/26_numerics/complex/dr844.cc: Adjust.
1063 * doc/xml/manual/intro.xml: Update.
1065 2013-07-25 Tim Shen <timshen91@gmail.com>
1067 Add documents and comments.
1068 * include/bits/regex.h: Documents and comments.
1069 * include/bits/regex_grep_matcher.h: Likewise.
1070 * include/bits/regex_grep_matcher.tcc: Likewise.
1071 * testsuite/28_regex/iterators/regex_iterator/char/
1072 string_position_01.cc: New.
1074 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
1077 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
1080 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
1082 * include/bits/random.h (random_device): Avoid using the FILE type.
1083 * include/std/random: Do not include <cstdio>.
1084 * src/c++11/random.cc: ... include it here.
1085 (random_device::_M_init, random_device::_M_fini,
1086 random_device::_M_getval): Cast back and forth void* and FILE*.
1088 2013-07-24 Tim Shen <timshen91@gmail.com>
1090 Reimplment matcher using Depth-first search(backtracking).
1093 * include/bits/regex.h: regex_match() and regex_search().
1094 * include/bits/regex_cursor.h: Fix _M_set_pos().
1095 * include/bits/regex_grep_matcher.h: add _M_dfs_match().
1096 * include/bits/regex_grep_matcher.tcc: Implement it.
1097 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
1098 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
1099 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
1102 2013-07-23 Tim Shen <timshen91@gmail.com>
1104 Implement regex_iterator and regex_token_iterator.
1105 * include/bits/regex.h: regex_iterator and regex_token_iterator.
1106 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
1108 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
1110 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
1112 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1115 2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
1117 * include/std/random: Add back <cstdio> include.
1118 * src/c++11/random.cc: Don't include <cstdio> here.
1120 2013-07-22 Jason Merrill <jason@redhat.com>
1123 * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
1125 2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
1128 * src/c++11/random.cc (random_device::_M_getval): If possible, use
1129 read instead of std::fread.
1130 * include/std/random: Do not include <cstdio> unnecessarily.
1132 2013-07-21 Tim Shen <timshen91@gmail.com>
1134 Partially implement regex_search.
1135 * include/bits/regex.h: regex_search.
1136 * include/bits/regex_grep_matcher.h: _M_search_from_first.
1137 * include/bits/regex_grep_matcher.tcc: Implement it.
1138 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
1140 2013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com>
1143 * include/std/condition_variable (condition_variable_any): Move into
1144 inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
1145 * src/c++11/condition_variable.cc (condition_variable_any): Move
1147 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
1148 * src/Makefile.am: Add new source file.
1149 * src/Makefile.in: Regenerate.
1151 2013-07-09 Tim Shen <timshen91@gmail.com>
1153 Implement class regex_traits.
1154 * include/bits/regex.h: Implement lookup_classname and
1155 lookup_collatename; modify isctype; partially implement
1157 * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
1158 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
1159 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
1160 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
1161 * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
1162 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
1163 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
1164 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
1166 2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net>
1168 * doc/xml/manual/status_cxx2014.xml: Add links for papers.
1170 2013-07-05 François Dumont <fdumont@gcc.gnu.org>
1172 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
1174 (_MoveReuseOrAllocNode): Remove.
1175 (_Insert_base): Take a functor defining how the node is generated.
1176 * include/bits/hashtable.h: Adapt.
1177 (operator=(initializer_list<value_type>)): Reuse node if any.
1178 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1179 Adjust dg-error line number.
1180 * testsuite/23_containers/unordered_set/
1181 not_default_constructible_hash_neg.cc: Likewise.
1183 2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
1185 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1186 Tweak, avoid potential undefined behavior.
1187 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1189 * testsuite/23_containers/vector/bool/modifiers/insert/
1190 const_iterator.cc: Likewise.
1191 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1194 2013-07-04 Veres Lajos <vlajos@gmail.com>
1195 Jonathan Wakely <jwakely.gcc@gmail.com>
1197 * config/locale/generic/codecvt_members.cc: Fix typo.
1198 * configure.host: Likewise.
1199 * doc/html/manual/policy_data_structures_design.html: Likewise.
1200 * doc/xml/manual/policy_data_structures.xml: Likewise.
1201 * include/bits/hashtable.h: Likewise.
1202 * include/bits/random.h: Likewise.
1203 * include/profile/impl/profiler_trace.h: Likewise.
1204 * testsuite/23_containers/deque/cons/2.cc: Likewise.
1205 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
1206 * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
1207 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1209 2013-07-04 Ray Chason <chasonr@newsguy.com>
1210 Paolo Carlini <paolo.carlini@oracle.com>
1213 * include/bits/regex.h (regex_token_iterator<>::operator==,
1214 regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
1215 regex_token_iterator<>::operator->): Declare const.
1217 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
1219 * include/bits/stl_list.h (list<>::insert(iterator,
1220 size_type, const value_type&), list<>::insert(iterator,
1221 initializer_list<>), list<>::insert(iterator, _InputIterator,
1222 _InputIterator), list<>::splice(iterator, list&&),
1223 list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
1224 iterator), list<>::splice(iterator, list&, iterator),
1225 list<>::splice(iterator, list&&, iterator, iterator),
1226 list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
1227 signatures to take const_iterator(s).
1228 * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
1229 const value_type&), list<>::insert(const_iterator, _InputIterator,
1230 _InputIterator)): Define.
1231 * include/ext/vstring.h (__versa_string<>::insert(iterator,
1232 size_type, _CharT), __versa_string<>::insert(iterator,
1233 _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
1234 std::initializer_list<>), __versa_string<>::replace(iterator,
1235 iterator, _InputIterator, _InputIterator), __versa_string<>::
1236 replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
1237 signatures to take const_iterator(s).
1238 (__versa_string<>::_M_replace_dispatch): Take const_iterators.
1239 * include/ext/vstring.tcc: Likewise.
1240 * include/debug/list: Adjust.
1241 * include/profile/list: Likewise.
1242 * testsuite/23_containers/list/operations/splice/const_iterator.cc:
1244 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1246 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1248 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1250 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1252 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1255 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1256 Adjust dg-error line number.
1257 * testsuite/23_containers/list/requirements/dr438/
1258 constructor_1_neg.cc: Likewise.
1259 * testsuite/23_containers/list/requirements/dr438/
1260 constructor_2_neg.cc: Likewise.
1261 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1264 2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1266 * include/bits/stl_deque.h (deque<>::insert(iterator,
1267 size_type, const value_type&), deque<>::insert(iterator,
1268 initializer_list<>), deque<>::insert(iterator, _InputIterator,
1269 _InputIterator)): Adjust C++11 signatures to take a const_iterator.
1270 * include/bits/stl_vector.h: Likewise.
1271 * include/bits/stl_bvector.h: Likewise.
1272 * include/debug/deque: Adjust.
1273 * include/debug/vector: Likewise.
1274 * include/profile/deque: Likewise.
1275 * include/profile/vector: Likewise.
1276 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1278 * testsuite/23_containers/vector/bool/modifiers/insert/
1279 const_iterator.cc: Likewise.
1280 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1283 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1284 Adjust dg-error line number.
1285 * testsuite/23_containers/deque/requirements/dr438/
1286 constructor_1_neg.cc: Likewise.
1287 * testsuite/23_containers/deque/requirements/dr438/
1288 constructor_2_neg.cc: Likewise.
1289 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1291 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1293 * testsuite/23_containers/vector/requirements/dr438/
1294 constructor_1_neg.cc: Likewise.
1295 * testsuite/23_containers/vector/requirements/dr438/
1296 constructor_2_neg.cc: Likewise.
1297 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1300 2013-06-29 François Dumont <fdumont@gcc.gnu.org>
1302 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
1304 * include/bits/hashtable.h: Likewise.
1305 * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
1306 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
1308 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1309 Adjust dg-error line number.
1310 * testsuite/23_containers/unordered_set/
1311 not_default_constructible_hash_neg.cc: Likewise.
1312 * doc/xml/manual/containers.xml: Document hinting in unordered
1315 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1317 * testsuite/21_strings/basic_string/operations/*: Move inside
1318 testsuite/21_strings/basic_string/operations/data/.
1319 * testsuite/21_strings/basic_string/compare/*: Move inside
1320 testsuite/21_strings/basic_string/operations/.
1321 * testsuite/21_strings/basic_string/find/*: Likewise.
1322 * testsuite/21_strings/basic_string/rfind/*: Likewise.
1323 * testsuite/21_strings/basic_string/substr/*: Likewise.
1325 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1327 * testsuite/21_strings/basic_string/append/*: Move inside
1328 testsuite/21_strings/basic_string/modifiers/.
1329 * testsuite/21_strings/basic_string/assign/*: Likewise.
1330 * testsuite/21_strings/basic_string/insert/*: Likewise.
1331 * testsuite/21_strings/basic_string/replace/*: Likewise.
1332 * testsuite/21_strings/basic_string/modifiers/pop_back/char/
1333 pop_back.cc: Rename to 1.cc.
1334 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
1335 pop_back.cc: Likewise.
1336 * testsuite/ext/vstring/assign/*: Move inside
1337 testsuite/ext/vstring/modifiers/.
1339 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1341 * include/bits/stl_deque.h (deque<>::insert(iterator,
1342 const value_type&), deque<>::insert(iterator, value_type&&),
1343 deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
1344 take a const_iterator.
1345 (deque<>::erase): Simplify.
1346 * include/bits/stl_list.h: Likewise.
1347 (_List_iterator<>::_M_const_cast): Add.
1348 * include/bits/stl_vector.h: Likewise.
1349 * include/bits/stl_bvector.h: Likewise.
1350 (_Bit_iterator::_M_const_cast): Add.
1351 * include/bits/deque.tcc: Adjust definitions.
1352 * include/bits/list.tcc: Likewise.
1353 * include/bits/vector.tcc: Likewise.
1354 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1355 Define trivial version in C++98 mode.
1356 * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
1357 __versa_string<>::replace(iterator, iterator, const __versa_string&),
1358 __versa_string<>::replace(iterator, iterator, const _CharT*,
1359 size_type), __versa_string<>::replace(iterator, iterator,
1360 const _CharT*), __versa_string<>::replace(iterator, iterator,
1361 size_type, _CharT)): Adjust C++11 signatures to take a pair of
1363 * include/debug/deque: Adjust.
1364 * include/debug/list: Likewise.
1365 * include/debug/vector: Likewise.
1366 * include/profile/deque: Likewise.
1367 * include/profile/list: Likewise.
1368 * include/profile/vector: Likewise.
1369 (vector<>::emplace): Add.
1370 * testsuite/util/exception/safety.h: Update.
1371 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
1373 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1375 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
1377 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1379 * testsuite/23_containers/vector/bool/modifiers/insert/
1380 const_iterator.cc: Likewise.
1381 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
1383 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1385 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1387 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1389 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1391 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1394 * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
1395 ext/vstring/modifiers/erase/char/.
1396 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
1397 ext/vstring/modifiers/wchar_t/.
1398 * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
1399 ext/vstring/modifiers/pop_back/char/.
1400 * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
1401 testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
1403 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1404 Adjust dg-error line number.
1405 * testsuite/23_containers/deque/requirements/dr438/
1406 constructor_1_neg.cc: Likewise.
1407 * testsuite/23_containers/deque/requirements/dr438/
1408 constructor_2_neg.cc: Likewise.
1409 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1411 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1413 * testsuite/23_containers/list/requirements/dr438/
1414 constructor_1_neg.cc: Likewise.
1415 * testsuite/23_containers/list/requirements/dr438/
1416 constructor_2_neg.cc: Likewise.
1417 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1419 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1421 * testsuite/23_containers/vector/requirements/dr438/
1422 constructor_1_neg.cc: Likewise.
1423 * testsuite/23_containers/vector/requirements/dr438/
1424 constructor_2_neg.cc: Likewise.
1425 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1428 2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
1430 Status page for C++2014 library features
1431 * doc/xml/faq.xml: Add link to new C++14 status page.
1432 * doc/xml/manual/intro.xml: Ditto.
1433 * doc/xml/manual/status_cxx2014.xml: New.
1435 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
1437 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
1438 spurious fails with check-debug.
1439 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
1441 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
1442 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
1445 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
1448 * include/bits/char_traits.h (char_traits<char>::lt): Implement
1450 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
1452 2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
1455 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
1456 declare per the letter of the C++ standard in terms of void.
1457 * include/c_std/cstdlib: Likewise.
1459 2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
1462 * include/bits/random.h (binomial_distribution<>::_M_waiting):
1463 Add double parameter.
1464 * include/bits/random.tcc (binomial_distribution<>::operator()
1465 (_UniformRandomNumberGenerator&, const param_type&)): Pass
1466 __param._M_q to _M_waiting.
1467 (_M_waiting): Adjust.
1468 * testsuite/26_numerics/random/binomial_distribution/
1469 operators/values.cc: Add tests.
1471 2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
1474 * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
1475 Implement correctly C++11 26.6.2.3/1.
1476 * testsuite/26_numerics/valarray/dr630-3.C: New.
1478 2013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1481 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
1482 functionality to new __timed_mutex_impl mixin. Overload try_lock_until
1483 to handle conversion between different clocks. Replace constrained
1484 __try_lock_for_impl overloads with conditional increment.
1485 * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
1486 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
1488 2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
1489 Chris Jefferson <chris@bubblescope.net>
1491 * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
1492 dispatch to traditional std::equal for random-access iterators.
1493 (__equal2_aux, __equal2): Remove.
1494 (__equal::equal): Remove unused overloads.
1495 * include/bits/stl_algo.h (is_permutation): Fix typos.
1497 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1499 * include/std/shared_mutex (shared_lock::operator=): Add missing
1502 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1505 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
1506 allocator's pointer type.
1507 * include/bits/hashtable.h (_Hashtable): Likewise.
1508 * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
1509 * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
1510 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
1511 * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
1513 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1515 * include/std/shared_mutex: Implement N3659.
1516 * include/bits/c++14_warning.h: New.
1517 * include/Makefile.am: Add new headers.
1518 * include/Makefile.in: Regenerate.
1519 * testsuite/30_threads/shared_lock/cons/1.cc: New.
1520 * testsuite/30_threads/shared_lock/locking/2.cc: New.
1521 * testsuite/30_threads/shared_lock/cons/2.cc: New.
1522 * testsuite/30_threads/shared_lock/locking/3.cc: New.
1523 * testsuite/30_threads/shared_lock/cons/3.cc: New.
1524 * testsuite/30_threads/shared_lock/locking/4.cc: New.
1525 * testsuite/30_threads/shared_lock/cons/4.cc: New.
1526 * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
1527 * testsuite/30_threads/shared_lock/cons/5.cc: New.
1528 * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
1529 * testsuite/30_threads/shared_lock/cons/6.cc: New.
1530 * testsuite/30_threads/shared_lock/requirements/
1531 explicit_instantiation.cc: New.
1532 * testsuite/30_threads/shared_lock/locking/1.cc: New.
1533 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
1534 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
1535 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
1536 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
1537 * testsuite/30_threads/shared_mutex/requirements/
1538 standard_layout.cc: New.
1539 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
1540 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
1542 2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
1545 * include/bits/unordered_map.h (unordered_map<>::insert,
1546 unordered_multimap<>::insert): Use std::forward, not std::move.
1547 * testsuite/23_containers/unordered_map/insert/57619.C: New.
1548 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1550 2013-06-14 Alan Modra <amodra@gmail.com>
1552 * configure.host (abi_baseline_pair): Match powerpc64*.
1554 2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
1556 * include/std/type_traits (is_function): Support ref-qualified
1558 (is_copy_constructible, is_move_constructible, is_copy_assignable,
1559 is_move_assignable, is_nothrow_copy_constructible,
1560 is_nothrow_move_constructible, is_nothrow_copy_assignable,
1561 is_nothrow_move_assignable): Implement LWG 2196.
1562 (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
1564 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
1566 * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
1567 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
1568 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
1569 * testsuite/20_util/is_assignable/value.cc: Likewise.
1570 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1571 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1572 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1573 * testsuite/20_util/is_function/value.cc: Likewise.
1574 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1575 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1576 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1577 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1578 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1579 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1581 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1583 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1585 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1588 2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
1590 * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
1591 __gnu_cxx::__airy_bi()): Remove.
1592 * testsuite/tr1/5_numerical_facilities/special_functions/
1593 10_cyl_bessel_k/airy.cc: Fix.
1595 2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
1598 * include/tr1/modified_bessel_func.tcc (__airy): Remove return
1600 (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
1601 * testsuite/tr1/5_numerical_facilities/special_functions/
1602 10_cyl_bessel_k/airy.cc: New.
1604 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
1606 Fix library literals error involving namespace __detail.
1607 * include/std/chrono: Rename __detail to __select_type. Reformat.
1608 * include/bits/basic_string.h: Reformat.
1609 * testsuite/20_util/duration/literals/ns_detail.cc: New.
1611 2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
1614 * include/c_global/cstddef (max_align_t): Add to namespace std.
1615 * include/c_std/cstddef: Likewise.
1616 * testsuite/18_support/max_align_t/requirements/1.cc: New.
1617 * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
1619 2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
1621 * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
1622 * include/bits/stl_map.h (erase): Use abi_tag when C++11.
1623 * include/bits/stl_multimap.h: Same.
1624 * include/bits/stl_multiset.h: Same.
1625 * include/bits/stl_set.h: Same.
1626 * include/bits/stl_tree.h: Same.
1627 * include/std/complex (real, imag): Use macro for abi_tag.
1629 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
1630 * testsuite/util/testsuite_containers.h (erase_external): New
1632 (erase_external_iterators): Same.
1633 (linkage_check_cxx98_cxx11_erase): Same.
1634 (linkage_check_cxx98_cxx11_erase_iterators): Same.
1635 * testsuite/util/testsuite_shared.cc: Define.
1636 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
1637 * testsuite/23_containers/map/modifiers/erase/
1638 dr130-linkage-check.cc: New.
1639 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
1640 * testsuite/23_containers/multimap/modifiers/erase/
1641 dr130-linkage-check.cc: New.
1642 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
1643 * testsuite/23_containers/multiset/modifiers/erase/
1644 dr130-linkage-check.cc: New.
1645 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
1646 * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
1648 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
1650 * testsuite/23_containers/map/dr130.cc: Move...
1651 * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
1652 * testsuite/23_containers/multimap/dr130.cc: Move ...
1653 * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
1654 * testsuite/23_containers/multiset/dr130.cc: Move...
1655 * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
1656 * testsuite/23_containers/set/dr130.cc: Move...
1657 * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
1659 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
1661 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
1662 handling of Linux-based x86 systems to cover all GNU systems.
1663 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
1664 * testsuite/18_support/pthread_guard.cc: Likewise.
1665 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1667 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1669 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1670 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1671 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
1672 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
1673 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1674 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1675 * testsuite/23_containers/list/pthread1.cc: Likewise.
1676 * testsuite/23_containers/list/pthread5.cc: Likewise.
1677 * testsuite/23_containers/map/pthread6.cc: Likewise.
1678 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1680 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1682 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1683 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1684 * testsuite/30_threads/async/42819.cc: Likewise.
1685 * testsuite/30_threads/async/49668.cc: Likewise.
1686 * testsuite/30_threads/async/54297.cc: Likewise.
1687 * testsuite/30_threads/async/any.cc: Likewise.
1688 * testsuite/30_threads/async/async.cc: Likewise.
1689 * testsuite/30_threads/async/launch.cc: Likewise.
1690 * testsuite/30_threads/async/sync.cc: Likewise.
1691 * testsuite/30_threads/call_once/39909.cc: Likewise.
1692 * testsuite/30_threads/call_once/49668.cc: Likewise.
1693 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1694 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1695 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1696 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1697 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1698 * testsuite/30_threads/condition_variable/members/53841.cc:
1700 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1702 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1703 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1704 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1705 * testsuite/30_threads/condition_variable_any/members/1.cc:
1707 * testsuite/30_threads/condition_variable_any/members/2.cc:
1709 * testsuite/30_threads/future/cons/move.cc: Likewise.
1710 * testsuite/30_threads/future/members/45133.cc: Likewise.
1711 * testsuite/30_threads/future/members/get.cc: Likewise.
1712 * testsuite/30_threads/future/members/get2.cc: Likewise.
1713 * testsuite/30_threads/future/members/share.cc: Likewise.
1714 * testsuite/30_threads/future/members/valid.cc: Likewise.
1715 * testsuite/30_threads/future/members/wait.cc: Likewise.
1716 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1717 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1718 * testsuite/30_threads/lock/1.cc: Likewise.
1719 * testsuite/30_threads/lock/2.cc: Likewise.
1720 * testsuite/30_threads/lock/3.cc: Likewise.
1721 * testsuite/30_threads/lock/4.cc: Likewise.
1722 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1723 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1724 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1725 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1726 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1727 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1728 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1729 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1730 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1731 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1732 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1733 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1734 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1735 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1736 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1737 * testsuite/30_threads/packaged_task/cons/move_assign.cc:
1739 * testsuite/30_threads/packaged_task/members/get_future.cc:
1741 * testsuite/30_threads/packaged_task/members/get_future2.cc:
1743 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1744 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1745 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1746 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1747 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1748 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1749 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1750 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1751 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1752 * testsuite/30_threads/promise/cons/1.cc: Likewise.
1753 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1754 * testsuite/30_threads/promise/cons/move.cc: Likewise.
1755 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1756 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1757 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1758 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1759 * testsuite/30_threads/promise/members/set_exception2.cc:
1761 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1762 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1763 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1764 * testsuite/30_threads/promise/members/swap.cc: Likewise.
1765 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1766 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1768 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1769 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
1771 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1773 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1774 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1775 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1776 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1777 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1779 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1780 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1781 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1783 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1785 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
1787 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
1789 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1791 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1793 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1795 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1797 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1799 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
1801 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1802 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1803 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1804 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1805 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1806 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1807 * testsuite/30_threads/shared_future/members/wait_for.cc:
1809 * testsuite/30_threads/shared_future/members/wait_until.cc:
1811 * testsuite/30_threads/this_thread/1.cc: Likewise.
1812 * testsuite/30_threads/this_thread/2.cc: Likewise.
1813 * testsuite/30_threads/this_thread/3.cc: Likewise.
1814 * testsuite/30_threads/this_thread/4.cc: Likewise.
1815 * testsuite/30_threads/thread/cons/1.cc: Likewise.
1816 * testsuite/30_threads/thread/cons/2.cc: Likewise.
1817 * testsuite/30_threads/thread/cons/3.cc: Likewise.
1818 * testsuite/30_threads/thread/cons/4.cc: Likewise.
1819 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1820 * testsuite/30_threads/thread/cons/5.cc: Likewise.
1821 * testsuite/30_threads/thread/cons/6.cc: Likewise.
1822 * testsuite/30_threads/thread/cons/7.cc: Likewise.
1823 * testsuite/30_threads/thread/cons/8.cc: Likewise.
1824 * testsuite/30_threads/thread/cons/9.cc: Likewise.
1825 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1826 * testsuite/30_threads/thread/members/1.cc: Likewise.
1827 * testsuite/30_threads/thread/members/2.cc: Likewise.
1828 * testsuite/30_threads/thread/members/3.cc: Likewise.
1829 * testsuite/30_threads/thread/members/4.cc: Likewise.
1830 * testsuite/30_threads/thread/members/5.cc: Likewise.
1831 * testsuite/30_threads/thread/members/hardware_concurrency.cc:
1833 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1834 * testsuite/30_threads/thread/native_handle/typesizes.cc:
1836 * testsuite/30_threads/thread/swap/1.cc: Likewise.
1837 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1838 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1840 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1841 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1842 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1844 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1845 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1846 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1847 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1848 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1849 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1850 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1851 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1852 * testsuite/30_threads/try_lock/1.cc: Likewise.
1853 * testsuite/30_threads/try_lock/2.cc: Likewise.
1854 * testsuite/30_threads/try_lock/3.cc: Likewise.
1855 * testsuite/30_threads/try_lock/4.cc: Likewise.
1856 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1857 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1858 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1859 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1860 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1861 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1862 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1863 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1864 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1865 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1866 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1867 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1868 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
1869 * testsuite/ext/profile/mh.cc: Likewise.
1870 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1871 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
1872 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1874 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1876 * testsuite/util/testsuite_performance.h: Extend current handling
1877 of Linux-based systems to cover all glibc-based systems.
1879 2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
1881 * include/std/mutex (call_once): Remove parentheses to fix error in
1882 c++1y and gnu++1y mode.
1883 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
1884 thread to avoid undefined behaviour.
1886 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1888 Simplify and clean up library literals.
1889 * include/std/chrono: Simplify namespace and versioning management.
1890 * include/bits/basic_string.h: Ditto.
1891 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1892 * testsuite/20_util/duration/literals/values.cc: Ditto.
1893 * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1894 * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1896 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1898 Implement N3654 - Quoted Strings Library Proposal
1899 * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1900 manipulators and supporting machinery in c++1y mode.
1901 * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1902 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1904 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1906 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1909 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1911 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1912 * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1913 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1914 * testsuite/25_algorithms/equal/2.cc: New.
1915 * testsuite/25_algorithms/equal/check_type2.cc: New.
1916 * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1917 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1918 * testsuite/25_algorithms/mismatch/2.cc: New.
1919 * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1920 * testsuite/util/testsuite_iterators.h: Fix spelling.
1922 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1924 * include/std/type-traits (integral_constant::operator()): Implement
1926 * testsuite/20_util/integral_constant/call_operator.cc: New.
1927 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1929 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1931 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1934 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
1936 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1938 2013-06-05 Tom Tromey <tromey@redhat.com>
1940 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1942 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1945 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1947 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
1949 * include/std/chrono: Collapse redundant 'inline' from 'inline
1951 * include/std/tuple: Ditto.
1952 * include/bits/move.h: Ditto.
1954 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
1956 Implement N3642 - User-defined Literals for Standard Library Types
1957 * include/bits/parse_numbers.h: New.
1958 * include/std/chrono: Add duration literal operators.
1959 * include/bits/basic_string.h: Add string literal operators.
1960 * include/Makefile.in: Add parse_numbers.h.
1961 * include/Makefile.am: Ditto.
1962 * testsuite/20_util/duration/literals/values.cc: New.
1963 * testsuite/20_util/duration/literals/types.cc: New.
1964 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1965 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
1966 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
1967 * testsuite/21_strings/basic_string/literals/values.cc: New.
1968 * testsuite/21_strings/basic_string/literals/types.cc: New.
1970 2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1972 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
1973 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
1974 calling non-existent from_time_t.
1976 2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1978 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1981 2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
1983 * include/std/chrono: Wrap clocks in inline namespace _V2.
1984 * src/c++11/chrono.cc: Same.
1985 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
1986 file, with default configure macros selected.
1988 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
1990 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
1992 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1993 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1994 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1996 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1998 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1999 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2001 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2002 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2003 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2004 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2005 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2006 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2008 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2009 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2011 2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2013 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
2014 (CLOCK_MONOTONIC): Define.
2016 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
2018 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
2021 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
2023 2013-05-24 Jakub Jelinek <jakub@redhat.com>
2025 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
2026 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
2027 don't define system_clock::is_steady, system_clock::now() and
2028 steady_clock::is_steady.
2029 (std::chrono::system_clock::now()): If
2030 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
2031 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
2032 (std::chrono::system_clock::now()): Likewise. Add weak attribute
2033 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
2035 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
2036 (compatibility-chrono.lo, compatibility-chrono.o): New goals.
2037 * src/c++11/compatibility-chrono.cc: New file.
2038 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
2039 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
2040 * testsuite/util/testsuite_abi.cc (check_version): Add
2041 GLIBCXX_3.4.20 version and make it the latest.
2042 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
2043 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
2044 @@GLIBCXX_3.4.20 instead.
2045 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2046 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2047 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2049 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2051 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2052 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2054 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2055 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2056 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2057 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2058 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2059 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2061 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2062 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2063 * config.h.in: Regenerated.
2064 * src/Makefile.in: Regenerated.
2065 * configure: Regenerated.
2067 2013-05-23 Matthias Klose <doko@ubuntu.com>
2069 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2070 (ext_headers): Remove ${ext_host_headers}.
2071 (stamp-${host_alias}): Create ${host_builddir}/../ext.
2072 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2073 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2074 * include/Makefile.in: Regenerate.
2075 * include/ext/random: Include ext/opt_random.h.
2077 2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
2079 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
2080 enable features if target OS is known to support them.
2081 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
2082 * configure: Regenerate.
2084 2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
2087 * include/std/functional (__invoke): Do not form function types with
2088 abstract return type.
2089 * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
2091 2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
2093 * include/std/tuple (get): Implement N3670.
2094 * include/std/utility (get): Likewise.
2095 * testsuite/20_util/pair/get.cc: Move to ...
2096 * testsuite/20_util/pair/astuple/get.cc: Here.
2097 * testsuite/20_util/pair/astuple/astuple.cc: New.
2098 * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
2099 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
2100 * testsuite/20_util/pair/astuple/get_by_type.cc: New.
2101 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
2102 * testsuite/20_util/pair/astuple/get_neg.cc: New.
2103 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
2104 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
2105 * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
2107 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
2109 * Revert last commit.
2111 2013-05-19 Matthias Klose <doko@ubuntu.com>
2113 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2114 (ext_headers): Remove ${ext_host_headers}.
2115 (stamp-${host_alias}): Create ${host_builddir}/../ext.
2116 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2117 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2118 * include/Makefile.in: Regenerate.
2120 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2122 * include/std/system_error (error_category::error_category()): LWG
2123 2145: Declare public and constexpr.
2124 * src/c++11/system_error.cc (error_category::error_category()): Move
2126 * src/c++11/compatibility-c++0x.cc: Here.
2128 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2130 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
2132 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2134 * include/bits/unique_ptr.h (make_unique): Declare inline.
2135 (unique_ptr<T[],D>::reset()): Combine two overloads into one.
2136 (default_delete, unique_ptr): Add doxygen comments.
2137 * include/bits/shared_ptr_base.h: Improve doxygen comments.
2138 * include/bits/shared_ptr.h: Likewise.
2139 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
2141 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2143 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2145 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2147 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2149 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2151 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2153 * include/std/utility (exchange): Define.
2154 * testsuite/20_util/exchange/1.cc: New.
2156 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2158 * include/bits/unique_ptr.h (make_unique): Define.
2159 * testsuite/20_util/unique_ptr/creation/single.cc: New.
2160 * testsuite/20_util/unique_ptr/creation/array.cc: New.
2161 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
2163 2013-05-15 François Dumont <fdumont@gcc.gnu.org>
2165 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
2166 rendering of std::tr1 unordered containers iterator.
2167 (StdHashtableIterator): New, render std unordered containers iterator.
2168 * testsuite/libstdc++-prettyprinters/tr1.cc: New.
2170 2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2172 * include/bits/basic_string.h (getline): Fix doxygen comments.
2174 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
2176 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2177 Use std::pointer_traits.
2179 2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
2181 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
2183 * libsupc++/Makefile.in: Regenerate.
2184 * libsupc++/bad_array_length.cc: Tweak.
2185 * libsupc++/bad_array_new.cc: Tweak.
2187 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2190 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
2191 (_Deque_iterator<>::_M_const_cast): Add.
2192 (deque<>::_M_erase): Declare.
2193 * include/bits/deque.tcc: ... and define.
2194 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
2195 (_List_const_iterator<>::_M_const_cast): Add.
2196 * include/bits/list.tcc (erase (iterator)): Fix.
2197 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2198 Add; include <ext/cast.h>.
2199 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
2200 (vector<>::_M_erase): Declare.
2201 * include/bits/stl_bvector.h: Likewise.
2202 * include/bits/vector.tcc (vector<>::_M_erase): Define.
2203 * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
2204 * include/debug/deque: Adjust.
2205 * include/debug/list: Likewise.
2206 * include/debug/vector: Likewise.
2207 * include/profile/deque: Likewise.
2208 * include/profile/list: Likewise.
2209 * include/profile/vector: Likewise.
2210 * testsuite/util/exception/safety.h (erase_base<deque>,
2211 erase_base<deque>, erase_base<vector>): Remove.
2212 (erase_base<__versa_string>): Update.
2213 * testsuite/ext/vstring/modifiers/char/54577.cc: New.
2214 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
2215 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
2216 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
2217 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
2219 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
2220 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2221 Adjust dg-error line numbers.
2222 * testsuite/23_containers/deque/requirements/dr438/
2223 constructor_1_neg.cc: Likewise.
2224 * testsuite/23_containers/deque/requirements/dr438/
2225 constructor_2_neg.cc: Likewise.
2226 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2228 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2230 * testsuite/23_containers/list/requirements/dr438/
2231 constructor_1_neg.cc: Likewise.
2232 * testsuite/23_containers/list/requirements/dr438/
2233 constructor_2_neg.cc: Likewise.
2234 * testsuite/23_containers/list/requirements/dr438/
2235 insert_neg.cc: Likewise.
2236 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2238 * testsuite/23_containers/vector/requirements/dr438/
2239 constructor_1_neg.cc: Likewise.
2240 * testsuite/23_containers/vector/requirements/dr438/
2241 constructor_2_neg.cc: Likewise.
2242 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2245 2013-05-09 Uros Bizjak <ubizjak@gmail.com>
2247 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
2249 2013-05-08 Jason Merrill <jason@redhat.com>
2251 Add std::bad_array_length (N3639)
2252 * libsupc++/new: Add std::bad_array_length.
2253 * libsupc++/bad_array_length.cc: New.
2254 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
2255 * libsupc++/Makefile.in: Build them.
2256 * config/abi/pre/gnu.ver: Add new symbols.
2257 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2259 2013-05-08 Andi Kleen <ak@linux.intel.com>
2262 * libstdc++-v3/include/bits/atomic_base.h
2263 (_GLIBCXX_ALWAYS_INLINE): Add new macro.
2264 (atomic_thread_fence, atomic_signal_fence, test_and_set,
2265 clear, store, load, exchange, compare_exchange_weak)
2266 compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
2267 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
2269 2013-05-08 Jason Merrill <jason@redhat.com>
2271 Add std::bad_array_new_length (N2932)
2272 * libsupc++/new: Add std::bad_array_new_length.
2273 * libsupc++/bad_array_new.cc: New.
2274 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
2275 * libsupc++/Makefile.in: Build them.
2276 * config/abi/pre/gnu.ver: Add new symbols.
2277 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2279 2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
2282 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
2284 * include/Makefile.in: Regenerated.
2286 2013-05-07 François Dumont <fdumont@gcc.gnu.org>
2288 * include/profile/unordered_base.h: New.
2289 * include/Makefile.am: Add new profile header.
2290 * include/Makefile.in: Regenerate.
2291 * include/profile/impl/profiler.h
2292 (__profcxx_inefficient_hash_is_on): New macro.
2293 * include/profile/unordered_map (std::profile::unordered_map<>):
2294 Use new _Unordered_profile base class. Use default implementations
2295 for special functions.
2296 (std::profile::unordered_multimap<>): Likewise.
2297 * include/profile/unordered_set (std::profile::unordered_set<>):
2299 (std::profile::unordered_multiset<>): Likewise.
2300 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
2301 MoveOnly equality operator signature.
2303 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2305 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
2306 constexpr_data.cc: Move...
2307 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
2309 * testsuite/20_util/integral_constant/requirements/
2310 explicit_instantiation.cc: New.
2311 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
2313 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
2314 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
2316 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
2317 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
2319 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2321 * include/std/type_traits (is_null_pointer): Add.
2322 (__is_nullptr_t): Implement in terms of the latter.
2323 (is_fundamental, is_scalar): Adjust.
2324 * testsuite/20_util/is_null_pointer/requirements/
2325 explicit_instantiation.cc: New.
2326 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
2328 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
2329 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2331 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2333 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2336 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2338 * include/c_global/cstdio: Add comment about LWG 2249.
2339 * include/c_std/cstdio: Likewise.
2341 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2343 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
2345 * include/std/mutex (__recursive_mutex_base): Likewise.
2347 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2350 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
2351 implement EBO safely.
2352 (_Sp_counted_base::_M_get_deleter): Add noexcept.
2353 (_Sp_counter_ptr): Use noexcept instead of comments.
2354 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
2355 (_Sp_counted_ptr_inplace): Likewise.
2356 * testsuite/20_util/shared_ptr/cons/51365.cc: New.
2357 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
2358 custom allocator and test construction with custom allocator.
2359 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2362 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
2364 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
2365 dialect to -std=gnu++11.
2367 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
2369 * include/bits/hashtable_policy.h
2370 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
2371 * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
2373 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
2375 * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
2376 * include/c_std/cstdio (gets): Likewise.
2377 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
2379 2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2382 * include/debug/unordered_map (unordered_map, unordered_multimap):
2383 Fix default allocator type.
2384 * include/profile/unordered_map (unordered_map, unordered_multimap):
2386 * include/bits/unordered_map.h: Fix comments.
2388 2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
2391 * libsupc++/exception_ptr.h (copy_exception): Deprecate and
2392 move implementation to make_exception_ptr.
2393 * include/std/future (_State_base::_M_break_promise): Replace
2394 copy_exception with make_exception_ptr.
2395 * testsuite/18_support/exception_ptr/move.cc: Likewise.
2396 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2397 * testsuite/30_threads/future/members/get2.cc: Likewise.
2398 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2399 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2400 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2401 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2403 2013-04-22 Jason Merrill <jason@redhat.com>
2405 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
2407 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
2408 substitution" lines.
2410 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
2412 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2413 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
2414 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
2416 2013-04-22 François Dumont <fdumont@gcc.gnu.org>
2418 * include/bits/hashtable_policy.h: Add C++11 allocator support.
2419 * include/bits/hashtable.h: Likewise.
2420 * include/bits/unordered_set.h: Likewise.
2421 * include/bits/unordered_map.h: Likewise.
2422 * include/debug/unordered_set: Likewise.
2423 * include/debug/unordered_map: Likewise.
2424 * include/std/unordered_set: Remove bits/algobase.h
2425 include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
2426 * include/std/unordered_map: Likewise.
2427 * include/ext/throw_allocator.h: Add checks on calls to allocator
2429 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
2430 (std::hash<__gnu_cxx::throw_value_random>): Likewise.
2431 * testsuite/util/regression/rand/priority_queue
2432 /container_rand_regression_test.tcc: Adapt.
2433 * testsuite/util/regression/rand/assoc
2434 /container_rand_regression_test.tcc: Likewise.
2435 * testsuite/util/testsuite_counter_type.h: Add count of destructors.
2436 * testsuite/23_containers/unordered_set
2437 /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
2438 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
2439 * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
2440 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
2441 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
2442 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
2443 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
2444 * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
2445 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
2446 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
2448 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
2449 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
2451 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
2452 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
2453 * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
2454 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
2455 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
2456 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
2457 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2459 * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
2460 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
2461 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
2463 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
2464 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
2466 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
2467 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
2469 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2471 * include/std/type_traits (is_signed): Simplify.
2472 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2473 Adjust dg-error line numbers.
2474 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2476 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2478 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2481 * include/std/complex (complex<float>::real, complex<float>::imag,
2482 complex<double>::real, complex<double>::imag,
2483 complex<long double>::real, complex<long double>::imag): Declare
2484 as const member functions.
2485 * include/std/type_traits (integral_constant<>::operator value_type):
2488 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2491 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
2492 * testsuite/25_algorithms/pop_heap/57010.cc: New.
2494 2013-04-21 Evgeniy Stepanov <eugenis@google.com>
2496 * src/c++11/system_error.cc (generic_category_instance): Add
2498 (system_category_instance): Likewise.
2499 * src/c++11/future.cc (__fec): Likewise.
2501 2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2503 * doc/xml/manual/extensions.xml: Fix anachronism.
2505 2013-04-09 Tom Tromey <tromey@redhat.com>
2507 * configure, config.h.in: Rebuild.
2508 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
2510 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
2512 2013-04-09 Uros Bizjak <ubizjak@gmail.com>
2514 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2516 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
2518 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
2520 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2522 * include/Makefile.am: Add ext/aligned_buffer.h
2523 * include/Makefile.in: Regenerate.
2524 * include/ext/aligned_buffer.h: New.
2525 * include/std/future (_Result): Use __aligned_buffer.
2526 * include/bits/forward_list.h (_Fwd_list_node): Likewise.
2527 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
2528 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
2531 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2533 * include/bits/forward_list.h: Only include required headers.
2534 (forward_list::reference): Define directly, not using __alloc_traits.
2535 (forward_list::const_reference): Likewise.
2537 2013-04-07 François Dumont <fdumont@gcc.gnu.org>
2539 * include/std/functional (_Derives_from_unary_function): Remove.
2540 (_Derives_from_binary_function): Remove.
2541 * include/std/type_traits (__sfinae_types): Remove.
2542 (__is_assignable_helper): Adapt.
2543 (__is_convertible_helper): Adapt.
2544 (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
2545 Remove several explicit instantiations of integral_constant.
2546 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
2547 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2548 Adapt dg-error line number.
2549 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2551 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2552 * testsuite/20_util/bind/ref_neg.cc: Likewise.
2554 2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
2557 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
2558 get_terminate() accessors.
2559 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2560 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
2562 * libsupc++/new_handler.cc: Likewise.
2564 2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2566 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
2568 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2571 * include/debug/array (tuple_size, tuple_element): Do not declare.
2572 * include/profile/array: Likewise.
2573 * testsuite/23_containers/array/tuple_interface/
2574 tuple_element_debug_neg.cc: Adjust dg-error line number.
2576 2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
2578 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
2579 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
2581 (set_terminate(terminate_handler)): Set atomically.
2582 (set_unexpected(terminate_handler)): Likewise.
2583 * libsupc++/new (get_new_handler()): Declare.
2584 * libsupc++/new_handler.cc (get_new_handler()): Define.
2585 (set_new_handler(new_handler)): Set atomically.
2586 (__new_handler): Use internal linkage.
2587 * libsupc++/new_op.cc (operator new): Use get_new_handler().
2588 * libsupc++/new_opnt.cc (operator new): Likewise.
2589 * acinclude.m4: Bump libtool_VERSION to 6:19:0.
2590 * configure: Regenerate.
2591 * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
2592 * libsupc++/Makefile.in: Regenerate.
2593 * config/abi/pre/gnu.ver: Add new exports.
2594 * doc/xml/manual/status_cxx2011.xml: Update.
2595 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
2597 * testsuite/18_support/headers/new/synopsis.cc: Likewise.
2598 * testsuite/18_support/new_handler.cc: New.
2599 * testsuite/18_support/terminate_handler.cc: New.
2600 * testsuite/18_support/unexpected_handler.cc: New.
2602 2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2604 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
2605 defer to general documentation on contributing to GCC.
2606 * doc/html/*: Regenerate.
2608 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
2610 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
2612 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
2615 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
2617 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
2619 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
2621 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
2623 * doc/xml/manual/policy_data_structures: Remove direct link to
2624 IBM Haifa Research Labs.
2626 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
2627 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
2629 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
2632 * doc/xml/manual/shared_ptr.xml: Use canonical address for
2635 2013-03-27 Kai Tietz <ktietz@redhat.com>
2637 * crossconfig.m4: Add support for cygwin x64 target.
2638 * configure: Regenerated.
2640 2013-03-25 Kai Tietz <ktietz@redhat.com>
2642 * testsuite/18_support/50594.cc: For mingw-targets use only static
2644 * testsuite/19_diagnostics/error_category/operators/equal.cc
2645 * testsuite/19_diagnostics/error_code/cons/1.cc
2646 * testsuite/19_diagnostics/error_code/operators/bool.cc
2647 * testsuite/19_diagnostics/error_code/operators/equal.cc
2648 * testsuite/19_diagnostics/error_code/operators/not_equal.cc
2649 * testsuite/19_diagnostics/error_condition/cons/1.cc
2650 * testsuite/19_diagnostics/error_condition/operators/bool.cc
2651 * testsuite/19_diagnostics/error_condition/operators/equal.cc
2652 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
2653 * testsuite/23_containers/set/requirements/exception/basic.cc
2654 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
2655 * testsuite/lib/dg-options.exp (dg-additional-options): New option.
2657 2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
2660 * include/ext/debug_allocator.h (debug_allocator): Add missing members
2661 to meet allocator requirements.
2662 * testsuite/ext/debug_allocator/56170.cc: New.
2664 2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
2667 * include/std/chrono (__is_ratio): Uglify T.
2669 2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
2671 PR libstdc++/55977 (partial, std::vector and std::deque bits)
2672 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
2673 _InputIterator, std::input_iterator_tag)): Use emplace_back.
2674 * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
2675 _InputIterator, std::input_iterator_tag)): Likewise.
2676 * testsuite/23_containers/vector/cons/55977.cc: New.
2677 * testsuite/23_containers/deque/cons/55977.cc: Likewise.
2678 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2679 Adjust dg-error line number.
2680 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2683 2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
2686 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
2687 _InputIterator, __false_type)): Use emplace_back.
2688 * testsuite/23_containers/list/cons/55979.cc: New.
2689 * testsuite/23_containers/list/modifiers/1.h: Adjust.
2690 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2691 Adjust dg-error line number.
2693 2013-03-16 Jason Merrill <jason@redhat.com>
2696 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
2698 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2701 * libsupc++/exception_ptr.h (type_info): Declare.
2703 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2706 * include/std/mutex (lock_guard, unique_lock, lock): Define without
2707 depending on _GLIBCXX_HAS_GTHREADS.
2708 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
2710 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2713 * include/std/future (__future_base::_Result): Add result_type
2715 (__future_base::_S_allocate_result): Overload for std::allocator.
2716 (__future_base::_Task_setter): Use _Result::result_type instead of
2717 deducing the type from the task.
2718 (__future_base::_Task_state): Store allocator to allow shared state
2719 to be reset. Replace std::function with member of target object type
2721 (__future_base::_Task_state_base): New abstract base class.
2722 (__future_base::_Task_state_base::_M_run): New virtual function to
2723 invoke type-erased target object.
2724 (__future_base::_Task_state_base::_M_reset): New virtual function to
2725 create new shared_state using same target object and allocator.
2726 (__future_base::__create_task_state): Allocate a new _Task_state.
2727 (packaged_task::packaged_task): Use __create_task_state.
2728 (packaged_task::reset): Use _Task_state_base::_M_reset.
2729 * testsuite/30_threads/packaged_task/cons/56492.cc: New.
2731 2013-03-15 Tom Tromey <tromey@redhat.com>
2733 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
2734 (PROBE2): New macro.
2735 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
2736 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
2737 * configure.ac: Check for sys/sdt.h.
2738 * configure, config.h.in: Rebuild.
2740 2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
2743 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
2744 allocator_traits instead of calling construct directly.
2745 * testsuite/23_containers/map/56613.cc: New.
2747 2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
2749 * doc/html/*: Regenerate.
2751 2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
2754 * include/std/type_traits (is_fundamental): Add std::nullptr_t.
2755 * testsuite/20_util/is_fundamental/value.cc: Extend.
2756 * testsuite/20_util/is_compound/value.cc: Likewise.
2758 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
2760 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
2763 2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
2765 * include/bits/memoryfwd.h: New. Centralize forward declarations.
2766 * include/bits/algorithmfwd.h: Consistent comments.
2767 * include/bits/localefwd.h: Same.
2768 * include/ext/vstring_fwd.h: Same.
2769 * include/parallel/algorithmfwd.h: Same.
2770 * include/parallel/numericfwd.h: Same.
2771 * include/std/iosfwd: Same.
2773 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
2775 * include/ext/alloc_traits.h: Remove allocator forward decl.
2776 * include/bits/stl_construct.h: Same.
2777 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
2778 forward decl. Consistent comments.
2780 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
2782 * include/Makefile.am (bits_headers): Add memoryfwd.h.
2783 * include/Makefile.in: Regenerate.
2786 2013-03-08 François Dumont <fdumont@gcc.gnu.org>
2788 * include/bits/vector.tcc (vector<>operator=(const vector<>&):
2789 Reset pointers after deallocation when memory can be reused.
2790 * testsuite/23_containers/vector/allocator/minimal.cc: Insert
2791 elements to really challenge C++11 allocator integration.
2792 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
2793 * testsuite/23_containers/vector/allocator/copy_assign.cc:
2795 * testsuite/23_containers/vector/allocator/move_assign.cc:
2797 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
2798 swap vector back before checks on memory/personality mapping are
2800 * testsuite/23_containers/forward_list/allocator/minimal.cc:
2801 Insert element to really challenge C++11 allocator integration.
2802 * testsuite/23_containers/forward_list/allocator/copy.cc:
2804 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
2806 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
2808 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
2809 and swap forward_list back before checks on memory/personality
2810 mapping are performed.
2812 2013-03-07 Jakub Jelinek <jakub@redhat.com>
2814 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2815 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2816 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2818 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2819 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2820 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2821 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2822 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2823 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2825 2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2827 * scripts/extract_symvers.pl: Omit symbols bound to base
2829 * scripts/extract_symvers.in: Likewise.
2830 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2831 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2832 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2833 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2834 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2836 2013-03-04 Ulrich Drepper <drepper@gmail.com>
2838 * include/ext/random (__gnu_cxx::von_mises_distribution<>):
2839 Optimize generation function by pulling computation of __r into the
2840 constructor for param_type. Also compare _M_mu in operator==.
2843 2013-03-02 Ulrich Drepper <drepper@gmail.com>
2845 Add triangular and von Mises distributions.
2846 * include/ext/random: Include <ext/cmath>.
2847 Add __gnu_cxx::triangular_distribution<> and
2848 __gnu_cxx::von_mises_distribution<> classes.
2849 * include/ext/random.tcc: Add out-of-line functions for
2850 __gnu_cxx::triangular_distribution<> and
2851 __gnu_cxx::von_mises_distribution<>.
2852 * testsuite/ext/triangular_distribution/cons/default.cc: New file.
2853 * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
2854 * testsuite/ext/triangular_distribution/operators/serialize.cc:
2856 * testsuite/ext/triangular_distribution/operators/equal.cc:
2858 * testsuite/ext/triangular_distribution/operators/inequal.cc:
2860 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
2862 * testsuite/ext/triangular_distribution/requirements/
2863 explicit_instantiation/1.cc: New file.
2864 * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
2865 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
2866 * testsuite/ext/von_mises_distribution/operators/serialize.cc:
2868 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
2869 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
2871 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
2873 * testsuite/ext/von_mises_distribution/requirements/
2874 explicit_instantiation/1.cc: New file.
2877 * include/Makefile.am (ext_headers): Add cmath.
2878 * include/Makefile.in: Regenerated.
2879 * include/ext/cmath: New file.
2881 2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2883 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2884 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2885 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2886 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2887 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2889 2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
2892 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2893 * testsuite/29_atomics/atomic/operators/56012.cc: New.
2896 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2898 * testsuite/29_atomics/atomic/operators/56011.cc: New.
2900 2013-02-25 Jason Merrill <jason@redhat.com>
2902 * configure.ac: Check for __cxa_thread_atexit_impl.
2903 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2905 * config.h.in, configure: Regenerate.
2907 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2909 * include/std/streambuf (basic_streambuf): Use injected class name
2910 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2913 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2915 * doc/html/faq.html: Fix spelling.
2916 * doc/xml/faq.xml: Likewise.
2917 * include/bits/basic_ios.h: Likewise.
2918 * include/bits/regex.h: Likewise.
2919 * include/std/istream: Likewise.
2920 * include/std/streambuf: Likewise.
2922 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2924 * testsuite/23_containers/unordered_set/55043.cc: Add missing
2925 namespace qualification.
2926 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2928 2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
2930 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2931 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2932 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2933 * include/bits/stl_pair.h: Add to utilities group.
2934 * include/std/tuple: Same.
2935 * include/std/typeindex: Same.
2937 * include/bits/stringfwd.h: Fix markup.
2938 * include/std/limits: Same.
2939 * include/std/type_traits: Same.
2940 * include/tr1/memory: Same.
2941 * include/tr1/regex: Same.
2942 * scripts/run_doxygen: Comment.
2943 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2945 2013-02-14 Jason Merrill <jason@redhat.com>
2947 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2948 test if unsupported.
2950 2013-02-13 Marc Glisse <marc.glisse@inria.fr>
2953 * include/std/complex (complex): Undefine.
2954 * include/c_compatibility/complex.h (complex): Only undefine if
2955 <complex> has been included.
2956 * testsuite/26_numerics/complex/56111.cc: New testcase.
2958 2013-02-13 François Dumont <fdumont@gcc.gnu.org>
2960 * include/bits/hashtable_policy.h (_Hash_code_base): Restore
2961 default constructor protected.
2962 * include/bits/hashtable.h: static assert that _Hash_code_base has
2963 a default constructor available through inheritance.
2965 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2967 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
2970 2013-02-12 Julian Brown <julian@codesourcery.com>
2972 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
2973 Don't expect dots after abbreviated weekday names for ru_RU for
2974 glibc versions >= 2.17.
2975 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
2978 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2980 * include/bits/random.tcc (__transform): Remove.
2982 (discrete_distribution<>::param_type::_M_initialize): Adjust.
2983 (piecewise_constant_distribution<>::param_type::_M_initialize):
2985 (piecewise_linear_distribution<>::param_type::_M_initialize):
2988 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
2990 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
2991 Use -fimplicit-templates.
2992 * src/c++11/Makefile.in: Regenerate.
2993 * src/c++11/hashtable_c++0x.cc: Remove instantiation for
2994 std::lower_bound template.
2996 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
2998 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
2999 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
3000 in C++11 mode and if available in the underlying C library.
3001 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
3002 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
3003 _GLIBCXX_HAVE_QUICK_EXIT.
3005 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
3007 * doc/html/*: Regenerate.
3009 2013-02-11 Jason Merrill <jason@redhat.com>
3011 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
3012 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
3013 * config.h.in, configure: Regenerate.
3014 * include/c_std/cstdlib: Add atexit and at_quick_exit.
3015 * include/c_global/cstdlib: Add atexit and at_quick_exit.
3016 * testsuite/18_support/quick_exit/quick_exit.cc: New.
3018 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
3022 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3025 * include/bits/basic_ios.h: Replace operator void*() const
3026 with explicit operator bool() const in C++11 and greater.
3027 * testsuite/27_io/basic_ios/pr56193.cc: New file.
3029 2013-02-10 François Dumont <fdumont@gcc.gnu.org>
3030 Jonathan Wakely <jwakely.gcc@gmail.com>
3032 * doc/xml/manual/containers.xml: Add section on unordered containers.
3033 * doc/xml/manual/using.xml: Fix incomplete sentence.
3035 2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
3038 * include/bits/hashtable.h (__cache_default): Check if hash function
3040 * testsuite/23_containers/unordered_set/56267.cc: New.
3041 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
3042 dg-error line number.
3043 * testsuite/23_containers/unordered_set/
3044 not_default_constructible_hash_neg.cc: Likewise.
3047 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
3049 * testsuite/23_containers/unordered_set/56278.cc: New.
3051 2013-02-09 François Dumont <fdumont@gcc.gnu.org>
3053 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
3056 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
3059 * include/tr1/special_function_util.h: Remove spurious const
3060 from numeric arguments.
3061 * include/tr1/riemann_zeta.tcc: Likewise.
3062 * include/tr1/exp_integral.tcc: Likewise.
3063 * include/tr1/bessel_function.tcc: Likewise.
3064 * include/tr1/hypergeometric.tcc: Likewise.
3065 * include/tr1/modified_bessel_func.tcc: Likewise.
3066 * include/tr1/poly_laguerre.tcc: Likewise.
3067 * include/tr1/gamma.tcc: Likewise.
3068 * include/tr1/legendre_function.tcc: Likewise.
3069 * include/tr1/poly_hermite.tcc: Likewise.
3070 * include/tr1/ell_integral.tcc: Likewise.
3071 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
3072 If argument is zero return function value.
3073 * testsuite/tr1/5_numerical_facilities/special_functions/
3074 08_cyl_bessel_i/pr56216.cc: New.
3076 2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
3078 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
3080 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3083 * include/bits/basic_ios.h: Replace operator void*() const
3084 with explicit operator bool() const in C++11 and greater.
3085 * testsuite/27_io/basic_ios/pr56193.cc: New file.
3087 2013-02-04 Dodji Seketeli <dodji@redhat.com>
3089 Add missing explicit instantiation for std::lower_bound template
3090 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
3091 missing instantiation for std::lower_bound template.
3093 2013-02-04 François Dumont <fdumont@gcc.gnu.org>
3095 * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
3096 * include/bits/basic_string.h: Specialize previous to mark
3097 std::hash for string types as slow.
3098 * include/bits/hashtable.h (__cache_default): Replace is_integral
3099 with __is_fast_hash.
3100 * src/c++11/hash_c++0x.cc: Add type_traits include.
3101 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3102 Adapt dg-error line number.
3103 * testsuite/23_containers/unordered_set/
3104 not_default_constructible_hash_neg.cc: Likewise.
3106 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3107 Paolo Carlini <paolo.carlini@oracle.com>
3109 PR libstdc++/56202 (again)
3110 * include/bits/random.tcc (binomial_distribution<>::
3111 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
3114 * include/bits/random.h: Fix comment typo.
3116 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3117 Paolo Carlini <paolo.carlini@oracle.com>
3120 * include/bits/random.tcc (binomial_distribution<>::
3121 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
3124 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3126 Update copyright years.
3127 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
3128 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
3129 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
3130 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
3131 testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
3132 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
3133 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
3134 testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
3135 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
3136 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
3137 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
3138 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
3139 testsuite/29_atomics/atomic/cons/assign_neg.cc,
3140 testsuite/29_atomics/atomic/cons/copy_neg.cc,
3141 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
3142 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
3143 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
3144 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
3145 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
3146 Update lines in dg error matches.
3148 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3150 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
3152 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
3154 * include/bits/hashtable_policy.h
3155 (_Prime_rehash_policy::_M_next_bkt)
3156 (_Prime_rehash_policy::_M_need_rehash): Move definition...
3157 * src/c++11/hashtable_c++0x.cc: ... here.
3158 * src/shared/hashtable-aux.cc: Remove c++config.h include.
3159 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
3162 2013-01-29 Jason Merrill <jason@redhat.com>
3165 * config/abi/pre/gnu.ver: Don't export construction vtables.
3166 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
3168 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
3171 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
3172 to construct value_type explicitly before trying to extract the key.
3173 * testsuite/23_containers/unordered_map/cons/56112.cc: New.
3175 2013-01-28 François Dumont <fdumont@gcc.gnu.org>
3177 * include/bits/hashtable_policy.h (_Local_iterator_base): Use
3178 _Hashtable_ebo_helper to embed functors into the local_iterator
3179 when necessary. Pass information about functors involved in hash
3181 * include/bits/hashtable.h (__cache_default): Do not cache for
3182 builtin integral types unless the hash functor is not noexcept
3183 qualified or is not default constructible. Adapt static assertions
3184 and local iterator instantiations.
3185 * include/debug/unordered_set
3186 (std::__debug::unordered_set<>::erase): Detect local iterators to
3187 invalidate using contained node rather than generating a dummy
3188 local_iterator instance.
3189 (std::__debug::unordered_multiset<>::erase): Likewise.
3190 * include/debug/unordered_map
3191 (std::__debug::unordered_map<>::erase): Likewise.
3192 (std::__debug::unordered_multimap<>::erase): Likewise.
3193 * testsuite/performance/23_containers/insert_erase/41975.cc: Test
3194 std::tr1 and std versions of unordered_set regardless of any
3195 macro. Add test on default cache behavior.
3196 * testsuite/performance/23_containers/insert/54075.cc: Likewise.
3197 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3199 * testsuite/23_containers/unordered_set/
3200 not_default_constructible_hash_neg.cc: New.
3201 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
3203 2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
3206 * include/std/complex (pow(const complex<>&, int)): Avoid __n
3209 2013-01-22 Jakub Jelinek <jakub@redhat.com>
3211 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3212 Tightten scan-assembler-times regexps, add dg-additional-options for
3213 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
3216 2013-01-12 Andi Kleen <ak@linux.intel.com>
3217 Jonathan Wakely <jwakely.gcc@gmail.com>
3220 * include/bits/atomic_base.h (__memory_order_modifier): Add
3221 __memory_order_mask, __memory_order_modifier_mask,
3222 __memory_order_hle_acquire, __memory_order_hle_release.
3223 (operator|,operator&): Add.
3224 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
3225 (__cmpexch_failure_order): Add.
3226 (clear, store, load, compare_exchange_weak, compare_exchange_strong):
3228 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3231 2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
3234 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
3236 (__basic_future::_M_get_result()): Const qualify.
3237 (shared_future::get()): Likewise.
3238 * testsuite/30_threads/shared_future/members/get.cc: Use const
3241 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3243 PR libstdc++/55043 (again)
3244 * include/bits/alloc_traits.h (allocator_traits::construct): Disable
3245 unless construction would be well-formed.
3246 (__allow_copy_cons, __check_copy_constructible): Define.
3247 * include/bits/unordered_map.h (__check_copy_constructible): Use as
3248 base class so copy constructor will be deleted if appropriate.
3249 (is_copy_constructible): Remove specialization.
3250 * include/bits/unordered_set.h: Likewise.
3251 * include/debug/unordered_map.h: Undo previous commit. Default copy
3252 and move constructors.
3253 * include/debug/unordered_set.h: Likewise.
3254 * include/profile/unordered_map.h: Undo previous commit.
3255 * include/profile/unordered_set.h: Likewise.
3256 * testsuite/23_containers/unordered_map/55043.cc: Fix test.
3257 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
3258 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3259 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
3260 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
3261 cannot support incomplete types.
3262 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3265 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3268 * include/std/unordered_map: Include alloc_traits.h
3269 * include/std/unordered_set: Likewise.
3270 * include/bits/alloc_traits.h: Define __is_copy_insertable.
3271 * include/bits/unordered_map.h: Use it.
3272 * include/bits/unordered_set.h: Likewise.
3273 * include/debug/unordered_map.h: Likewise.
3274 * include/debug/unordered_set.h: Likewise.
3275 * include/profile/unordered_map.h: Likewise.
3276 * include/profile/unordered_set.h: Likewise.
3277 * include/bits/hashtable.h: Fix comment typos.
3278 * testsuite/23_containers/unordered_map/55043.cc: New.
3279 * testsuite/23_containers/unordered_multimap/55043.cc: New.
3280 * testsuite/23_containers/unordered_multiset/55043.cc: New.
3281 * testsuite/23_containers/unordered_set/55043.cc: New.
3283 2013-01-03 Janis Johnson <janisjo@codesourcery.com>
3285 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
3288 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3290 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
3292 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3295 * include/std/functional (_Mem_fn::operator()): Fix constraints to
3297 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
3298 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
3300 2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3303 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
3305 * configure: Regenerate.
3307 2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
3310 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
3311 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
3315 * include/std/functional (bad_function_call::what()): Declare.
3316 * src/c++11/functional.cc (bad_function_call::what()): Define.
3317 * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
3318 * testsuite/20_util/bad_function_call/what.cc: New.
3320 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3322 * include/bits/unordered_map.h: Fix typo in comments.
3323 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
3324 counts for unordered associative containers.
3326 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3328 * doc/xml/manual/abi.xml: Update library and symbol versions.
3330 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3332 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
3334 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3337 Copyright (C) 2013 Free Software Foundation, Inc.
3339 Copying and distribution of this file, with or without modification,
3340 are permitted in any medium without royalty provided the copyright
3341 notice and this notice are preserved.