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