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