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