]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
re PR libstdc++/58437 (Sorting value in reverse order is much slower compare to gcc44)
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
a10bad86
CJ
12013-09-30 Chris Jefferson <chris@bubblescope.net>
2
3 PR libstdc++/58437
4 * include/bits/stl_algo.h (__move_median_first): Rename to
5 __move_median_to_first, change to take an addition argument.
6 (__unguarded_partition_pivot): Adjust.
7 * testsuite/performance/25_algorithms/sort.cc: New.
8 * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
9 * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
10
3bd2644c
FD
112013-09-28 François Dumont <fdumont@gcc.gnu.org>
12
13 * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
14 inline.
15 (rotate_copy, stable_partition, partial_sort_copy): Likewise.
16 (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
17 (includes, next_permutation, prev_permutation): Likewise.
18 (replace_copy, replace_copy_if, is_sorted_until): Likewise.
19 (minmax_element, is_permutation, adjacent_find): Likewise.
20 (count, count_if, search, search_n, merge): Likewise.
21 (set_intersection, set_difference): Likewise.
22 (set_symmetric_difference, min_element, max_element): Likewise.
23 * include/bits/stl_algobase.h (lower_bound): Likewise.
24 (lexicographical_compare, mismatch): Likewise.
25
8d60fca5
TS
262013-09-28 Tim Shen <timshen91@gmail.com>
27
28 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
29 Let ordinary char escaping in POSIX be valid.
30 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
31 change.
32
ea89b248
FD
332013-09-27 François Dumont <fdumont@gcc.gnu.org>
34
35 * include/bits/predefined_ops.h: New.
36 * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
37 (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
38 algo duplication.
39 (__is_heap): Adapt.
40 (__make_heap): New.
41 (make_heap): Adapt to use latter.
42 (__sort_heap): New.
43 (sort_heap): Adapt to use latter.
44 * include/bits/algobase.h: Include <bits/predefined_ops.h>.
45 (__lexicographical_compare_impl): New.
46 (__lexicographical_compare<false>::__lc): Adapt to use latter.
47 (lexicographical_compare): Likewise.
48 (__lower_bound): New.
49 (lower_bound): Adapt to use latter.
50 (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
51 (__mismatch): New.
52 (mismatch): Use latter.
53 * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
54 <functional> include.
55 (__move_median_first, __find, __find_if, __find_if_not): Remove
56 algo duplication.
57 (__find_end): Likewise.
58 (__search_n): Rename into ...
59 (__search_n_aux): ... this.
60 (__search_n): Renew, use latter.
61 (search_n): Use latter.
62 (__search): New.
63 (search): Use latter.
64 (__find_end): Likewise.
65 (__remove_copy_if): New.
66 (remove_copy): Use latter.
67 (__adjacent_find): New.
68 (adjacent_find): Use latter.
69 (__unique): New.
70 (unique): Use latter.
71 (__unique_copy): Remove algo duplication.
72 (__stable_partition): New.
73 (stable_partition): Use latter.
74 (__heap_select): Remove algo duplication, use __make_heap.
75 (__partial_sort): New, use latter.
76 (partial_sort): Use latter.
77 (__partial_sort_copy): New.
78 (partial_sort_copy): Use latter.
79 (__unguarded_linear_insert, __insertion_sort): Remove algo
80 duplication.
81 (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
82 (__unguarded_partition, __unguarded_partition_pivot): Likewise.
83 (__partial_sort): New.
84 (partial_sort): Use latter.
85 (__sort): New.
86 (sort): Use latter.
87 (lower_bound): Use __lower_bound.
88 (__upper_bound): New.
89 (upper_bound): Use latter.
90 (__equal_range): New.
91 (equal_range): Use latter.
92 (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
93 algo duplication.
94 (__merge_adaptive, __merge_without_buffer): Likewise.
95 (__inplace_merge): New.
96 (inplace_merge): Use latter.
97 (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
98 algo duplication.
99 (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
100 (__inplace_stable_sort): Likewise.
101 (__include): New.
102 (includes): Use latter.
103 (__next_permutation): New.
104 (next_permutation): Use latter.
105 (__prev_permutation): New.
106 (prev_permutation): Use latter.
107 (__replace_copy_if): New.
108 (replace_copy): Use latter.
109 (__is_sorted_until): New.
110 (is_sorted_unitl): Use latter.
111 (__minmax_element): New.
112 (minmax_element): Use latter.
113 (__is_permutation): New.
114 (is_permutation): Use latter.
115 (__adjacent_find): New.
116 (adjacent_find): Use latter.
117 (__count_if): New.
118 (count): Use latter.
119 (count_if): Likewise.
120 (__merge): New.
121 (merge): Use latter.
122 (__stable_sort): New.
123 (stable_sort): Use latter.
124 (__set_union): New.
125 (set_union): Use latter.
126 (__set_intersection): New.
127 (set_intersection): Use latter.
128 (__set_difference): New.
129 (set_difference): Use latter.
130 (__set_symmetric_difference): New.
131 (set_symmetric_difference): Use latter.
132 (__min_element): New.
133 (min_element): Use latter.
134 (__max_element): New.
135 (max_element): Use latter.
136 * include/Makefile.am: Add predefined_ops.h.
137 * include/Makefile.in: Regenerate.
138 * include/parallel/algobase.h (equal, mismatch): Add overloads
139 from N3671.
140 * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
141 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
142 * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
143 * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
144 * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
145 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
146 * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
147 * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
148
1492013-09-27 Jonathan Wakely <jwakely.gcc@gmail.com>
d02dae41
JW
150
151 PR libstdc++/57465
152 * include/std/functional
153 (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
154 for pointers.
155 * testsuite/20_util/function/cons/57465.cc: New.
156
d4e12601
TS
1572013-09-26 Tim Shen <timshen91@gmail.com>
158
159 * regex_error.h: Remove _S_error_last to follow the standard.
160 * regex_scanner.tcc:
161 (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
162 error_badbrace.
163 (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
164 back-reference.
165 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
166 Move here from ../../extended.
167 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
168 Likewise.
169
34e6625a
MG
1702013-09-25 Marc Glisse <marc.glisse@inria.fr>
171
172 PR libstdc++/58338
173 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
174 Mark as noexcept.
175 (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
176 operator++, operator==, operator!=, _M_next]: Likewise.
177 (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
178 operator->, operator++, operator==, operator!=, _M_next]: Likewise.
179 (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
180 operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
181 Likewise.
182 * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
183 _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
184 _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
185 const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
186 const _Node_iterator_base&)): Likewise.
187 (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
188 Likewise.
189 (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
190 operator++]: Likewise.
191 * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
192 operator=, operator*, operator->, operator++, operator--, operator[],
193 operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
194 Likewise.
195 (operator==(const _Safe_iterator&, const _Safe_iterator&),
196 operator!=(const _Safe_iterator&, const _Safe_iterator&),
197 operator<(const _Safe_iterator&, const _Safe_iterator&),
198 operator<=(const _Safe_iterator&, const _Safe_iterator&),
199 operator>(const _Safe_iterator&, const _Safe_iterator&),
200 operator>=(const _Safe_iterator&, const _Safe_iterator&),
201 operator-(const _Safe_iterator&, const _Safe_iterator&),
202 operator+(difference_type, const _Safe_iterator&)): Likewise.
203 * include/profile/iterator_tracker.h (__iterator_tracker)
204 [__iterator_tracker, base, operator _Iterator, operator->, operator++,
205 operator--, operator=, operator*, operator[], operator+=, operator+,
206 operator-=, operator-]: Likewise.
207 (operator==(const __iterator_tracker&, const __iterator_tracker&),
208 operator!=(const __iterator_tracker&, const __iterator_tracker&),
209 operator<(const __iterator_tracker&, const __iterator_tracker&),
210 operator<=(const __iterator_tracker&, const __iterator_tracker&),
211 operator>(const __iterator_tracker&, const __iterator_tracker&),
212 operator>=(const __iterator_tracker&, const __iterator_tracker&),
213 operator-(const __iterator_tracker&, const __iterator_tracker&),
214 operator+(difference_type, const __iterator_tracker&)): Likewise.
215
63ebd8f1
MG
2162013-09-24 Marc Glisse <marc.glisse@inria.fr>
217
218 PR libstdc++/58338
219 PR libstdc++/56166
220 * include/bits/basic_string.h (basic_string)
221 [basic_string(basic_string&&)]: Make the noexcept conditional.
222 [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
223 [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
224 [pop_back]: Comment on the lack of noexcept.
225 * include/debug/string (basic_string) [basic_string(const _Allocator&),
226 basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
227 operator[](size_type), pop_back]: Comment out noexcept, until vstring
228 replaces basic_string.
229
c2669da9
TS
2302013-09-24 Tim Shen <timshen91@gmail.com>
231
232 * include/Makefile.am: Add regex.tcc.
233 * include/Makefile.in: Regenerate.
234 * include/bits/regex.h: Remove definitions to regex.tcc.
235 * include/bits/regex.tcc: New.
236 (match_results::format, regex_replace): Implement;
237 * include/bits/regex_compiler.h: Move _M_flags to the top of class
238 member list, because other members' initialization depend on it.
239 * include/bits/regex_compiler.tcc
240 (_Compiler<>::_Compiler): Adjust member initializations.
241 (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
242 * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
243 In the future, all regex classes may refactor to *Impl style.
244 * include/bits/regex_executor.tcc (_Executor::_M_set_results):
245 Merge identical code from _*Executor classes.
246 * testsuite/28_regex/algorithms/regex_match/extended/
247 string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
248 caller for new __get_executors interface.
249 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
250 New.
251 * testsuite/28_regex/match_results/format.cc: New.
252 * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
253 testcase.
254 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
255
dfff7c46
PP
2562013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
257
258 * src/c++11/snprintf_lite.cc (__concat_size_t): Use
259 unsigned long long conditionally.
260
5303f3a4
PP
2612013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
262
263 * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
264 std::__int_to_char<unsigned long long>()
265
9779c871
PP
2662013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com>
267
268 * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
269 * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
270 * src/c++11/snprintf_lite.cc: New.
271 * src/c++11/Makefile.am: Add snprintf_lite.cc.
272 * src/c++11/Makefile.in: Regenerate.
273 * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
274 * include/std/array (at): Use __throw_out_of_range_fmt.
275 * include/debug/array (at): Likewise.
276 * include/profile/array (at): Likewise.
277 * include/std/bitset (_M_check_initial_position, _M_check): New.
278 (bitset::bitset): Use _M_check_initial_position.
279 (set, reset, flip, test): Use _M_check.
280 * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
281 * include/bits/stl_vector.h (_M_range_check): Likewise.
282 * include/bits/stl_bvector.h (_M_range_check): Likewise.
283 * include/bits/stl_deque.h (_M_range_check): Likewise.
284 * include/bits/basic_string.h (_M_check, at): Likewise.
285 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
286 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
287 * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
288 Likewise.
289 * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
290 Likewise.
291 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
292 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
293 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
294 Likewise.
295 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
296 Likewise.
297 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
298 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
299 Likewise.
300 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
301 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
302 * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
303
bd599dea
JJ
3042013-09-20 Jakub Jelinek <jakub@redhat.com>
305
306 PR testsuite/57605
307 * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
308 -fdiagnostics-color=never to cxxflags.
309
d15ac9d9
MG
3102013-09-20 Marc Glisse <marc.glisse@inria.fr>
311
312 PR libstdc++/58338
313 * include/bits/allocator.h (__alloc_swap::_S_do_it,
314 __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
315 * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
316 _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
317 _M_set_length_and_sharable, _M_dispose]: Likewise.
318 (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
319 (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
320 _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
321 _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
322 Likewise.
323 [clear]: Link to PR 56166.
324 [swap]: Link to PR 58265.
325 * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
326 _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
327 operator--, operator+=, operator+, operator-=, operator-, operator[],
328 _M_set_node]: Mark as noexcept.
329 (operator==(const _Deque_iterator&, const _Deque_iterator&),
330 operator!=(const _Deque_iterator&, const _Deque_iterator&),
331 operator<(const _Deque_iterator&, const _Deque_iterator&),
332 operator>(const _Deque_iterator&, const _Deque_iterator&),
333 operator<=(const _Deque_iterator&, const _Deque_iterator&),
334 operator>=(const _Deque_iterator&, const _Deque_iterator&),
335 operator-(const _Deque_iterator&, const _Deque_iterator&),
336 operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
337 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
338 _M_initialize_map.
339 [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
340 Mark as noexcept.
341 (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
342 _Deque_impl(_Tp_alloc_type&&)]: Likewise.
343 (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
344 front, back, pop_front, pop_back, swap]: Likewise.
345 [deque(), deque(const allocator_type&)]: Merge.
346 * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
347 operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
348 * include/profile/deque (deque) [operator=(deque&&), operator[], front,
349 back, pop_front, pop_back, swap]: Likewise.
350 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
351 Adjust line number.
352 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
353 Likewise.
354 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
355 Likewise.
356 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
357 Likewise.
358
3cbe17f7
AM
3592013-09-20 Alan Modra <amodra@gmail.com>
360
361 * configure: Regenerate.
362
0e1a966a
MG
3632013-09-19 Marc Glisse <marc.glisse@inria.fr>
364
365 PR libstdc++/58338
366 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
367 Mark as noexcept.
368 (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
369 operator++, operator--, operator==, operator!=]: Likewise.
370 (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
371 operator*, operator->, operator++, operator--, operator==, operator!=]:
372 Likewise.
373 (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
374 operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
375 Likewise.
376 (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
377 _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
378 _S_maximum]: Likewise.
379 * include/debug/string (basic_string) [basic_string(const _Allocator&),
380 shrink_to_fit, operator[], pop_back]: Likewise.
381 * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
382 _M_ibegin, _M_iend, __versa_string(const _Alloc&),
383 operator=(__versa_string&&), shrink_to_fit, operator[], front,
384 back, assign(__versa_string&&), swap]: Likewise.
385 (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
386 Merge.
387
b4efa80e
MG
3882013-09-18 Marc Glisse <marc.glisse@inria.fr>
389
390 PR libstdc++/58338
391 * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
392 _M_const_cast, operator*, operator->, operator++, operator--,
393 operator[], operator+=, operator+, operator-=, operator-, base]:
394 Mark as noexcept.
395 (operator==(const __normal_iterator&, const __normal_iterator&),
396 operator!=(const __normal_iterator&, const __normal_iterator&),
397 operator<(const __normal_iterator&, const __normal_iterator&),
398 operator>(const __normal_iterator&, const __normal_iterator&),
399 operator<=(const __normal_iterator&, const __normal_iterator&),
400 operator>=(const __normal_iterator&, const __normal_iterator&),
401 operator-(const __normal_iterator&, const __normal_iterator&),
402 operator+(difference_type, const __normal_iterator&)): Likewise.
403 * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
404 Likewise.
405 (list::_M_check_equal_allocators): Abort instead of throwing.
406 * include/debug/array (array) [operator[], front, back]: Mark as
407 noexcept.
408 * include/profile/array (array) [operator[], front, back]: Likewise.
409 * include/std/array (array) [operator[], front, back]: Likewise.
410 * include/debug/list (list::splice): Likewise.
411 * include/profile/list (list::splice): Likewise.
412 * testsuite/23_containers/list/operations/5.cc: Remove file.
413 * testsuite/23_containers/list/operations/5.h: Likewise.
414
b21abcee
TS
4152013-09-18 Tim Shen <timshen91@gmail.com>
416
417 * include/bits/regex.h: Add friend classes.
418 (match_results<>::position, regex_iterator<>::operator++):
419 Implement position specification in regex_iterator.
420 (regex_match<>, regex_search<>):
421 Move match_results initializations to these function. Remove `todo`.
422 * include/bits/regex_compiler.tcc:
423 (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
424 * include/bits/regex_constants.h:
425 Fix indentation. Change match_flag_type to enum type.
426 * include/bits/regex_executor.h:
427 Merge identical code to the base class _Executor.
428 Support flags in regex_constants.
429 * include/bits/regex_executor.tcc: Likewise.
430 * include/bits/regex_scanner.h: Add comments.
431 * include/bits/regex_scanner.tcc: Same.
432 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
433 Add a testcase.
434 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
435 * testsuite/28_regex/iterators/regex_iterator/char/
436 string_position_01.cc: Remove `xfail`.
437 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
438 Remove `xfail` and make the case really work.
439
64bc8861
PC
4402013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
441
442 * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
443
837bf511
MG
4442013-09-18 Marc Glisse <marc.glisse@inria.fr>
445
446 PR libstdc++/58338
447 * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
448 noexcept.
449 * include/bits/stl_list.h (_List_iterator) [_List_iterator,
450 _M_const_cast, operator*, operator->, operator++, operator--,
451 operator==, operator!=]: Likewise.
452 (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
453 operator->, operator++, operator--, operator==, operator!=]: Likewise.
454 (operator==(const _List_iterator&, const _List_const_iterator&),
455 operator!=(const _List_iterator&, const _List_const_iterator&)):
456 Likewise.
457 (_List_impl) [_List_impl(const _Node_alloc_type&),
458 _List_impl(_Node_alloc_type&&)]: Likewise.
459 (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
460 _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
461 (list) [list(), list(const allocator_type&)]: Merge.
462 (list) [list(const allocator_type&), front, back, pop_front, pop_back,
463 erase, _M_erase]: Mark as noexcept.
464 * include/debug/list (list) [list(const _Allocator&), front, back,
465 pop_front, pop_back, _M_erase, erase]: Likewise.
466 * include/profile/list (list) [list(const _Allocator&), front, back,
467 pop_front, pop_back, erase]: Likewise.
468 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
469 Adjust line number.
470 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
471 Likewise.
472 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
473 Likewise.
474 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
475 Likewise.
476
757b1644
MG
4772013-09-17 Marc Glisse <marc.glisse@inria.fr>
478
479 PR libstdc++/58338
480 * include/bits/stl_vector.h (vector::vector(),
481 vector::vector(const allocator_type&)): Merge.
482 (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
483 _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
484 _Vector_impl::_M_swap_data,
485 _Vector_base::_Vector_base(const allocator_type&),
486 _Vector_base::_Vector_base(allocator_type&&),
487 _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
488 vector::vector(const allocator_type&), vector::operator[],
489 vector::operator[] const, vector::front, vector::front const,
490 vector::back, vector::back const, vector::pop_back,
491 vector::_M_erase_at_end): Mark as noexcept.
492 * include/debug/vector (vector::vector(const _Allocator&),
493 vector::operator[], vector::operator[] const, vector::front,
494 vector::front const, vector::back, vector::back const, vector::pop_back,
495 _M_requires_reallocation, _M_update_guaranteed_capacity,
496 _M_invalidate_after_nth): Mark as noexcept.
497 * include/profile/vector (vector::vector(const _Allocator&),
498 vector::operator[], vector::operator[] const, vector::front,
499 vector::front const, vector::back, vector::back const): Mark as
500 noexcept.
501 (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
502 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
503 Adjust line number.
504 * testsuite/23_containers/vector/requirements/dr438/
505 constructor_1_neg.cc: Likewise.
506 * testsuite/23_containers/vector/requirements/dr438/
507 constructor_2_neg.cc: Likewise.
508 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
509 Likewise.
510
7b86458e
TS
5112013-09-14 Tim Shen <timshen91@gmail.com>
512
513 * include/bits/regex.h (regex_match<>, regex_search<>):
514 Change regex_executor caller. Now use their return value instead
515 of checking __m[0].matched to find out if it's successful.
516 (regex_search<>): Move the search logic to regex_executor.
517 * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
518 _NFA::_M_insert_*.
519 * include/bits/regex_automaton.tcc: Add DEBUG dump for new
520 _Opcode. Refactor _NFA::_M_insert_*.
521 * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
522 Use make_shared instead of construct by hand.
523 * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
524 * include/bits/regex_constants.h: Fix indentation and line breaking.
525 * include/bits/regex_executor.h: Add _ResultsEntry to support
526 greedy/ungreedy mode. Move regex_search logic here.
527 * include/bits/regex_executor.tcc: Implement assertions and
528 greedy/ungreedy matching.
529 * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
530 * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
531 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
532 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
533 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
534 Fix comment.
535
4f038754
PC
5362013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
537
538 PR libstdc++/58415
539 * include/ext/sso_string_base.h (__sso_string_base<>::
540 __sso_string_base(__sso_string_base&&)): Fix thinkos about
541 _M_length vs _M_set_length.
542 * testsuite/ext/vstring/cons/58415-1.cc: New.
543 * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
544
274ddab6
PC
5452013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
546
547 PR libstdc++/58403
548 * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
549 operator+=, operator+, operator-=, operator-): Take the argument
550 by value.
551 * testsuite/24_iterators/normal_iterator/58403.cc: New.
552
4b47d655
MK
5532013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
554 Chris Jefferson <chris@bubblescope.net>
555
556 PR libstdc++/58358
557 * include/bits/stl_algo.h (search_n): Fix to guarantee a number
558 of comparisons <= number of elements in the range.
559 * testsuite/25_algorithms/search_n/58358.cc: New.
560 * testsuite/25_algorithms/search_n/iterator.cc: Extend.
561
df7d9dfd
ESR
5622013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
563
564 * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
565 from char to wchar_t, literals from 'x' to L'x'.
566
6da10826
KT
5672013-09-10 Kai Tietz <ktietz@redhat.com>
568
1329f0c4 569 PR libstdc++/54314
6da10826
KT
570 * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
571 like in gnu.ver.
572
9a7fb488
PC
5732013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
574
575 PR libstdc++/58341
576 * include/bits/stl_algobase.h (copy_backward): Fix documentation
577 per DR 1206.
578
7c812a2a
TS
5792013-09-05 Tim Shen <timshen91@gmail.com>
580
581 * include/bits/regex_automaton.h: Add dummy node type. Rewrite
582 _StateSeq.
583 * include/bits/regex_automaton.tcc: Implement them.
584 * include/bits/regex_compiler.h: Rewrite _Compiler to use new
585 _StateSeq interfaces.
586 * include/bits/regex_compiler.tcc: Implement them.
587 * include/bits/regex_scanner.h: Add word boundry assertion token.
588 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
589 Support word boundry.
590 * testsuite/28_regex/algorithms/regex_match/basic/
591 string_range_02_03.cc: Remove "xfail".
592 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
593 Likewise.
594 * testsuite/28_regex/algorithms/regex_match/extended/
595 string_range_02_03.cc: Likewise.
596 * testsuite/28_regex/algorithms/regex_match/extended/
597 cstring_questionmark.cc: Remove xfail and get correct length of
598 c-string.
599 * testsuite/28_regex/algorithms/regex_match/extended/
600 string_range_00_03.cc: Likewise.
601 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
602 New.
603 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
604 New.
605 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
606
e5fbc9fc
PC
6072013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
608
609 PR libstdc++/58302
610 * include/bits/random.tcc (negative_binomial_distribution<>::
7c812a2a 611 operator()(_UniformRandomNumberGenerator&, const param_type&)):
e5fbc9fc
PC
612 Fix typo in template argument.
613 * testsuite/26_numerics/random/negative_binomial_distribution/
614 operators/58302.cc: New.
615
e3509691
TS
6162013-09-02 Tim Shen <timshen91@gmail.com>
617
618 * regex_automaton.h: Rearrange _NFA's layout.
619 * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
a10bad86
CJ
620 Rearrange _BracketMatcher's layout.
621 (_BracketMatcher<>::_M_add_char): Use set instead of vector for
622 _M_char_set.
623 (_BracketMatcher<>::_M_add_collating_element): Likewise.
624 (_BracketMatcher<>::_M_make_range): Likewise.
e3509691 625 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
a10bad86 626 appropriate constructors of matchers above.
e3509691 627 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
a10bad86 628 New.
e3509691
TS
629 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
630 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
a10bad86 631 New.
e3509691 632 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
a10bad86 633 New.
e3509691
TS
634 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
635 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
a10bad86 636 New.
e3509691
TS
637 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
638
32bb816a
FD
6392013-08-30 François Dumont <fdumont@gcc.gnu.org>
640
641 PR libstdc++/58148
642 * include/debug/functions.h (__foreign_iterator_aux4): Use
643 sequence const_pointer as common type to compare pointers. Add a
644 fallback overload in case pointers cannot be cast to sequence
645 const_pointer.
646 * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
647
8915a229
FD
6482013-08-30 François Dumont <fdumont@gcc.gnu.org>
649
650 PR libstdc++/58191
651 * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
652 __gnu_debug::__base calls on iterators passed to internal debug
653 check.
654 (__glibcxx_check_partitioned_lower_pred): Likewise.
655 (__glibcxx_check_partitioned_upper): Likewise.
656 (__glibcxx_check_partitioned_upper_pred): Likewise.
657 (__glibcxx_check_sorted): Likewise.
658 (__glibcxx_check_sorted_pred): Likewise.
659 (__glibcxx_check_sorted_set): Likewise.
660 (__glibcxx_check_sorted_set_pred): Likewise.
661 * include/debug/functions.h (__check_partitioned_lower):
662 Remove code to detect safe iterators.
663 (__check_partitioned_upper): Likewise.
664 (__check_sorted): Likewise.
665
9222fb6f
TS
6662013-08-29 Tim Shen <timshen91@gmail.com>
667
668 * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
a10bad86
CJ
669 (regex_iterator<>::regex_iterator): Return nullptr when regex_search
670 failed.
671 (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
672 _M_result is(not isn't) nullptr.
9222fb6f 673 * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
a10bad86 674 instead of by value.
9222fb6f 675 * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
a10bad86 676 _M_traits to _DFSExecutor.
9222fb6f 677 * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
a10bad86 678 _DFSExecutor too.
9222fb6f 679 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
a10bad86 680 New.
9222fb6f 681 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
a10bad86 682 wstring_02.cc: New.
9222fb6f 683
33fbbb76
TS
6842013-08-26 Tim Shen <timshen91@gmail.com>
685
686 * include/Makefile.am: Add regex_scanner.{h,tcc}.
687 * include/Makefile.in: Regenerate.
688 * include/bits/regex.h (match_search): Handle the `__first == __last`
a10bad86 689 situation correctly.
33fbbb76
TS
690 * include/bits/regex_compiler.h: Move _Scanner...
691 * include/bits/regex_scanner.h: ...to here. New.
692 * include/bits/regex_compiler.tcc: Move _Scanner...
693 * include/bits/regex_scanner.tcc: ...to here, too. New.
694 * include/bits/regex_executor.tcc: Use value instead of reference for
a10bad86 695 submatch.
33fbbb76
TS
696 * include/std/regex: Add regex_scanner.h
697 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
698 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
699 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
700 * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
701 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
702
e280b6ff
TS
7032013-08-22 Tim Shen <timshen91@gmail.com>
704
705 * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
706 * include/bits/regex_automaton.h: Same.
707 * include/bits/regex_automaton.tcc: Same.
708 * include/bits/regex_compiler.h: Same.
709 * include/bits/regex_compiler.tcc: Same.
710 * include/bits/regex_constants.h: Same.
711 * include/bits/regex_executor.h: Same.
712 * include/bits/regex_executor.tcc: Same.
713
1b488e33
TS
7142013-08-22 Tim Shen <timshen91@gmail.com>
715
716 * include/bits/regex.h: Executor caller.
717 * include/bits/regex_executor.h: Fix empty grouping problem.
718 * include/bits/regex_executor.tcc: Same.
719 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
720 New.
721
c77efe8f
PM
7222013-08-20 Phil Muldoon <pmuldoon@redhat.com>
723
724 PR libstdc++/53477
725 http://sourceware.org/bugzilla/show_bug.cgi?id=15195
726
727 * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
728 is a reference, fetch referenced value.
729 (RxPrinter.invoke): Ditto.
730 * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
731 flag. Add referenced value tests.
732
f6f0407c
TS
7332013-08-20 Tim Shen <timshen91@gmail.com>
734
735 * include/bits/regex_constants.h: Add underlying `unsigned int` for
736 enum syntax_option_type.
737
ce645eb0
TS
7382013-08-18 Tim Shen <timshen91@gmail.com>
739
740 * include/bits/regex_automaton.h: _S_opcode_backref.
741 * include/bits/regex_automaton.tcc: Backref automaton support.
742 * include/bits/regex_compiler.tcc: Parsing support.
743 * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
744 * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
745 * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
746
5073d509
TS
7472013-08-16 Tim Shen <timshen91@gmail.com>
748
749 * include/bits/regex.h (regex_traits<>::transform_primary):
750 Avoid past-the-end dereferences.
751
56b5d3b4
PC
7522013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
753
754 PR libstdc++/58163
755 * include/bits/basic_string.h (basic_string<>::operator[]): Fix
756 _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
757 * include/ext/vstring.h: Likewise.
758 * testsuite/21_strings/basic_string/element_access/char/58163.cc:
759 New.
760 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
761 Likewise.
762 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
763 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
764
346334d2
UB
7652013-08-14 Uros Bizjak <ubizjak@gmail.com>
766
b5ff10f3
UB
767 * src/c++98/compatibility.cc (_ZTIe): Use
768 reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
346334d2
UB
769 (_ZTIPe): Ditto.
770 (ZTIPKe): Ditto.
771
6646d624
TS
7722013-08-09 Tim Shen <timshen91@gmail.com>
773
774 * include/bits/regex_constants.h: Change syntax_option_type to enum
775 type.
776
374cf165
RO
7772013-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
778
346334d2 779 * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
374cf165 780
b09bcf83
FD
7812013-08-08 François Dumont <fdumont@gcc.gnu.org>
782
783 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
784 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
785 _Hashtable.
786 (_Before_begin<>): Remove.
787 * include/bits/hashtable.h (_Hashtable): Inherit from
788 _Hashtable_alloc and adapt. Restore _M_before_begin field.
789 * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
790 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
791 access to hashtable before begin.
792 * testsuite/23_containers/unordered_set/
793 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
794 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
795 Likewise.
796
6cb784b6
TS
7972013-08-07 Tim Shen <timshen91@gmail.com>
798
799 * include/Makefile.am: Adjust to new files.
800 * include/Makefile.in: Regenerate.
801 * include/bits/regex.h: Adjust to new interfaces.
802 * include/bits/regex_automaton.h: New.
803 * include/bits/regex_automaton.tcc: New.
804 * include/bits/regex_compiler.h: Adjust to new files.
805 * include/bits/regex_compiler.tcc: New.
806 * include/bits/regex_constants.h: Tail spaces.
807 * include/bits/regex_error.h: Likewise.
808 * include/bits/regex_executor.h: New.
809 * include/bits/regex_executor.tcc: New.
810 * include/std/regex: Adjust to new files.
811 * testsuite/28_regex/algorithms/regex_match/extended/
812 string_dispatch_01.cc: Adjust to new interfaces.
813
aeb1f2be
PC
8142013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
815
816 * include/ext/atomicity.h: Add #pragma GCC system_header.
817
a803975d
PC
8182013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
819
820 PR libstdc++/58098
821 * include/bits/random.h (cauchy_distribution<>::min,
822 extreme_value_distribution<>::min, normal_distribution<>::min,
823 student_t_distribution<>::min): Fix.
824 * include/ext/random (normal_mv_distribution<>::min): Likewise.
825 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
826 Adjust.
827 testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
828 Likewise.
829 * testsuite/26_numerics/random/extreme_value_distribution/cons/
830 parms.cc: Likewise.
831 testsuite/26_numerics/random/extreme_value_distribution/cons/
832 default.cc: Likewise.
833 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
834 Likewise.
835 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
836 Likewise.
837 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
838 Likewise.
839 * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
840 Likewise.
841 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
842 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
843
844 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
845 Minor tweak.
846 * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
847 Likewise.
848
849 * testsuite/ext/von_mises_distribution/*: Move to...
850 * testsuite/ext/random/von_mises_distribution/*: ... here.
851 * testsuite/ext/triangular_distribution/*: Move to...
852 * testsuite/ext/random/triangular_distribution/*: ... here.
853
2077db1b
CT
8542013-08-06 Caroline Tice <cmtice@google.com>
855
856 * fragment.am: Add XTEMPLATE_FLAGS.
857 * configure.ac: Add definitions for --enable-vtable-verify.
858 * acinclude.m4: Add --enable-vtable-verify and
859 --disable-vtable-verify; define --enable-vtable-verify; define
860 VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
861 * config/abi/pre/gnu.ver: Export symbols for vtable verification.
862 * libsupc++/Makefile.am: Define vtv_sources and add it to
863 libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
864 * libsupc++/vtv_stubs.cc: New file.
865 * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
866 * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
867 VTV_CXXLINKFLAGS to CXXLINK.
868 * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
869 to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
870 * src/C++11/Makefile.am: Ditto.
871 * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
872 * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
873 cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
874 * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
875 libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
876 cxxvtvflags to cxx_final.
877 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
878 -fvtable-verify=none to compiler flags.
879 * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
880 to compiler flags.
881 * configure: Regenerated.
882 * Makefile.in: Regenerated.
883 * python/Makefile.in: Regenerated.
884 * include/Makefile.in: Regenerated.
885 * libsupc++/Makefile.in: Regenerated.
886 * config.h.in: Regenerated.
887 * po/Makefile.in: Regenerated.
888 * src/Makefile.in: Regenerated.
889 * src/c++98/Makefile.in: Regenerated.
890 * src/c++11/Makefile.in: Regenerated.
891 * doc/Makefile.in: Regenerated.
892 * testsuite/Makefile.in: Regenerated.
893
6ffd1096
PC
8942013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
895
896 Revert the last commit.
897
a3d4b3d7
FD
8982013-08-06 François Dumont <fdumont@gcc.gnu.org>
899
900 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
901 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
902 _Hashtable.
903 (_Before_begin<>): Remove.
904 * include/bits/hashtable.h (_Hashtable): Inherit from
905 _Hashtable_alloc and adapt. Restore _M_before_begin field.
906 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
907 access to hashtable before begin.
908 * testsuite/23_containers/unordered_set/
909 not_default_constructible_hash_neg.cc: Adapt dg-error line number.
910 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
911 Likewise.
912
399eeef9
TS
9132013-08-03 Tim Shen <timshen91@gmail.com>
914
915 Implement bracket expression.
916 * include/bits/regex.h: Remove constexpr from "|=", etc.
917 * include/bits/regex_compiler.h: Parse bracket expression.
918 * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
919 _RangeMatcher).
920 * include/bits/regex_nfa.tcc: Implement them.
921 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
922 from regex_search to regex_match.
923 * testsuite/28_regex/algorithms/regex_match/extended/
924 cstring_bracket_01.cc: New.
925
7dec245a
PC
9262013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
927
928 * include/debug/functions.h (__foreign_iterator_aux4):
929 Initialize __l and __ge.
930
a1a0abac
PC
9312013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
932
933 PR libstdc++/58049
934 * include/debug/functions.h: Include <bits/move.h>; minor formatting
935 changes.
936 (__foreign_iterator_aux4): Declare __l and __ge constexpr.
937 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
938 Use __addressof.
939 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
940 operator->): Likewise.
941
5720787a
FD
9422013-08-01 François Dumont <fdumont@gcc.gnu.org>
943
944 PR libstdc++/57779
945 * include/debug/formatter.h (_Debug_msg_id): Add
946 __msg_insert_itself_range entry.
947 * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
948 New, indicate container types supporting self range insertion in
949 GNU implementation.
950 (__foreign_iterator): New, check if an iterator points to a given
951 sequence.
952 * include/debug/macros.h (__glibcxx_check_insert_range): Add check
953 using __foreign_iterator.
954 (__gibcxx_check_insert_range_after): Likewise.
955 * include/debug/string (_Insert_range_from_self_is_safe<>):
956 Partially specialized to mark __gnu_debug::basic_string<> as
957 supporting self range insert.
958 * include/debug/list (_Insert_range_from_self_is_safe<>):
959 Partially specialized to mark std::list as supporting self range
960 insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
961 * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
962 Likewise.
963 * src/c++11/debug.cc (_S_debug_messages): Add
964 __msg_insert_itself_range_entry message.
965 (_Error_formatter::_Parameter::_M_print_description): Display
966 iterator sequence address rather than sequence address when the
967 parameter type is an iterator.
968 (_Error_formatter::_M_print_word): Enhance behavior when
969 displaying a word with an appended '\n'.
970 * testsuite/util/debug/checks.h (check_insert4<>): New.
971 * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
972 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
973 * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
974 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
975 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
976 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
977 Likewise.
978
fb23b69e
FC
9792013-08-01 Fabien Chêne <fabien@gcc.gnu.org>
980
981 PR c++/54537
982 * include/tr1/cmath: Remove pow(double,double) overload, remove a
983 duplicated comment about DR 550. Add a comment to explain the
984 issue.
985 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
986
95c7d828
TS
9872013-07-31 Tim Shen <timshen91@gmail.com>
988
989 Thompson matcher refactored. Fix grouping problem.
990 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
991 * include/bits/regex_compiler.h: Tweak for auto switching.
992 * include/bits/regex_grep_matcher.h: Class structure.
993 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
994 matcher) refactoring.
995 * include/bits/regex_nfa.h: Change _Results's interfaces.
996 * include/std/regex: Includes <map> and <queue>.
997 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
998 For both matchers.
999 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1000 For both matchers.
1001 * testsuite/28_regex/algorithms/regex_match/extended/
1002 string_dispatch_01.cc: New.
1003
4333e4dc
PC
10042013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
1005
1006 PR libstdc++/56627
1007 * include/bits/stl_bvector.h: Use friend struct hash intead of
1008 friend class hash to work around useless warnings produced by
1009 some compilers.
1010 * include/std/bitset: Likewise.
1011
a781834e
PC
10122013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
1013
1014 * src/c++11/functexcept.cc: Do not include the whole <regex>.
1015 * src/c++11/regex.cc: Likewise.
1016
11510532
TS
10172013-07-31 Tim Shen <timshen91@gmail.com>
1018
1019 Revert last commit.
1020
abf1719e
TS
10212013-07-31 Tim Shen <timshen91@gmail.com>
1022
1023 Thompson matcher refactored. Fix grouping problem.
1024 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1025 * include/bits/regex_compiler.h: Tweak for auto switching.
1026 * include/bits/regex_grep_matcher.h: Class structure.
1027 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1028 matcher) refactoring.
1029 * include/bits/regex_nfa.h: Change _Results's interfaces.
1030 * include/std/regex: Includes <map> and <queue>.
1031 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1032 For both matchers.
1033 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1034 For both matchers.
1035 * testsuite/28_regex/algorithms/regex_match/extended/
1036 string_dispatch_01.cc: New.
1037
5034aa21
PC
10382013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
1039
1040 Revert last commit.
1041
a6dc77bc
TS
10422013-07-30 Tim Shen <timshen91@gmail.com>
1043
1044 Thompson matcher refactored. Fix grouping problem.
1045 * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1046 * include/bits/regex_compiler.h: Tweak for auto switching.
1047 * include/bits/regex_grep_matcher.h: Class structure.
1048 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1049 matcher) refactoring.
1050 * include/bits/regex_nfa.h: Change _Results's interfaces.
1051 * include/std/regex: Includes <map> and <queue>.
1052 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1053 For both matchers.
1054 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1055 For both matchers.
5034aa21
PC
1056 * testsuite/28_regex/algorithms/regex_match/extended/
1057 string_dispatch_01.cc: New.
a6dc77bc 1058
272827e4
NF
10592013-07-29 Nathan Froyd <froydnj@gcc.gnu.org>
1060
1061 * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
1062 Add call to __cmpexch_failure_order.
1063 * testsuite/util/testsuite_common_types.h
1064 (compare_exchange_order_lowering): New generator.
1065 * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
1066 New test.
1067
4e30cb71
PC
10682013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
1069
1070 * include/std/complex (pow(const complex<>&, int)): Enable in
1071 C++11 mode too.
1072 * testsuite/26_numerics/complex/dr844.cc: Adjust.
1073 * doc/xml/manual/intro.xml: Update.
1074
105164bb
TS
10752013-07-25 Tim Shen <timshen91@gmail.com>
1076
1077 Add documents and comments.
1078 * include/bits/regex.h: Documents and comments.
1079 * include/bits/regex_grep_matcher.h: Likewise.
1080 * include/bits/regex_grep_matcher.tcc: Likewise.
4e30cb71
PC
1081 * testsuite/28_regex/iterators/regex_iterator/char/
1082 string_position_01.cc: New.
105164bb 1083
484b502a
PC
10842013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
1085
1086 PR libstdc++/57976
1087 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
1088 time_get::do_get.
1089
821f6f1b
PC
10902013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
1091
1092 * include/bits/random.h (random_device): Avoid using the FILE type.
1093 * include/std/random: Do not include <cstdio>.
1094 * src/c++11/random.cc: ... include it here.
1095 (random_device::_M_init, random_device::_M_fini,
1096 random_device::_M_getval): Cast back and forth void* and FILE*.
1097
37c74e28
TS
10982013-07-24 Tim Shen <timshen91@gmail.com>
1099
1100 Reimplment matcher using Depth-first search(backtracking).
1101 PR libstdc++/53622
1102 PR libstdc++/57173
1103 * include/bits/regex.h: regex_match() and regex_search().
1104 * include/bits/regex_cursor.h: Fix _M_set_pos().
1105 * include/bits/regex_grep_matcher.h: add _M_dfs_match().
1106 * include/bits/regex_grep_matcher.tcc: Implement it.
b698d310
TS
1107 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
1108 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
37c74e28
TS
1109 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
1110 Remove xfail.
1111
407a0fa3
TS
11122013-07-23 Tim Shen <timshen91@gmail.com>
1113
1114 Implement regex_iterator and regex_token_iterator.
1115 * include/bits/regex.h: regex_iterator and regex_token_iterator.
1116 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
1117 New.
1118 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
1119 New.
1120 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
1121 New.
821f6f1b
PC
1122 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1123 string_01.cc: New.
407a0fa3 1124
3c68decc
PC
11252013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
1126
1127 * include/std/random: Add back <cstdio> include.
1128 * src/c++11/random.cc: Don't include <cstdio> here.
1129
16a1d8fe
JM
11302013-07-22 Jason Merrill <jason@redhat.com>
1131
1132 PR libstdc++/57914
1133 * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
1134
94e7477f
PC
11352013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
1136
1137 PR c++/57920
1138 * src/c++11/random.cc (random_device::_M_getval): If possible, use
1139 read instead of std::fread.
1140 * include/std/random: Do not include <cstdio> unnecessarily.
1141
603c431f
TS
11422013-07-21 Tim Shen <timshen91@gmail.com>
1143
1144 Partially implement regex_search.
1145 * include/bits/regex.h: regex_search.
1146 * include/bits/regex_grep_matcher.h: _M_search_from_first.
1147 * include/bits/regex_grep_matcher.tcc: Implement it.
1148 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
1149
3429db0f
JW
11502013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com>
1151
1152 PR libstdc++/54352
1153 * include/std/condition_variable (condition_variable_any): Move into
1154 inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
1155 * src/c++11/condition_variable.cc (condition_variable_any): Move
1156 definitions to ...
1157 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
1158 * src/Makefile.am: Add new source file.
1159 * src/Makefile.in: Regenerate.
1160
b3ebe3d0
TS
11612013-07-09 Tim Shen <timshen91@gmail.com>
1162
1163 Implement class regex_traits.
1164 * include/bits/regex.h: Implement lookup_classname and
1165 lookup_collatename; modify isctype; partially implement
1166 transform_primary.
1167 * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
1168 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
1169 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
1170 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
1171 * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
1172 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
1173 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
1174 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
1175
c8dfadf8
ESR
11762013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net>
1177
1178 * doc/xml/manual/status_cxx2014.xml: Add links for papers.
1179
b3abc9d8
FD
11802013-07-05 François Dumont <fdumont@gcc.gnu.org>
1181
1182 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
1183 pattern.
1184 (_MoveReuseOrAllocNode): Remove.
1185 (_Insert_base): Take a functor defining how the node is generated.
1186 * include/bits/hashtable.h: Adapt.
1187 (operator=(initializer_list<value_type>)): Reuse node if any.
1188 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1189 Adjust dg-error line number.
1190 * testsuite/23_containers/unordered_set/
1191 not_default_constructible_hash_neg.cc: Likewise.
1192
110374e4
PC
11932013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
1194
1195 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1196 Tweak, avoid potential undefined behavior.
1197 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1198 Likewise.
1199 * testsuite/23_containers/vector/bool/modifiers/insert/
1200 const_iterator.cc: Likewise.
1201 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1202 Likewise.
1203
1d77bc54
VL
12042013-07-04 Veres Lajos <vlajos@gmail.com>
1205 Jonathan Wakely <jwakely.gcc@gmail.com>
1206
1207 * config/locale/generic/codecvt_members.cc: Fix typo.
1208 * configure.host: Likewise.
1209 * doc/html/manual/policy_data_structures_design.html: Likewise.
1210 * doc/xml/manual/policy_data_structures.xml: Likewise.
1211 * include/bits/hashtable.h: Likewise.
1212 * include/bits/random.h: Likewise.
1213 * include/profile/impl/profiler_trace.h: Likewise.
1214 * testsuite/23_containers/deque/cons/2.cc: Likewise.
1215 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
1216 * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
1217 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1218
b727d9c4
RC
12192013-07-04 Ray Chason <chasonr@newsguy.com>
1220 Paolo Carlini <paolo.carlini@oracle.com>
1221
1222 PR libstdc++/57808
1223 * include/bits/regex.h (regex_token_iterator<>::operator==,
1224 regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
1225 regex_token_iterator<>::operator->): Declare const.
1226
019fdb79
PC
12272013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
1228
1229 * include/bits/stl_list.h (list<>::insert(iterator,
1230 size_type, const value_type&), list<>::insert(iterator,
1231 initializer_list<>), list<>::insert(iterator, _InputIterator,
1232 _InputIterator), list<>::splice(iterator, list&&),
1233 list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
1234 iterator), list<>::splice(iterator, list&, iterator),
1235 list<>::splice(iterator, list&&, iterator, iterator),
1236 list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
1237 signatures to take const_iterator(s).
1238 * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
1239 const value_type&), list<>::insert(const_iterator, _InputIterator,
1240 _InputIterator)): Define.
1241 * include/ext/vstring.h (__versa_string<>::insert(iterator,
1242 size_type, _CharT), __versa_string<>::insert(iterator,
1243 _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
1244 std::initializer_list<>), __versa_string<>::replace(iterator,
1245 iterator, _InputIterator, _InputIterator), __versa_string<>::
1246 replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
1247 signatures to take const_iterator(s).
1248 (__versa_string<>::_M_replace_dispatch): Take const_iterators.
1249 * include/ext/vstring.tcc: Likewise.
1250 * include/debug/list: Adjust.
1251 * include/profile/list: Likewise.
1252 * testsuite/23_containers/list/operations/splice/const_iterator.cc:
1253 New.
1254 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1255 Extend.
1256 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1257 Likewise.
1258 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1259 Likewise.
1260 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1261 Likewise.
1262 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1263 Likewise.
1264
1265 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1266 Adjust dg-error line number.
1267 * testsuite/23_containers/list/requirements/dr438/
1268 constructor_1_neg.cc: Likewise.
1269 * testsuite/23_containers/list/requirements/dr438/
1270 constructor_2_neg.cc: Likewise.
1271 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1272 Likewise.
1273
06eed9f5
PC
12742013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1275
1276 * include/bits/stl_deque.h (deque<>::insert(iterator,
1277 size_type, const value_type&), deque<>::insert(iterator,
1278 initializer_list<>), deque<>::insert(iterator, _InputIterator,
1279 _InputIterator)): Adjust C++11 signatures to take a const_iterator.
1280 * include/bits/stl_vector.h: Likewise.
1281 * include/bits/stl_bvector.h: Likewise.
1282 * include/debug/deque: Adjust.
1283 * include/debug/vector: Likewise.
1284 * include/profile/deque: Likewise.
1285 * include/profile/vector: Likewise.
1286 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1287 Extend.
1288 * testsuite/23_containers/vector/bool/modifiers/insert/
1289 const_iterator.cc: Likewise.
1290 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1291 Likewise.
1292
1293 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1294 Adjust dg-error line number.
1295 * testsuite/23_containers/deque/requirements/dr438/
1296 constructor_1_neg.cc: Likewise.
1297 * testsuite/23_containers/deque/requirements/dr438/
1298 constructor_2_neg.cc: Likewise.
1299 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1300 Likewise.
1301 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1302 Likewise.
1303 * testsuite/23_containers/vector/requirements/dr438/
1304 constructor_1_neg.cc: Likewise.
1305 * testsuite/23_containers/vector/requirements/dr438/
1306 constructor_2_neg.cc: Likewise.
1307 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1308 Likewise.
1309
b1eb497f
FD
13102013-06-29 François Dumont <fdumont@gcc.gnu.org>
1311
1312 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
1313 insert methods.
1314 * include/bits/hashtable.h: Likewise.
1315 * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
1316 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
1317 New.
1318 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1319 Adjust dg-error line number.
1320 * testsuite/23_containers/unordered_set/
1321 not_default_constructible_hash_neg.cc: Likewise.
1322 * doc/xml/manual/containers.xml: Document hinting in unordered
1323 containers.
1324
e8f24c86
PC
13252013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1326
1327 * testsuite/21_strings/basic_string/operations/*: Move inside
1328 testsuite/21_strings/basic_string/operations/data/.
1329 * testsuite/21_strings/basic_string/compare/*: Move inside
1330 testsuite/21_strings/basic_string/operations/.
1331 * testsuite/21_strings/basic_string/find/*: Likewise.
1332 * testsuite/21_strings/basic_string/rfind/*: Likewise.
1333 * testsuite/21_strings/basic_string/substr/*: Likewise.
1334
17ee10db
PC
13352013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1336
1337 * testsuite/21_strings/basic_string/append/*: Move inside
1338 testsuite/21_strings/basic_string/modifiers/.
1339 * testsuite/21_strings/basic_string/assign/*: Likewise.
1340 * testsuite/21_strings/basic_string/insert/*: Likewise.
1341 * testsuite/21_strings/basic_string/replace/*: Likewise.
1342 * testsuite/21_strings/basic_string/modifiers/pop_back/char/
1343 pop_back.cc: Rename to 1.cc.
1344 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
1345 pop_back.cc: Likewise.
1346 * testsuite/ext/vstring/assign/*: Move inside
1347 testsuite/ext/vstring/modifiers/.
1348
7b61c5a9
PC
13492013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
1350
1351 * include/bits/stl_deque.h (deque<>::insert(iterator,
1352 const value_type&), deque<>::insert(iterator, value_type&&),
1353 deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
1354 take a const_iterator.
1355 (deque<>::erase): Simplify.
1356 * include/bits/stl_list.h: Likewise.
1357 (_List_iterator<>::_M_const_cast): Add.
1358 * include/bits/stl_vector.h: Likewise.
1359 * include/bits/stl_bvector.h: Likewise.
1360 (_Bit_iterator::_M_const_cast): Add.
1361 * include/bits/deque.tcc: Adjust definitions.
1362 * include/bits/list.tcc: Likewise.
1363 * include/bits/vector.tcc: Likewise.
1364 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1365 Define trivial version in C++98 mode.
1366 * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
1367 __versa_string<>::replace(iterator, iterator, const __versa_string&),
1368 __versa_string<>::replace(iterator, iterator, const _CharT*,
1369 size_type), __versa_string<>::replace(iterator, iterator,
1370 const _CharT*), __versa_string<>::replace(iterator, iterator,
1371 size_type, _CharT)): Adjust C++11 signatures to take a pair of
1372 const_iterators.
1373 * include/debug/deque: Adjust.
1374 * include/debug/list: Likewise.
1375 * include/debug/vector: Likewise.
1376 * include/profile/deque: Likewise.
1377 * include/profile/list: Likewise.
1378 * include/profile/vector: Likewise.
1379 (vector<>::emplace): Add.
1380 * testsuite/util/exception/safety.h: Update.
1381 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
1382 New.
1383 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
1384 Likewise.
1385 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
1386 Likewise.
1387 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1388 Likewise.
1389 * testsuite/23_containers/vector/bool/modifiers/insert/
1390 const_iterator.cc: Likewise.
1391 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
1392 Likewise.
1393 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1394 Likewise.
1395 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1396 Likewise.
1397 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1398 Likewise.
1399 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1400 Likewise.
1401 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
1402 Likewise.
1403
1404 * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
1405 ext/vstring/modifiers/erase/char/.
1406 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
1407 ext/vstring/modifiers/wchar_t/.
1408 * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
1409 ext/vstring/modifiers/pop_back/char/.
1410 * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
1411 testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
1412
1413 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1414 Adjust dg-error line number.
1415 * testsuite/23_containers/deque/requirements/dr438/
1416 constructor_1_neg.cc: Likewise.
1417 * testsuite/23_containers/deque/requirements/dr438/
1418 constructor_2_neg.cc: Likewise.
1419 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1420 Likewise.
1421 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1422 Likewise.
1423 * testsuite/23_containers/list/requirements/dr438/
1424 constructor_1_neg.cc: Likewise.
1425 * testsuite/23_containers/list/requirements/dr438/
1426 constructor_2_neg.cc: Likewise.
1427 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1428 Likewise.
1429 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1430 Likewise.
1431 * testsuite/23_containers/vector/requirements/dr438/
1432 constructor_1_neg.cc: Likewise.
1433 * testsuite/23_containers/vector/requirements/dr438/
1434 constructor_2_neg.cc: Likewise.
1435 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1436 Likewise.
1437
3ed8a9cd
ESR
14382013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
1439
1440 Status page for C++2014 library features
1441 * doc/xml/faq.xml: Add link to new C++14 status page.
1442 * doc/xml/manual/intro.xml: Ditto.
1443 * doc/xml/manual/status_cxx2014.xml: New.
1444
a9826e56
PC
14452013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
1446
1447 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
1448 spurious fails with check-debug.
1449 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
1450 Likewise.
1451 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
1452 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
1453 Likewise.
1454
6cdbb7e8
PC
14552013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
1456
1457 PR libstdc++/57704
1458 * include/bits/char_traits.h (char_traits<char>::lt): Implement
1459 LWG 467.
1460 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
1461
a4e28c81
BE
14622013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
1463
1464 PR libstdc++/57691
1465 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
1466 declare per the letter of the C++ standard in terms of void.
1467 * include/c_std/cstdlib: Likewise.
1468
07bba3b1
PC
14692013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
1470
1471 PR libstdc++/57674
1472 * include/bits/random.h (binomial_distribution<>::_M_waiting):
1473 Add double parameter.
1474 * include/bits/random.tcc (binomial_distribution<>::operator()
1475 (_UniformRandomNumberGenerator&, const param_type&)): Pass
1476 __param._M_q to _M_waiting.
1477 (_M_waiting): Adjust.
1478 * testsuite/26_numerics/random/binomial_distribution/
1479 operators/values.cc: Add tests.
1480
b0ad3635
PC
14812013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
1482
1483 PR libstdc++/57666
1484 * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
1485 Implement correctly C++11 26.6.2.3/1.
1486 * testsuite/26_numerics/valarray/dr630-3.C: New.
1487
25e00ab6
JW
14882013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1489
1490 PR libstdc++/57641
1491 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
1492 functionality to new __timed_mutex_impl mixin. Overload try_lock_until
1493 to handle conversion between different clocks. Replace constrained
1494 __try_lock_for_impl overloads with conditional increment.
1495 * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
1496 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
1497
31eb8a18
JW
14982013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
1499 Chris Jefferson <chris@bubblescope.net>
1500
1501 * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
1502 dispatch to traditional std::equal for random-access iterators.
1503 (__equal2_aux, __equal2): Remove.
1504 (__equal::equal): Remove unused overloads.
1505 * include/bits/stl_algo.h (is_permutation): Fix typos.
1506
2081281b
JW
15072013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1508
1509 * include/std/shared_mutex (shared_lock::operator=): Add missing
1510 return statement.
1511
f038f582
JW
15122013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1513
1514 PR libstdc++/57263
1515 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
1516 allocator's pointer type.
1517 * include/bits/hashtable.h (_Hashtable): Likewise.
1518 * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
1519 * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
1520 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
1521 * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
1522
8d2cddc1
JW
15232013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1524
1525 * include/std/shared_mutex: Implement N3659.
1526 * include/bits/c++14_warning.h: New.
1527 * include/Makefile.am: Add new headers.
1528 * include/Makefile.in: Regenerate.
1529 * testsuite/30_threads/shared_lock/cons/1.cc: New.
1530 * testsuite/30_threads/shared_lock/locking/2.cc: New.
1531 * testsuite/30_threads/shared_lock/cons/2.cc: New.
1532 * testsuite/30_threads/shared_lock/locking/3.cc: New.
1533 * testsuite/30_threads/shared_lock/cons/3.cc: New.
1534 * testsuite/30_threads/shared_lock/locking/4.cc: New.
1535 * testsuite/30_threads/shared_lock/cons/4.cc: New.
1536 * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
1537 * testsuite/30_threads/shared_lock/cons/5.cc: New.
1538 * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
1539 * testsuite/30_threads/shared_lock/cons/6.cc: New.
1540 * testsuite/30_threads/shared_lock/requirements/
1541 explicit_instantiation.cc: New.
1542 * testsuite/30_threads/shared_lock/locking/1.cc: New.
1543 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
1544 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
1545 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
1546 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
1547 * testsuite/30_threads/shared_mutex/requirements/
1548 standard_layout.cc: New.
1549 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
1550 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
1551
95777cb0
PC
15522013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
1553
1554 PR libstdc++/57619
1555 * include/bits/unordered_map.h (unordered_map<>::insert,
1556 unordered_multimap<>::insert): Use std::forward, not std::move.
1557 * testsuite/23_containers/unordered_map/insert/57619.C: New.
1558 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1559
8f7fa4ba
AM
15602013-06-14 Alan Modra <amodra@gmail.com>
1561
1562 * configure.host (abi_baseline_pair): Match powerpc64*.
1563
89898034
DK
15642013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
1565
1566 * include/std/type_traits (is_function): Support ref-qualified
1567 functions.
1568 (is_copy_constructible, is_move_constructible, is_copy_assignable,
1569 is_move_assignable, is_nothrow_copy_constructible,
1570 is_nothrow_move_constructible, is_nothrow_copy_assignable,
1571 is_nothrow_move_assignable): Implement LWG 2196.
1572 (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
1573 LWG 2101.
1574 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
1575 unused.
1576 * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
1577 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
1578 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
1579 * testsuite/20_util/is_assignable/value.cc: Likewise.
1580 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1581 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1582 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1583 * testsuite/20_util/is_function/value.cc: Likewise.
1584 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1585 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1586 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1587 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1588 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1589 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1590
1591 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1592 line number.
1593 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1594 Likewise.
1595 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1596 Likewise.
1597
8aaba3a9
PC
15982013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
1599
1600 * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
1601 __gnu_cxx::__airy_bi()): Remove.
1602 * testsuite/tr1/5_numerical_facilities/special_functions/
1603 10_cyl_bessel_k/airy.cc: Fix.
1604
bcc193bf
ESR
16052013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
1606
1607 PR libstdc++/56430
1608 * include/tr1/modified_bessel_func.tcc (__airy): Remove return
1609 from void function.
1610 (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
1611 * testsuite/tr1/5_numerical_facilities/special_functions/
1612 10_cyl_bessel_k/airy.cc: New.
1613
0372af98
ESR
16142013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
1615
1616 Fix library literals error involving namespace __detail.
1617 * include/std/chrono: Rename __detail to __select_type. Reformat.
1618 * include/bits/basic_string.h: Reformat.
1619 * testsuite/20_util/duration/literals/ns_detail.cc: New.
1620
899e00eb
PC
16212013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
1622
1623 PR libstdc++/56019
1624 * include/c_global/cstddef (max_align_t): Add to namespace std.
1625 * include/c_std/cstddef: Likewise.
1626 * testsuite/18_support/max_align_t/requirements/1.cc: New.
1627 * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
1628
3b31a727
BK
16292013-06-10 Benjamin Kosnik <bkoz@redhat.com>
1630
1631 * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
1632 * include/bits/stl_map.h (erase): Use abi_tag when C++11.
1633 * include/bits/stl_multimap.h: Same.
1634 * include/bits/stl_multiset.h: Same.
1635 * include/bits/stl_set.h: Same.
1636 * include/bits/stl_tree.h: Same.
1637 * include/std/complex (real, imag): Use macro for abi_tag.
1638
1639 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
1640 * testsuite/util/testsuite_containers.h (erase_external): New
1641 declarations.
1642 (erase_external_iterators): Same.
1643 (linkage_check_cxx98_cxx11_erase): Same.
1644 (linkage_check_cxx98_cxx11_erase_iterators): Same.
1645 * testsuite/util/testsuite_shared.cc: Define.
1646 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
1647 * testsuite/23_containers/map/modifiers/erase/
1648 dr130-linkage-check.cc: New.
1649 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
1650 * testsuite/23_containers/multimap/modifiers/erase/
1651 dr130-linkage-check.cc: New.
1652 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
1653 * testsuite/23_containers/multiset/modifiers/erase/
1654 dr130-linkage-check.cc: New.
1655 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
1656 * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
1657 New.
1658 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
1659
1660 * testsuite/23_containers/map/dr130.cc: Move...
1661 * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
1662 * testsuite/23_containers/multimap/dr130.cc: Move ...
1663 * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
1664 * testsuite/23_containers/multiset/dr130.cc: Move...
1665 * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
1666 * testsuite/23_containers/set/dr130.cc: Move...
1667 * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
1668
9275f73a
TS
16692013-06-10 Thomas Schwinge <thomas@codesourcery.com>
1670
1671 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
1672 handling of Linux-based x86 systems to cover all GNU systems.
1673 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
1674 * testsuite/18_support/pthread_guard.cc: Likewise.
1675 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1676 Likewise.
1677 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1678 Likewise.
1679 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1680 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1681 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
1682 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
1683 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1684 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1685 * testsuite/23_containers/list/pthread1.cc: Likewise.
1686 * testsuite/23_containers/list/pthread5.cc: Likewise.
1687 * testsuite/23_containers/map/pthread6.cc: Likewise.
1688 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1689 Likewise.
1690 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1691 Likewise.
1692 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1693 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1694 * testsuite/30_threads/async/42819.cc: Likewise.
1695 * testsuite/30_threads/async/49668.cc: Likewise.
1696 * testsuite/30_threads/async/54297.cc: Likewise.
1697 * testsuite/30_threads/async/any.cc: Likewise.
1698 * testsuite/30_threads/async/async.cc: Likewise.
1699 * testsuite/30_threads/async/launch.cc: Likewise.
1700 * testsuite/30_threads/async/sync.cc: Likewise.
1701 * testsuite/30_threads/call_once/39909.cc: Likewise.
1702 * testsuite/30_threads/call_once/49668.cc: Likewise.
1703 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1704 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1705 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1706 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1707 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1708 * testsuite/30_threads/condition_variable/members/53841.cc:
1709 Likewise.
1710 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1711 Likewise.
1712 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1713 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1714 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1715 * testsuite/30_threads/condition_variable_any/members/1.cc:
1716 Likewise.
1717 * testsuite/30_threads/condition_variable_any/members/2.cc:
1718 Likewise.
1719 * testsuite/30_threads/future/cons/move.cc: Likewise.
1720 * testsuite/30_threads/future/members/45133.cc: Likewise.
1721 * testsuite/30_threads/future/members/get.cc: Likewise.
1722 * testsuite/30_threads/future/members/get2.cc: Likewise.
1723 * testsuite/30_threads/future/members/share.cc: Likewise.
1724 * testsuite/30_threads/future/members/valid.cc: Likewise.
1725 * testsuite/30_threads/future/members/wait.cc: Likewise.
1726 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1727 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1728 * testsuite/30_threads/lock/1.cc: Likewise.
1729 * testsuite/30_threads/lock/2.cc: Likewise.
1730 * testsuite/30_threads/lock/3.cc: Likewise.
1731 * testsuite/30_threads/lock/4.cc: Likewise.
1732 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1733 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1734 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1735 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1736 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1737 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1738 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1739 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1740 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1741 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1742 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1743 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1744 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1745 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1746 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1747 * testsuite/30_threads/packaged_task/cons/move_assign.cc:
1748 Likewise.
1749 * testsuite/30_threads/packaged_task/members/get_future.cc:
1750 Likewise.
1751 * testsuite/30_threads/packaged_task/members/get_future2.cc:
1752 Likewise.
1753 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1754 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1755 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1756 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1757 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1758 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1759 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1760 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1761 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1762 * testsuite/30_threads/promise/cons/1.cc: Likewise.
1763 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1764 * testsuite/30_threads/promise/cons/move.cc: Likewise.
1765 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1766 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1767 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1768 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1769 * testsuite/30_threads/promise/members/set_exception2.cc:
1770 Likewise.
1771 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1772 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1773 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1774 * testsuite/30_threads/promise/members/swap.cc: Likewise.
1775 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1776 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1777 Likewise.
1778 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1779 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
1780 Likewise.
1781 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1782 Likewise.
1783 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1784 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1785 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1786 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1787 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1788 Likewise.
1789 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1790 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1791 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1792 Likewise.
1793 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1794 Likewise.
1795 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
1796 Likewise.
1797 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
1798 Likewise.
1799 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1800 Likewise.
1801 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1802 Likewise.
1803 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1804 Likewise.
1805 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1806 Likewise.
1807 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1808 Likewise.
1809 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
1810 Likewise.
1811 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1812 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1813 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1814 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1815 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1816 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1817 * testsuite/30_threads/shared_future/members/wait_for.cc:
1818 Likewise.
1819 * testsuite/30_threads/shared_future/members/wait_until.cc:
1820 Likewise.
1821 * testsuite/30_threads/this_thread/1.cc: Likewise.
1822 * testsuite/30_threads/this_thread/2.cc: Likewise.
1823 * testsuite/30_threads/this_thread/3.cc: Likewise.
1824 * testsuite/30_threads/this_thread/4.cc: Likewise.
1825 * testsuite/30_threads/thread/cons/1.cc: Likewise.
1826 * testsuite/30_threads/thread/cons/2.cc: Likewise.
1827 * testsuite/30_threads/thread/cons/3.cc: Likewise.
1828 * testsuite/30_threads/thread/cons/4.cc: Likewise.
1829 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1830 * testsuite/30_threads/thread/cons/5.cc: Likewise.
1831 * testsuite/30_threads/thread/cons/6.cc: Likewise.
1832 * testsuite/30_threads/thread/cons/7.cc: Likewise.
1833 * testsuite/30_threads/thread/cons/8.cc: Likewise.
1834 * testsuite/30_threads/thread/cons/9.cc: Likewise.
1835 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1836 * testsuite/30_threads/thread/members/1.cc: Likewise.
1837 * testsuite/30_threads/thread/members/2.cc: Likewise.
1838 * testsuite/30_threads/thread/members/3.cc: Likewise.
1839 * testsuite/30_threads/thread/members/4.cc: Likewise.
1840 * testsuite/30_threads/thread/members/5.cc: Likewise.
1841 * testsuite/30_threads/thread/members/hardware_concurrency.cc:
1842 Likewise.
1843 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1844 * testsuite/30_threads/thread/native_handle/typesizes.cc:
1845 Likewise.
1846 * testsuite/30_threads/thread/swap/1.cc: Likewise.
1847 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1848 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1849 Likewise.
1850 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1851 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1852 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1853 Likewise.
1854 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1855 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1856 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1857 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1858 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1859 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1860 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1861 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1862 * testsuite/30_threads/try_lock/1.cc: Likewise.
1863 * testsuite/30_threads/try_lock/2.cc: Likewise.
1864 * testsuite/30_threads/try_lock/3.cc: Likewise.
1865 * testsuite/30_threads/try_lock/4.cc: Likewise.
1866 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1867 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1868 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1869 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1870 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1871 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1872 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1873 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1874 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1875 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1876 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1877 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1878 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
1879 * testsuite/ext/profile/mh.cc: Likewise.
1880 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1881 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
1882 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1883 Likewise.
1884 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1885 Likewise.
1886 * testsuite/util/testsuite_performance.h: Extend current handling
1887 of Linux-based systems to cover all glibc-based systems.
1888
bd24ec2d
JW
18892013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
1890
1891 * include/std/mutex (call_once): Remove parentheses to fix error in
1892 c++1y and gnu++1y mode.
1893 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
1894 thread to avoid undefined behaviour.
1895
88c4d6b7
ESR
18962013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1897
1898 Simplify and clean up library literals.
1899 * include/std/chrono: Simplify namespace and versioning management.
1900 * include/bits/basic_string.h: Ditto.
1901 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1902 * testsuite/20_util/duration/literals/values.cc: Ditto.
1903 * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1904 * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1905
83ac9249
ESR
19062013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
1907
1908 Implement N3654 - Quoted Strings Library Proposal
1909 * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1910 manipulators and supporting machinery in c++1y mode.
1911 * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1912 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1913
7b916902
JW
19142013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1915
1916 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1917 2162: Add noexcept.
1918
f7fbb003
JW
19192013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1920
1921 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1922 * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1923 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1924 * testsuite/25_algorithms/equal/2.cc: New.
1925 * testsuite/25_algorithms/equal/check_type2.cc: New.
1926 * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1927 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1928 * testsuite/25_algorithms/mismatch/2.cc: New.
1929 * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1930 * testsuite/util/testsuite_iterators.h: Fix spelling.
1931
db113eda
JW
19322013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1933
1934 * include/std/type-traits (integral_constant::operator()): Implement
1935 N3545.
1936 * testsuite/20_util/integral_constant/call_operator.cc: New.
1937 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1938 line numbers.
1939 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1940 Likewise.
1941 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1942 Likewise.
1943
cb8ac9d0
UB
19442013-06-07 Uros Bizjak <ubizjak@gmail.com>
1945
1946 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1947
0d471c50
TT
19482013-06-05 Tom Tromey <tromey@redhat.com>
1949
1950 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1951
2e649151
PC
19522013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1953
1954 PR c++/57419
1955 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1956
fa409833
ESR
19572013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
1958
2e649151
PC
1959 * include/std/chrono: Collapse redundant 'inline' from 'inline
1960 constexpr'.
1961 * include/std/tuple: Ditto.
1962 * include/bits/move.h: Ditto.
fa409833 1963
1c9f675f
ESR
19642013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
1965
1966 Implement N3642 - User-defined Literals for Standard Library Types
1967 * include/bits/parse_numbers.h: New.
1968 * include/std/chrono: Add duration literal operators.
1969 * include/bits/basic_string.h: Add string literal operators.
1970 * include/Makefile.in: Add parse_numbers.h.
1971 * include/Makefile.am: Ditto.
1972 * testsuite/20_util/duration/literals/values.cc: New.
1973 * testsuite/20_util/duration/literals/types.cc: New.
1974 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1975 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
1976 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
1977 * testsuite/21_strings/basic_string/literals/values.cc: New.
1978 * testsuite/21_strings/basic_string/literals/types.cc: New.
1979
8b70770d
JW
19802013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1981
1982 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
1983 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
1984 calling non-existent from_time_t.
1985
388c13d6
RO
19862013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1987
1988 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1989 Regenerate.
1990
1f08a749
BK
19912013-05-24 Benjamin Kosnik <bkoz@redhat.com>
1992
1993 * include/std/chrono: Wrap clocks in inline namespace _V2.
1994 * src/c++11/chrono.cc: Same.
1995 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
1996 file, with default configure macros selected.
1997
1998 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
1999 namespace.
2000 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
2001
2002 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2003 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2004 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2005 Regenerated.
2006 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2007 Regenerated.
2008 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2009 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2010 Regenerated.
2011 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2012 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2013 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2014 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2015 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2016 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2017 Regenerated.
2018 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2019 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2020
57d6e1b3
RO
20212013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2022
2023 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
2024 (CLOCK_MONOTONIC): Define.
2025
9797bec9
PC
20262013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
2027
2028 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
2029 overload.
2030
2031 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
2032
2e8a9734
JJ
20332013-05-24 Jakub Jelinek <jakub@redhat.com>
2034
2035 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
2036 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
2037 don't define system_clock::is_steady, system_clock::now() and
2038 steady_clock::is_steady.
2039 (std::chrono::system_clock::now()): If
2040 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
2041 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
2042 (std::chrono::system_clock::now()): Likewise. Add weak attribute
2043 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
2044 be non-empty.
2045 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
2046 (compatibility-chrono.lo, compatibility-chrono.o): New goals.
2047 * src/c++11/compatibility-chrono.cc: New file.
2048 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
2049 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
2050 * testsuite/util/testsuite_abi.cc (check_version): Add
2051 GLIBCXX_3.4.20 version and make it the latest.
2052 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
2053 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
2054 @@GLIBCXX_3.4.20 instead.
2055 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2056 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2057 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2058 Regenerated.
2059 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2060 Regenerated.
2061 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2062 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2063 Regenerated.
2064 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2065 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2066 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2067 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2068 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2069 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2070 Regenerated.
2071 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2072 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2073 * config.h.in: Regenerated.
2074 * src/Makefile.in: Regenerated.
2075 * configure: Regenerated.
2076
6ca935e6
MK
20772013-05-23 Matthias Klose <doko@ubuntu.com>
2078
2079 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2080 (ext_headers): Remove ${ext_host_headers}.
2081 (stamp-${host_alias}): Create ${host_builddir}/../ext.
2082 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2083 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2084 * include/Makefile.in: Regenerate.
2085 * include/ext/random: Include ext/opt_random.h.
2086
88b1a025
JW
20872013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
2088
2089 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
2090 enable features if target OS is known to support them.
2091 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
2092 * configure: Regenerate.
2093
bf5f6aa9
JW
20942013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
2095
2096 PR libstdc++/57336
2097 * include/std/functional (__invoke): Do not form function types with
2098 abstract return type.
2099 * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
2100
b5a8fed6
JW
21012013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
2102
2103 * include/std/tuple (get): Implement N3670.
2104 * include/std/utility (get): Likewise.
2105 * testsuite/20_util/pair/get.cc: Move to ...
2106 * testsuite/20_util/pair/astuple/get.cc: Here.
2107 * testsuite/20_util/pair/astuple/astuple.cc: New.
2108 * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
2109 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
2110 * testsuite/20_util/pair/astuple/get_by_type.cc: New.
2111 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
2112 * testsuite/20_util/pair/astuple/get_neg.cc: New.
2113 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
2114 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
2115 * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
2116
eeb71f0c
PC
21172013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
2118
2119 * Revert last commit.
2120
ae3258be
MK
21212013-05-19 Matthias Klose <doko@ubuntu.com>
2122
2123 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2124 (ext_headers): Remove ${ext_host_headers}.
2125 (stamp-${host_alias}): Create ${host_builddir}/../ext.
2126 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2127 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2128 * include/Makefile.in: Regenerate.
2129
f891e5d1
JW
21302013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2131
2132 * include/std/system_error (error_category::error_category()): LWG
2133 2145: Declare public and constexpr.
2134 * src/c++11/system_error.cc (error_category::error_category()): Move
2135 definition to ...
2136 * src/c++11/compatibility-c++0x.cc: Here.
2137
f92126ba
JW
21382013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2139
2140 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
2141
05a4261b
JW
21422013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2143
2144 * include/bits/unique_ptr.h (make_unique): Declare inline.
2145 (unique_ptr<T[],D>::reset()): Combine two overloads into one.
2146 (default_delete, unique_ptr): Add doxygen comments.
2147 * include/bits/shared_ptr_base.h: Improve doxygen comments.
2148 * include/bits/shared_ptr.h: Likewise.
2149 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
2150 number.
2151 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2152
21532013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2154
2155 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2156
82ec8686
JW
21572013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2158
2159 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2160
c98b0598
JW
21612013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2162
2163 * include/std/utility (exchange): Define.
2164 * testsuite/20_util/exchange/1.cc: New.
2165
a9769eb0
JW
21662013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2167
2168 * include/bits/unique_ptr.h (make_unique): Define.
2169 * testsuite/20_util/unique_ptr/creation/single.cc: New.
2170 * testsuite/20_util/unique_ptr/creation/array.cc: New.
2171 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
2172
4722d005
FD
21732013-05-15 François Dumont <fdumont@gcc.gnu.org>
2174
2175 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
2176 rendering of std::tr1 unordered containers iterator.
2177 (StdHashtableIterator): New, render std unordered containers iterator.
2178 * testsuite/libstdc++-prettyprinters/tr1.cc: New.
2179
3b2453a9
JW
21802013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2181
2182 * include/bits/basic_string.h (getline): Fix doxygen comments.
2183
a5244b2e
PC
21842013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
2185
2186 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2187 Use std::pointer_traits.
2188
61a359f6
BK
21892013-05-13 Benjamin Kosnik <bkoz@redhat.com>
2190
2191 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
2192 bad_array_new.cc.
2193 * libsupc++/Makefile.in: Regenerate.
2194 * libsupc++/bad_array_length.cc: Tweak.
2195 * libsupc++/bad_array_new.cc: Tweak.
2196
94938aec
PC
21972013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2198
2199 PR libstdc++/54577
2200 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
2201 (_Deque_iterator<>::_M_const_cast): Add.
2202 (deque<>::_M_erase): Declare.
2203 * include/bits/deque.tcc: ... and define.
2204 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
2205 (_List_const_iterator<>::_M_const_cast): Add.
2206 * include/bits/list.tcc (erase (iterator)): Fix.
2207 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2208 Add; include <ext/cast.h>.
2209 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
2210 (vector<>::_M_erase): Declare.
2211 * include/bits/stl_bvector.h: Likewise.
2212 * include/bits/vector.tcc (vector<>::_M_erase): Define.
2213 * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
2214 * include/debug/deque: Adjust.
2215 * include/debug/list: Likewise.
2216 * include/debug/vector: Likewise.
2217 * include/profile/deque: Likewise.
2218 * include/profile/list: Likewise.
2219 * include/profile/vector: Likewise.
2220 * testsuite/util/exception/safety.h (erase_base<deque>,
2221 erase_base<deque>, erase_base<vector>): Remove.
2222 (erase_base<__versa_string>): Update.
2223 * testsuite/ext/vstring/modifiers/char/54577.cc: New.
2224 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
2225 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
2226 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
2227 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
2228 Likewise.
2229 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
2230 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2231 Adjust dg-error line numbers.
2232 * testsuite/23_containers/deque/requirements/dr438/
2233 constructor_1_neg.cc: Likewise.
2234 * testsuite/23_containers/deque/requirements/dr438/
2235 constructor_2_neg.cc: Likewise.
2236 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2237 Likewise.
2238 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2239 Likewise.
2240 * testsuite/23_containers/list/requirements/dr438/
2241 constructor_1_neg.cc: Likewise.
2242 * testsuite/23_containers/list/requirements/dr438/
2243 constructor_2_neg.cc: Likewise.
2244 * testsuite/23_containers/list/requirements/dr438/
2245 insert_neg.cc: Likewise.
2246 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2247 Likewise.
2248 * testsuite/23_containers/vector/requirements/dr438/
2249 constructor_1_neg.cc: Likewise.
2250 * testsuite/23_containers/vector/requirements/dr438/
2251 constructor_2_neg.cc: Likewise.
2252 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2253 Likewise.
2254
fb7f649d
UB
22552013-05-09 Uros Bizjak <ubizjak@gmail.com>
2256
2257 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
2258
0138d6b2
JM
22592013-05-08 Jason Merrill <jason@redhat.com>
2260
2261 Add std::bad_array_length (N3639)
2262 * libsupc++/new: Add std::bad_array_length.
2263 * libsupc++/bad_array_length.cc: New.
2264 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
2265 * libsupc++/Makefile.in: Build them.
2266 * config/abi/pre/gnu.ver: Add new symbols.
2267 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2268
a062bb4b
AK
22692013-05-08 Andi Kleen <ak@linux.intel.com>
2270
2271 PR target/55947
2272 * libstdc++-v3/include/bits/atomic_base.h
2273 (_GLIBCXX_ALWAYS_INLINE): Add new macro.
2274 (atomic_thread_fence, atomic_signal_fence, test_and_set,
2275 clear, store, load, exchange, compare_exchange_weak)
2276 compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
2277 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
2278
7d5e76c8
JM
22792013-05-08 Jason Merrill <jason@redhat.com>
2280
2281 Add std::bad_array_new_length (N2932)
2282 * libsupc++/new: Add std::bad_array_new_length.
2283 * libsupc++/bad_array_new.cc: New.
2284 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
2285 * libsupc++/Makefile.in: Build them.
2286 * config/abi/pre/gnu.ver: Add new symbols.
2287 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
2288
ea31132e
AMA
22892013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
2290
2291 PR libstdc++/57212
2292 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
2293 to __MINGW32__.
2294 * include/Makefile.in: Regenerated.
2295
703f140f
FD
22962013-05-07 François Dumont <fdumont@gcc.gnu.org>
2297
2298 * include/profile/unordered_base.h: New.
2299 * include/Makefile.am: Add new profile header.
2300 * include/Makefile.in: Regenerate.
2301 * include/profile/impl/profiler.h
2302 (__profcxx_inefficient_hash_is_on): New macro.
2303 * include/profile/unordered_map (std::profile::unordered_map<>):
2304 Use new _Unordered_profile base class. Use default implementations
2305 for special functions.
2306 (std::profile::unordered_multimap<>): Likewise.
2307 * include/profile/unordered_set (std::profile::unordered_set<>):
2308 Likewise.
2309 (std::profile::unordered_multiset<>): Likewise.
2310 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
2311 MoveOnly equality operator signature.
2312
b273e79b
PC
23132013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2314
2315 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
2316 constexpr_data.cc: Move...
2317 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
2318 ... here.
2319 * testsuite/20_util/integral_constant/requirements/
2320 explicit_instantiation.cc: New.
2321 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
2322 Likewise.
2323 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
2324 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
2325 Likewise.
2326 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
2327 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
2328
aa940ab5
PC
23292013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2330
2331 * include/std/type_traits (is_null_pointer): Add.
2332 (__is_nullptr_t): Implement in terms of the latter.
2333 (is_fundamental, is_scalar): Adjust.
2334 * testsuite/20_util/is_null_pointer/requirements/
2335 explicit_instantiation.cc: New.
2336 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
2337 Likewise.
2338 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
2339 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2340 line number.
2341 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2342 Likewise.
2343 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2344 Likewise.
2345
ff84dbcb
PC
23462013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2347
2348 * include/c_global/cstdio: Add comment about LWG 2249.
2349 * include/c_std/cstdio: Likewise.
2350
d872e4aa
JW
23512013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2352
2353 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
2354 comment.
2355 * include/std/mutex (__recursive_mutex_base): Likewise.
2356
fe807059
JW
23572013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
2358
2359 PR libstdc++/51365
2360 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
2361 implement EBO safely.
2362 (_Sp_counted_base::_M_get_deleter): Add noexcept.
2363 (_Sp_counter_ptr): Use noexcept instead of comments.
2364 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
2365 (_Sp_counted_ptr_inplace): Likewise.
2366 * testsuite/20_util/shared_ptr/cons/51365.cc: New.
2367 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
2368 custom allocator and test construction with custom allocator.
2369 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2370 line number.
2371
0433be86
PC
23722013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
2373
2374 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
2375 dialect to -std=gnu++11.
2376
d2f2f2e3
FD
23772013-04-26 François Dumont <fdumont@gcc.gnu.org>
2378
2379 * include/bits/hashtable_policy.h
2380 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
2381 * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
2382
acd1cc4b
PC
23832013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
2384
2385 * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
2386 * include/c_std/cstdio (gets): Likewise.
2387 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
2388
03d7aff6
PC
23892013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2390
2391 PR libstdc++/57065
2392 * include/debug/unordered_map (unordered_map, unordered_multimap):
2393 Fix default allocator type.
2394 * include/profile/unordered_map (unordered_map, unordered_multimap):
2395 Likewise.
2396 * include/bits/unordered_map.h: Fix comments.
2397
2310e8c1 23982013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
ec98d010
JW
2399
2400 PR libstdc++/56905
2401 * libsupc++/exception_ptr.h (copy_exception): Deprecate and
2402 move implementation to make_exception_ptr.
2403 * include/std/future (_State_base::_M_break_promise): Replace
2404 copy_exception with make_exception_ptr.
2405 * testsuite/18_support/exception_ptr/move.cc: Likewise.
2406 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2407 * testsuite/30_threads/future/members/get2.cc: Likewise.
2408 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2409 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2410 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2411 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2412
80f7a782
JM
24132013-04-22 Jason Merrill <jason@redhat.com>
2414
7441bd3d
JM
2415 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
2416
3579964b
JM
2417 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
2418 substitution" lines.
2419
80f7a782
JM
2420 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
2421 function-cv-quals.
2422 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2423 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
2424 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
2425
0462b6aa
FD
24262013-04-22 François Dumont <fdumont@gcc.gnu.org>
2427
2428 * include/bits/hashtable_policy.h: Add C++11 allocator support.
2429 * include/bits/hashtable.h: Likewise.
2430 * include/bits/unordered_set.h: Likewise.
2431 * include/bits/unordered_map.h: Likewise.
2432 * include/debug/unordered_set: Likewise.
2433 * include/debug/unordered_map: Likewise.
2434 * include/std/unordered_set: Remove bits/algobase.h
2435 include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
2436 * include/std/unordered_map: Likewise.
2437 * include/ext/throw_allocator.h: Add checks on calls to allocator
2438 construct/destroy.
2439 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
2440 (std::hash<__gnu_cxx::throw_value_random>): Likewise.
2441 * testsuite/util/regression/rand/priority_queue
2442 /container_rand_regression_test.tcc: Adapt.
2443 * testsuite/util/regression/rand/assoc
2444 /container_rand_regression_test.tcc: Likewise.
2445 * testsuite/util/testsuite_counter_type.h: Add count of destructors.
2446 * testsuite/23_containers/unordered_set
2447 /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
2448 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
2449 * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
2450 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
2451 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
2452 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
2453 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
2454 * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
2455 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
2456 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
2457 New.
2458 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
2459 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
2460 New.
2461 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
2462 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
2463 * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
2464 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
2465 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
2466 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
2467 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2468 New.
2469 * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
2470 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
2471 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
2472 New.
2473 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
2474 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
2475 New.
2476 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
2477 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
2478
6a4b1a00
PC
24792013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2480
2481 * include/std/type_traits (is_signed): Simplify.
2482 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2483 Adjust dg-error line numbers.
2484 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2485 Likewise.
2486 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2487
9191d7a8
PC
24882013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2489
2490 N3669
2491 * include/std/complex (complex<float>::real, complex<float>::imag,
2492 complex<double>::real, complex<double>::imag,
2493 complex<long double>::real, complex<long double>::imag): Declare
2494 as const member functions.
2495 * include/std/type_traits (integral_constant<>::operator value_type):
2496 Likewise.
2497
177d2b74
PC
24982013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
2499
2500 PR libstdc++/57010
2501 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
2502 * testsuite/25_algorithms/pop_heap/57010.cc: New.
2503
1cbe724c
ES
25042013-04-21 Evgeniy Stepanov <eugenis@google.com>
2505
2506 * src/c++11/system_error.cc (generic_category_instance): Add
2507 initializer.
2508 (system_category_instance): Likewise.
2509 * src/c++11/future.cc (__fec): Likewise.
2510
fcb2185b
JW
25112013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2512
2513 * doc/xml/manual/extensions.xml: Fix anachronism.
2514
d74e340d
TT
25152013-04-09 Tom Tromey <tromey@redhat.com>
2516
2517 * configure, config.h.in: Rebuild.
2518 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
2519 sys/sdt.h.
2520 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
2521
ae3d0361
UB
25222013-04-09 Uros Bizjak <ubizjak@gmail.com>
2523
2524 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2525
d6222d4e
PC
25262013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
2527
2528 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
2529
f2e2de5f
JW
25302013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2531
2532 * include/Makefile.am: Add ext/aligned_buffer.h
2533 * include/Makefile.in: Regenerate.
2534 * include/ext/aligned_buffer.h: New.
2535 * include/std/future (_Result): Use __aligned_buffer.
2536 * include/bits/forward_list.h (_Fwd_list_node): Likewise.
2537 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
2538 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
2539 number.
2540
7db567cd
JW
25412013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
2542
2543 * include/bits/forward_list.h: Only include required headers.
2544 (forward_list::reference): Define directly, not using __alloc_traits.
2545 (forward_list::const_reference): Likewise.
2546
82b12c4b
FD
25472013-04-07 François Dumont <fdumont@gcc.gnu.org>
2548
2549 * include/std/functional (_Derives_from_unary_function): Remove.
2550 (_Derives_from_binary_function): Remove.
2551 * include/std/type_traits (__sfinae_types): Remove.
2552 (__is_assignable_helper): Adapt.
2553 (__is_convertible_helper): Adapt.
2554 (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
2555 Remove several explicit instantiations of integral_constant.
2556 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
2557 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2558 Adapt dg-error line number.
2559 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2560 Likewise.
2561 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2562 * testsuite/20_util/bind/ref_neg.cc: Likewise.
2563
7e20f4b0
JW
25642013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
2565
2566 PR libstdc++/56841
2567 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
2568 get_terminate() accessors.
2569 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2570 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
2571 available.
2572 * libsupc++/new_handler.cc: Likewise.
2573
2d500828
JW
25742013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2575
2576 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
2577
169a7e85
PC
25782013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2579
2580 PR libstdc++/56834
2581 * include/debug/array (tuple_size, tuple_element): Do not declare.
2582 * include/profile/array: Likewise.
2583 * testsuite/23_containers/array/tuple_interface/
2584 tuple_element_debug_neg.cc: Adjust dg-error line number.
2585
dca77a8a
JW
25862013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
2587
2588 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
2589 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
2590 Define.
2591 (set_terminate(terminate_handler)): Set atomically.
2592 (set_unexpected(terminate_handler)): Likewise.
2593 * libsupc++/new (get_new_handler()): Declare.
2594 * libsupc++/new_handler.cc (get_new_handler()): Define.
2595 (set_new_handler(new_handler)): Set atomically.
2596 (__new_handler): Use internal linkage.
2597 * libsupc++/new_op.cc (operator new): Use get_new_handler().
2598 * libsupc++/new_opnt.cc (operator new): Likewise.
2599 * acinclude.m4: Bump libtool_VERSION to 6:19:0.
2600 * configure: Regenerate.
2601 * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
2602 * libsupc++/Makefile.in: Regenerate.
2603 * config/abi/pre/gnu.ver: Add new exports.
2604 * doc/xml/manual/status_cxx2011.xml: Update.
2605 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
2606 for handlers.
2607 * testsuite/18_support/headers/new/synopsis.cc: Likewise.
2608 * testsuite/18_support/new_handler.cc: New.
2609 * testsuite/18_support/terminate_handler.cc: New.
2610 * testsuite/18_support/unexpected_handler.cc: New.
2611
fa93ca85
JW
26122013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2613
2614 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
2615 defer to general documentation on contributing to GCC.
2616 * doc/html/*: Regenerate.
2617
8bebe0af
GP
26182013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
2619
fa93ca85 2620 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
8bebe0af
GP
2621
2622 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
2623 Coding Standards.
2624
2625 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
2626
2627 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
2628
2629 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
2630
2631 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
2632
2633 * doc/xml/manual/policy_data_structures: Remove direct link to
2634 IBM Haifa Research Labs.
2635
2636 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
2637 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
8bebe0af
GP
2638
2639 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
2640 papers.
2641
2642 * doc/xml/manual/shared_ptr.xml: Use canonical address for
2643 www.boost.org.
2644
7e866c8b
KT
26452013-03-27 Kai Tietz <ktietz@redhat.com>
2646
2647 * crossconfig.m4: Add support for cygwin x64 target.
2648 * configure: Regenerated.
2649
c0f6f2b4
KT
26502013-03-25 Kai Tietz <ktietz@redhat.com>
2651
2652 * testsuite/18_support/50594.cc: For mingw-targets use only static
2653 libstdc++-version.
2654 * testsuite/19_diagnostics/error_category/operators/equal.cc
2655 * testsuite/19_diagnostics/error_code/cons/1.cc
2656 * testsuite/19_diagnostics/error_code/operators/bool.cc
2657 * testsuite/19_diagnostics/error_code/operators/equal.cc
2658 * testsuite/19_diagnostics/error_code/operators/not_equal.cc
2659 * testsuite/19_diagnostics/error_condition/cons/1.cc
2660 * testsuite/19_diagnostics/error_condition/operators/bool.cc
2661 * testsuite/19_diagnostics/error_condition/operators/equal.cc
2662 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
2663 * testsuite/23_containers/set/requirements/exception/basic.cc
2664 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
2665 * testsuite/lib/dg-options.exp (dg-additional-options): New option.
2666
95a83503
JW
26672013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
2668
2669 PR libstdc++/56170
2670 * include/ext/debug_allocator.h (debug_allocator): Add missing members
2671 to meet allocator requirements.
2672 * testsuite/ext/debug_allocator/56170.cc: New.
2673
7ad68967
PC
26742013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
2675
2676 PR libstdc++/56678
2677 * include/std/chrono (__is_ratio): Uglify T.
2678
ad6fdc19
PC
26792013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
2680
2681 PR libstdc++/55977 (partial, std::vector and std::deque bits)
2682 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
2683 _InputIterator, std::input_iterator_tag)): Use emplace_back.
2684 * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
2685 _InputIterator, std::input_iterator_tag)): Likewise.
2686 * testsuite/23_containers/vector/cons/55977.cc: New.
2687 * testsuite/23_containers/deque/cons/55977.cc: Likewise.
2688 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2689 Adjust dg-error line number.
2690 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2691 Likewise.
2692
b4904956
PC
26932013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
2694
2695 PR libstdc++/55979
2696 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
2697 _InputIterator, __false_type)): Use emplace_back.
2698 * testsuite/23_containers/list/cons/55979.cc: New.
2699 * testsuite/23_containers/list/modifiers/1.h: Adjust.
2700 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2701 Adjust dg-error line number.
2702
5275b2c7
JM
27032013-03-16 Jason Merrill <jason@redhat.com>
2704
2705 PR c++/55017
2706 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
2707
c49cec93
JW
27082013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2709
2710 PR libstdc++/56468
2711 * libsupc++/exception_ptr.h (type_info): Declare.
2712
3442f18d
JW
27132013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2714
2715 PR libstdc++/56002
2716 * include/std/mutex (lock_guard, unique_lock, lock): Define without
2717 depending on _GLIBCXX_HAS_GTHREADS.
2718 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
2719
aaad548e
JW
27202013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2721
2722 PR libstdc++/56492
2723 * include/std/future (__future_base::_Result): Add result_type
2724 typedef.
2725 (__future_base::_S_allocate_result): Overload for std::allocator.
2726 (__future_base::_Task_setter): Use _Result::result_type instead of
2727 deducing the type from the task.
2728 (__future_base::_Task_state): Store allocator to allow shared state
2729 to be reset. Replace std::function with member of target object type
2730 accessed via ...
2731 (__future_base::_Task_state_base): New abstract base class.
2732 (__future_base::_Task_state_base::_M_run): New virtual function to
2733 invoke type-erased target object.
2734 (__future_base::_Task_state_base::_M_reset): New virtual function to
2735 create new shared_state using same target object and allocator.
2736 (__future_base::__create_task_state): Allocate a new _Task_state.
2737 (packaged_task::packaged_task): Use __create_task_state.
2738 (packaged_task::reset): Use _Task_state_base::_M_reset.
2739 * testsuite/30_threads/packaged_task/cons/56492.cc: New.
2740
83c214a8
TT
27412013-03-15 Tom Tromey <tromey@redhat.com>
2742
2743 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
2744 (PROBE2): New macro.
2745 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
2746 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
2747 * configure.ac: Check for sys/sdt.h.
2748 * configure, config.h.in: Rebuild.
2749
1f069142
JW
27502013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
2751
2752 PR libstdc++/56613
2753 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
2754 allocator_traits instead of calling construct directly.
2755 * testsuite/23_containers/map/56613.cc: New.
2756
10ace8a0
BK
27572013-03-13 Benjamin Kosnik <bkoz@redhat.com>
2758
2759 * doc/html/*: Regenerate.
2760
8a38ebb6
PC
27612013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
2762
2763 PR libstdc++/56609
2764 * include/std/type_traits (is_fundamental): Add std::nullptr_t.
2765 * testsuite/20_util/is_fundamental/value.cc: Extend.
2766 * testsuite/20_util/is_compound/value.cc: Likewise.
2767
03a42414
PC
27682013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
2769
2770 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
2771 -Wunused warnings.
2772
cd1e6665
BK
27732013-03-08 Benjamin Kosnik <bkoz@redhat.com>
2774
2775 * include/bits/memoryfwd.h: New. Centralize forward declarations.
2776 * include/bits/algorithmfwd.h: Consistent comments.
2777 * include/bits/localefwd.h: Same.
2778 * include/ext/vstring_fwd.h: Same.
2779 * include/parallel/algorithmfwd.h: Same.
2780 * include/parallel/numericfwd.h: Same.
2781 * include/std/iosfwd: Same.
2782
2783 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
2784 forward decl.
2785 * include/ext/alloc_traits.h: Remove allocator forward decl.
2786 * include/bits/stl_construct.h: Same.
2787 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
2788 forward decl. Consistent comments.
2789
2790 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
2791
2792 * include/Makefile.am (bits_headers): Add memoryfwd.h.
2793 * include/Makefile.in: Regenerate.
2794 * configure: Same.
2795
68d047cb
FD
27962013-03-08 François Dumont <fdumont@gcc.gnu.org>
2797
2798 * include/bits/vector.tcc (vector<>operator=(const vector<>&):
2799 Reset pointers after deallocation when memory can be reused.
2800 * testsuite/23_containers/vector/allocator/minimal.cc: Insert
2801 elements to really challenge C++11 allocator integration.
2802 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
2803 * testsuite/23_containers/vector/allocator/copy_assign.cc:
2804 Likewise.
2805 * testsuite/23_containers/vector/allocator/move_assign.cc:
2806 Likewise.
2807 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
2808 swap vector back before checks on memory/personality mapping are
2809 performed.
2810 * testsuite/23_containers/forward_list/allocator/minimal.cc:
2811 Insert element to really challenge C++11 allocator integration.
2812 * testsuite/23_containers/forward_list/allocator/copy.cc:
2813 Likewise.
2814 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
2815 Likewise.
2816 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
2817 Likewise.
2818 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
2819 and swap forward_list back before checks on memory/personality
2820 mapping are performed.
2821
d415f879
JJ
28222013-03-07 Jakub Jelinek <jakub@redhat.com>
2823
2824 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2825 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2826 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2827 Likewise.
2828 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2829 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2830 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2831 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2832 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2833 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2834
9ac0b841
RO
28352013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2836
2837 * scripts/extract_symvers.pl: Omit symbols bound to base
2838 versions.
2839 * scripts/extract_symvers.in: Likewise.
2840 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2841 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2842 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2843 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2844 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2845
0388c913
UD
28462013-03-04 Ulrich Drepper <drepper@gmail.com>
2847
2848 * include/ext/random (__gnu_cxx::von_mises_distribution<>):
2849 Optimize generation function by pulling computation of __r into the
2850 constructor for param_type. Also compare _M_mu in operator==.
2851 Fix comment.
2852
d233c237
UD
28532013-03-02 Ulrich Drepper <drepper@gmail.com>
2854
2855 Add triangular and von Mises distributions.
2856 * include/ext/random: Include <ext/cmath>.
2857 Add __gnu_cxx::triangular_distribution<> and
2858 __gnu_cxx::von_mises_distribution<> classes.
2859 * include/ext/random.tcc: Add out-of-line functions for
2860 __gnu_cxx::triangular_distribution<> and
2861 __gnu_cxx::von_mises_distribution<>.
2862 * testsuite/ext/triangular_distribution/cons/default.cc: New file.
2863 * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
2864 * testsuite/ext/triangular_distribution/operators/serialize.cc:
2865 New file.
2866 * testsuite/ext/triangular_distribution/operators/equal.cc:
2867 New file.
2868 * testsuite/ext/triangular_distribution/operators/inequal.cc:
2869 New file.
2870 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
2871 New file.
2872 * testsuite/ext/triangular_distribution/requirements/
2873 explicit_instantiation/1.cc: New file.
2874 * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
2875 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
2876 * testsuite/ext/von_mises_distribution/operators/serialize.cc:
2877 New file.
2878 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
2879 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
2880 New file.
2881 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
2882 New file.
2883 * testsuite/ext/von_mises_distribution/requirements/
2884 explicit_instantiation/1.cc: New file.
2885
2886 Add math constants.
2887 * include/Makefile.am (ext_headers): Add cmath.
2888 * include/Makefile.in: Regenerated.
2889 * include/ext/cmath: New file.
2890
63d4f19e
RO
28912013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2892
2893 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2894 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2895 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2896 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2897 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2898
a26f0501
JW
28992013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
2900
2901 PR libstdc++/56012
2902 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2903 * testsuite/29_atomics/atomic/operators/56012.cc: New.
2904
2905 PR libstdc++/56011
2906 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2907 missing overload.
2908 * testsuite/29_atomics/atomic/operators/56011.cc: New.
2909
bed152e3
JM
29102013-02-25 Jason Merrill <jason@redhat.com>
2911
2912 * configure.ac: Check for __cxa_thread_atexit_impl.
2913 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2914 to it if available.
2915 * config.h.in, configure: Regenerate.
2916
f1c69797
JW
29172013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2918
2919 * include/std/streambuf (basic_streambuf): Use injected class name
2920 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2921 group.
2922
2f2b63da
JW
29232013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2924
2925 * doc/html/faq.html: Fix spelling.
2926 * doc/xml/faq.xml: Likewise.
2927 * include/bits/basic_ios.h: Likewise.
2928 * include/bits/regex.h: Likewise.
2929 * include/std/istream: Likewise.
2930 * include/std/streambuf: Likewise.
2931
4731c966
JW
29322013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2933
2934 * testsuite/23_containers/unordered_set/55043.cc: Add missing
2935 namespace qualification.
2936 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2937
c0ffa2ba
BK
29382013-02-19 Benjamin Kosnik <bkoz@redhat.com>
2939
2940 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2941 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2942 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2943 * include/bits/stl_pair.h: Add to utilities group.
2944 * include/std/tuple: Same.
2945 * include/std/typeindex: Same.
2946
2947 * include/bits/stringfwd.h: Fix markup.
2948 * include/std/limits: Same.
2949 * include/std/type_traits: Same.
2950 * include/tr1/memory: Same.
2951 * include/tr1/regex: Same.
2952 * scripts/run_doxygen: Comment.
2953 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2954
5b858a6c
JM
29552013-02-14 Jason Merrill <jason@redhat.com>
2956
2957 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2958 test if unsupported.
2959
1c259e8b
MG
29602013-02-13 Marc Glisse <marc.glisse@inria.fr>
2961
2962 PR libstdc++/56111
2963 * include/std/complex (complex): Undefine.
2964 * include/c_compatibility/complex.h (complex): Only undefine if
2965 <complex> has been included.
2966 * testsuite/26_numerics/complex/56111.cc: New testcase.
2967
d9a3647a
FD
29682013-02-13 François Dumont <fdumont@gcc.gnu.org>
2969
2970 * include/bits/hashtable_policy.h (_Hash_code_base): Restore
2971 default constructor protected.
2972 * include/bits/hashtable.h: static assert that _Hash_code_base has
2973 a default constructor available through inheritance.
2974
fdec36ab
PC
29752013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2976
2977 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
2978 C++11 mode.
2979
1590a835
JB
29802013-02-12 Julian Brown <julian@codesourcery.com>
2981
2982 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
2983 Don't expect dots after abbreviated weekday names for ru_RU for
2984 glibc versions >= 2.17.
2985 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
2986 Likewise.
2987
60f3a59f
PC
29882013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2989
2990 * include/bits/random.tcc (__transform): Remove.
2991 (__normalize): Add.
2992 (discrete_distribution<>::param_type::_M_initialize): Adjust.
2993 (piecewise_constant_distribution<>::param_type::_M_initialize):
2994 Likewise.
2995 (piecewise_linear_distribution<>::param_type::_M_initialize):
2996 Likewise.
2997
6e1d47c4
BK
29982013-02-11 Benjamin Kosnik <bkoz@redhat.com>
2999
3000 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
3001 Use -fimplicit-templates.
3002 * src/c++11/Makefile.in: Regenerate.
3003 * src/c++11/hashtable_c++0x.cc: Remove instantiation for
3004 std::lower_bound template.
3005
42906f79
PC
30062013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
3007
3008 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
3009 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
3010 in C++11 mode and if available in the underlying C library.
3011 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
3012 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
3013 _GLIBCXX_HAVE_QUICK_EXIT.
3014
53b03cce
BK
30152013-02-11 Benjamin Kosnik <bkoz@redhat.com>
3016
3017 * doc/html/*: Regenerate.
42906f79 3018
cc999d03
JM
30192013-02-11 Jason Merrill <jason@redhat.com>
3020
3021 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
3022 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
3023 * config.h.in, configure: Regenerate.
3024 * include/c_std/cstdlib: Add atexit and at_quick_exit.
3025 * include/c_global/cstdlib: Add atexit and at_quick_exit.
3026 * testsuite/18_support/quick_exit/quick_exit.cc: New.
3027
3b424b30
PC
30282013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
3029
3030 PR libstdc++/56282
3031 Revert:
3032 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3033
3034 PR libstdc++/56193
3035 * include/bits/basic_ios.h: Replace operator void*() const
3036 with explicit operator bool() const in C++11 and greater.
3037 * testsuite/27_io/basic_ios/pr56193.cc: New file.
3038
adb1c4d1
FD
30392013-02-10 François Dumont <fdumont@gcc.gnu.org>
3040 Jonathan Wakely <jwakely.gcc@gmail.com>
3041
3042 * doc/xml/manual/containers.xml: Add section on unordered containers.
3043 * doc/xml/manual/using.xml: Fix incomplete sentence.
3044
a9b68b82
JW
30452013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
3046
dfed5434
JW
3047 PR libstdc++/56267
3048 * include/bits/hashtable.h (__cache_default): Check if hash function
3049 is copy assignable.
3050 * testsuite/23_containers/unordered_set/56267.cc: New.
3051 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
3052 dg-error line number.
3053 * testsuite/23_containers/unordered_set/
3054 not_default_constructible_hash_neg.cc: Likewise.
3055
a9b68b82
JW
3056 PR libstdc++/56278
3057 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
3058 constructor public.
3059 * testsuite/23_containers/unordered_set/56278.cc: New.
3060
0112ed60
FD
30612013-02-09 François Dumont <fdumont@gcc.gnu.org>
3062
3063 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
3064 simplification.
3065
be59c932
ESR
30662013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
3067
3068 PR libstdc++/56216
3069 * include/tr1/special_function_util.h: Remove spurious const
3070 from numeric arguments.
3b424b30
PC
3071 * include/tr1/riemann_zeta.tcc: Likewise.
3072 * include/tr1/exp_integral.tcc: Likewise.
3073 * include/tr1/bessel_function.tcc: Likewise.
3074 * include/tr1/hypergeometric.tcc: Likewise.
3075 * include/tr1/modified_bessel_func.tcc: Likewise.
3076 * include/tr1/poly_laguerre.tcc: Likewise.
3077 * include/tr1/gamma.tcc: Likewise.
3078 * include/tr1/legendre_function.tcc: Likewise.
3079 * include/tr1/poly_hermite.tcc: Likewise.
3080 * include/tr1/ell_integral.tcc: Likewise.
be59c932
ESR
3081 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
3082 If argument is zero return function value.
3b424b30
PC
3083 * testsuite/tr1/5_numerical_facilities/special_functions/
3084 08_cyl_bessel_i/pr56216.cc: New.
be59c932 3085
54353978
PC
30862013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
3087
3088 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
3089
fcf0430b
ESR
30902013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3091
54353978 3092 PR libstdc++/56193
fcf0430b
ESR
3093 * include/bits/basic_ios.h: Replace operator void*() const
3094 with explicit operator bool() const in C++11 and greater.
3095 * testsuite/27_io/basic_ios/pr56193.cc: New file.
3096
c8ab2cfa
DS
30972013-02-04 Dodji Seketeli <dodji@redhat.com>
3098
3099 Add missing explicit instantiation for std::lower_bound template
3100 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
3101 missing instantiation for std::lower_bound template.
3102
4df047dd
FD
31032013-02-04 François Dumont <fdumont@gcc.gnu.org>
3104
3105 * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
3106 * include/bits/basic_string.h: Specialize previous to mark
3107 std::hash for string types as slow.
3108 * include/bits/hashtable.h (__cache_default): Replace is_integral
3109 with __is_fast_hash.
3110 * src/c++11/hash_c++0x.cc: Add type_traits include.
3111 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3112 Adapt dg-error line number.
3113 * testsuite/23_containers/unordered_set/
3114 not_default_constructible_hash_neg.cc: Likewise.
3115
9ea146e6
MLI
31162013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3117 Paolo Carlini <paolo.carlini@oracle.com>
3118
3119 PR libstdc++/56202 (again)
3120 * include/bits/random.tcc (binomial_distribution<>::
3121 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
3122 in previous commit.
3123
3124 * include/bits/random.h: Fix comment typo.
3125
85018f40
MLI
31262013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3127 Paolo Carlini <paolo.carlini@oracle.com>
3128
3129 PR libstdc++/56202
3130 * include/bits/random.tcc (binomial_distribution<>::
3131 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
3132 division by zero.
3133
405feeb8
RS
31342013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3135
3136 Update copyright years.
3137 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
3138 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
3139 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
3140 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
3141 testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
3142 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
3143 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
3144 testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
3145 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
3146 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
3147 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
3148 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
3149 testsuite/29_atomics/atomic/cons/assign_neg.cc,
3150 testsuite/29_atomics/atomic/cons/copy_neg.cc,
3151 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
3152 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
3153 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
3154 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
3155 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
3156 Update lines in dg error matches.
3157
5031121c
RS
31582013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3159
3160 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
3161
6e147946
FD
31622013-02-01 François Dumont <fdumont@gcc.gnu.org>
3163
3164 * include/bits/hashtable_policy.h
3165 (_Prime_rehash_policy::_M_next_bkt)
3166 (_Prime_rehash_policy::_M_need_rehash): Move definition...
3167 * src/c++11/hashtable_c++0x.cc: ... here.
3168 * src/shared/hashtable-aux.cc: Remove c++config.h include.
3169 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
3170 symbols.
3171
2ee8a2d5
JM
31722013-01-29 Jason Merrill <jason@redhat.com>
3173
3174 PR libstdc++/54314
3175 * config/abi/pre/gnu.ver: Don't export construction vtables.
3176 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
3177
0addb273
JW
31782013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
3179
3180 PR libstdc++/56112
3181 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
3182 to construct value_type explicitly before trying to extract the key.
3183 * testsuite/23_containers/unordered_map/cons/56112.cc: New.
3184
5b3be7cf
FD
31852013-01-28 François Dumont <fdumont@gcc.gnu.org>
3186
3187 * include/bits/hashtable_policy.h (_Local_iterator_base): Use
3188 _Hashtable_ebo_helper to embed functors into the local_iterator
3189 when necessary. Pass information about functors involved in hash
3190 code by copy.
3191 * include/bits/hashtable.h (__cache_default): Do not cache for
3192 builtin integral types unless the hash functor is not noexcept
3193 qualified or is not default constructible. Adapt static assertions
3194 and local iterator instantiations.
3195 * include/debug/unordered_set
3196 (std::__debug::unordered_set<>::erase): Detect local iterators to
3197 invalidate using contained node rather than generating a dummy
3198 local_iterator instance.
3199 (std::__debug::unordered_multiset<>::erase): Likewise.
3200 * include/debug/unordered_map
3201 (std::__debug::unordered_map<>::erase): Likewise.
3202 (std::__debug::unordered_multimap<>::erase): Likewise.
3203 * testsuite/performance/23_containers/insert_erase/41975.cc: Test
3204 std::tr1 and std versions of unordered_set regardless of any
3205 macro. Add test on default cache behavior.
3206 * testsuite/performance/23_containers/insert/54075.cc: Likewise.
3207 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3208 Adapt line number.
3209 * testsuite/23_containers/unordered_set/
3210 not_default_constructible_hash_neg.cc: New.
3211 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
3212
91f4a9e3
PC
32132013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
3214
3215 PR libstdc++/56085
3216 * include/std/complex (pow(const complex<>&, int)): Avoid __n
3217 signed overflow.
3218
0a18c815
JJ
32192013-01-22 Jakub Jelinek <jakub@redhat.com>
3220
3221 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3222 Tightten scan-assembler-times regexps, add dg-additional-options for
3223 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
3224 dg-options.
3225
d76b6ea4
AK
32262013-01-12 Andi Kleen <ak@linux.intel.com>
3227 Jonathan Wakely <jwakely.gcc@gmail.com>
3228
318c94c0 3229 PR libstdc++/55233
d76b6ea4
AK
3230 * include/bits/atomic_base.h (__memory_order_modifier): Add
3231 __memory_order_mask, __memory_order_modifier_mask,
3232 __memory_order_hle_acquire, __memory_order_hle_release.
3233 (operator|,operator&): Add.
3234 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
3235 (__cmpexch_failure_order): Add.
3236 (clear, store, load, compare_exchange_weak, compare_exchange_strong):
3237 Handle flags.
3238 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3239 Add.
3240
c93fa3ca
JW
32412013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
3242
3243 PR libstdc++/55861
3244 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
3245 Fix return type.
3246 (__basic_future::_M_get_result()): Const qualify.
3247 (shared_future::get()): Likewise.
3248 * testsuite/30_threads/shared_future/members/get.cc: Use const
3249 objects.
3250
b7202baf
JW
32512013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3252
3253 PR libstdc++/55043 (again)
3254 * include/bits/alloc_traits.h (allocator_traits::construct): Disable
3255 unless construction would be well-formed.
3256 (__allow_copy_cons, __check_copy_constructible): Define.
3257 * include/bits/unordered_map.h (__check_copy_constructible): Use as
3258 base class so copy constructor will be deleted if appropriate.
3259 (is_copy_constructible): Remove specialization.
3260 * include/bits/unordered_set.h: Likewise.
3261 * include/debug/unordered_map.h: Undo previous commit. Default copy
3262 and move constructors.
3263 * include/debug/unordered_set.h: Likewise.
3264 * include/profile/unordered_map.h: Undo previous commit.
3265 * include/profile/unordered_set.h: Likewise.
3266 * testsuite/23_containers/unordered_map/55043.cc: Fix test.
3267 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
3268 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3269 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
3270 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
3271 cannot support incomplete types.
3272 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
3273 Likewise.
3274
8175e986
JW
32752013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3276
3277 PR libstdc++/55043
3278 * include/std/unordered_map: Include alloc_traits.h
3279 * include/std/unordered_set: Likewise.
3280 * include/bits/alloc_traits.h: Define __is_copy_insertable.
3281 * include/bits/unordered_map.h: Use it.
3282 * include/bits/unordered_set.h: Likewise.
3283 * include/debug/unordered_map.h: Likewise.
3284 * include/debug/unordered_set.h: Likewise.
3285 * include/profile/unordered_map.h: Likewise.
3286 * include/profile/unordered_set.h: Likewise.
3287 * include/bits/hashtable.h: Fix comment typos.
3288 * testsuite/23_containers/unordered_map/55043.cc: New.
3289 * testsuite/23_containers/unordered_multimap/55043.cc: New.
3290 * testsuite/23_containers/unordered_multiset/55043.cc: New.
3291 * testsuite/23_containers/unordered_set/55043.cc: New.
3292
93b2c9a5
JJ
32932013-01-03 Janis Johnson <janisjo@codesourcery.com>
3294
3295 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
3296 gdb command.
3297
965f0c57
JW
32982013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3299
3300 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
3301
890e1665
JW
33022013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3303
3304 PR libstdc++/55908
3305 * include/std/functional (_Mem_fn::operator()): Fix constraints to
3306 avoid ambiguity.
3307 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
3308 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
3309
1191c46b
RO
33102013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3311
3312 PR libstdc++/55594
3313 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
3314 Solaris targets.
3315 * configure: Regenerate.
3316
78aff336
JW
33172013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
3318
3319 PR libstdc++/55847
3320 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
3321 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
3322 string.
3323
3324 PR libstdc++/55728
3325 * include/std/functional (bad_function_call::what()): Declare.
3326 * src/c++11/functional.cc (bad_function_call::what()): Define.
3327 * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
3328 * testsuite/20_util/bad_function_call/what.cc: New.
3329
1c2620dd
JW
33302013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3331
3332 * include/bits/unordered_map.h: Fix typo in comments.
3333 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
3334 counts for unordered associative containers.
3335
ac43ff42
JW
33362013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3337
3338 * doc/xml/manual/abi.xml: Update library and symbol versions.
3339
adf8bb4f
RS
33402013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3341
3342 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
3343 in copyright years.
3344 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3345
86a2db33
JJ
3346\f
3347Copyright (C) 2013 Free Software Foundation, Inc.
3cc6dd4d 3348
86a2db33
JJ
3349Copying and distribution of this file, with or without modification,
3350are permitted in any medium without royalty provided the copyright
3351notice and this notice are preserved.