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