1 2013-11-11 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
12 2013-11-09 Jonathan Wakely <jwakely.gcc@gmail.com>
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/
24 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
26 * testsuite/20_util/specialized_algorithms/uninitialized_fill/
28 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
30 * testsuite/25_algorithms/copy/58982.cc: New.
31 * testsuite/25_algorithms/copy_n/58982.cc: New.
33 2013-11-08 François Dumont <fdumont@gcc.gnu.org>
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
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
49 * include/debug/safe_local_iterator.tcc: Adapt.
50 * include/debug/forward_list
51 (_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.
53 2013-11-08 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
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.
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.
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.
87 * include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
88 vector<bool> storage is not contiguous.
90 2013-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
99 2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
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:
112 * testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
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
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
129 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
131 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
134 2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
136 * doc/xml/manual/status_cxx2011.xml: Document aligned_union as
139 2013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
140 Paolo Carlini <paolo.carlini@oracle.com>
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
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.
151 2013-11-01 Michael Brune <lucdanton@free.fr>
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.
202 2013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
204 * include/bits/stl_function.h (logical_not<void>): Add noexcept.
206 2013-11-01 Paolo Carlini <paolo.carlini@oracle.com>
209 * include/c_global/cstdio: Undef getchar.
211 2013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
223 2013-10-31 Jonathan Wakely <jwakely.gcc@gmail.com>
225 * include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
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.
233 2013-10-31 Steve Ellcey <sellcey@mips.com>
235 * configure.ac: Add header checks for fenv.h and complex.h.
236 * configure: Regenerate.
238 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
240 Implement C++14 digit separators.
241 * include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
242 to struct _Digit<_Base, '\''>.
244 2013-10-31 Paolo Carlini <paolo.carlini@oracle.com>
246 * testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.
248 2013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com>
250 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
251 and enable VERIFY tests.
253 2013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
264 2013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
274 2013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
281 2013-10-28 Tim Shen <timshen91@gmail.com>
283 * regex_executor.tcc: Add comments.
285 2013-10-26 Tim Shen <timshen91@gmail.com>
287 * include/bits/regex.h: Remove unnecessary friends.
288 * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
290 * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
291 they are merged into _Executor. Eliminate quantifier tracking part, so
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
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
303 2013-10-25 François Dumont <fdumont@gcc.gnu.org>
305 * include/debug/formatter.h (__check_singular): Add const on
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
311 (__check_dereferenceable(const _Safe_local_iterator<>&)): New.
312 * include/debug/safe_iterator.h (__check_singular_aux): Review
314 * testsuite/23_containers/vector/debug/debug_functions.cc: New.
315 * testsuite/23_containers/unordered_set/debug/debug_functions.cc:
318 2013-10-23 Chris Jefferson <chris@bubblescope.net>
319 Paolo Carlini <paolo.carlini@oracle.com>
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
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.
329 2013-10-23 Jason Merrill <jason@redhat.com>
331 * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
333 2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
336 * include/std/chrono (minutes, hours): Change typedefs to uniformly
338 * testsuite/20_util/duration/arithmetic/58850.cc: New.
340 2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
342 * testsuite/decimal/pr58815.cc: Fix thinko.
344 2013-10-23 Paolo Carlini <paolo.carlini@oracle.com>
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.
352 2013-10-22 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
359 2013-10-22 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
367 2013-10-21 Edward Smith-Rowland <3dw4rd@verizon.net>
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().
380 2013-10-20 Tim Shen <timshen91@gmail.com>
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.
391 2013-10-20 Chris Jefferson <chris@bubblescope.net>
392 Paolo Carlini <paolo.carlini@oracle.com>
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
399 2013-10-18 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
411 2013-10-18 Tim Shen <timshen91@gmail.com>
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:
419 2013-10-17 Tim Shen <timshen91@gmail.com>
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
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.
438 2013-10-16 Tim Shen <timshen91@gmail.com>
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
445 2013-10-15 Diego Novillo <dnovillo@google.com>
447 * testsuite/20_util/exchange/1.cc: Add missing function
450 2013-10-15 Tim Shen <timshen91@gmail.com>
453 * include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
455 * include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
457 2013-10-11 H.J. Lu <hongjiu.lu@intel.com>
459 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
461 2013-10-10 Marcus Shawcroft <marcus.shawcroft@arm.com>
463 * testsuite/29_atomics/atomic/cons/49445.cc
464 (dg-require-atomic-builtins): Add.
466 2013-10-09 Jonathan Wakely <jwakely.gcc@gmail.com>
468 * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
471 2013-10-09 Marcus Shawcroft <marcus.shawcroft@arm.com>
473 * testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort().
475 2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com>
477 * testsuite/*: Remove stray semi-colons after function definitions.
479 2013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
491 2013-10-08 Tim Shen <timshen91@gmail.com>
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.
499 2013-10-06 Tim Shen <timshen91@gmail.com>
501 * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
503 * include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
505 2013-10-06 Tim Shen <timshen91@gmail.com>
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
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
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:
523 * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
525 * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
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:
532 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
533 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
535 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
537 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
538 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
540 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
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:
547 * testsuite/28_regex/algorithms/regex_match/extended/
548 string_questionmark.cc: Same.
549 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
551 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
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:
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.
572 2013-10-06 Oleg Endo <olegendo@gcc.gnu.org>
573 Paolo Carlini <paolo.carlini@oracle.com>
576 * include/c_global/cmath (signbit): Use __builtin_signbitf and
579 2013-10-03 Tim Shen <timshen91@gmail.com>
581 * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
582 backup variable initialization.
584 2013-10-03 John Woolverton <jdwoolverton@gmail.com>
587 * include/std/vector: Fix garbled line in HP Copyright.
589 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
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::.
595 2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
596 Daniel Krugler <daniel.kruegler@gmail.com>
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.
603 2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
610 2013-10-02 Tim Shen <timshen91@gmail.com>
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.
619 2013-10-01 Tim Shen <timshen91@gmail.com>
621 * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
622 "is not correctly implemented".
624 2013-10-01 Tim Shen <timshen91@gmail.com>
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).
631 2013-10-01 François Dumont <fdumont@gcc.gnu.org>
633 * include/parallel/algobase.h (mismatch, equal): Provide parallel
634 version for N3671 overloads.
636 2013-10-01 Paul Pluzhnikov <ppluzhnikov@google.com>
638 * src/c++11/snprintf_lite.cc: Add missing
639 _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
641 2013-10-01 Joern Rennecke <joern.rennecke@embecosm.com>
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.
647 2013-10-01 Tim Shen <timshen91@gmail.com>
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.
654 2013-09-30 Paolo Carlini <paolo.carlini@oracle.com>
656 * include/parallel/algo.h (__find_switch): Use __binder2nd.
658 2013-09-30 Chris Jefferson <chris@bubblescope.net>
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.
668 2013-09-28 François Dumont <fdumont@gcc.gnu.org>
670 * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
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.
683 2013-09-28 Tim Shen <timshen91@gmail.com>
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
690 2013-09-27 François Dumont <fdumont@gcc.gnu.org>
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
698 (make_heap): Adapt to use latter.
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.
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
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.
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.
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
738 (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
739 (__unguarded_partition, __unguarded_partition_pivot): Likewise.
740 (__partial_sort): New.
741 (partial_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
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
756 (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
757 (__inplace_stable_sort): Likewise.
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.
776 (count_if): Likewise.
779 (__stable_sort): New.
780 (stable_sort): Use latter.
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
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.
806 2013-09-27 Jonathan Wakely <jwakely.gcc@gmail.com>
809 * include/std/functional
810 (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
812 * testsuite/20_util/function/cons/57465.cc: New.
814 2013-09-26 Tim Shen <timshen91@gmail.com>
816 * regex_error.h: Remove _S_error_last to follow the standard.
818 (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
820 (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
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:
827 2013-09-25 Marc Glisse <marc.glisse@inria.fr>
830 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
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&)):
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++]:
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]:
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.
873 2013-09-24 Marc Glisse <marc.glisse@inria.fr>
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.
887 2013-09-24 Tim Shen <timshen91@gmail.com>
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:
908 * testsuite/28_regex/match_results/format.cc: New.
909 * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
911 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
913 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
915 * src/c++11/snprintf_lite.cc (__concat_size_t): Use
916 unsigned long long conditionally.
918 2013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com>
920 * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
921 std::__int_to_char<unsigned long long>()
923 2013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com>
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:
946 * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
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:
952 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
954 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
955 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
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.
961 2013-09-20 Jakub Jelinek <jakub@redhat.com>
964 * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
965 -fdiagnostics-color=never to cxxflags.
967 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
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]:
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
996 [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
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:
1009 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1011 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1013 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1016 2013-09-20 Alan Modra <amodra@gmail.com>
1018 * configure: Regenerate.
1020 2013-09-19 Marc Glisse <marc.glisse@inria.fr>
1023 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
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!=]:
1030 (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
1031 operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
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&)]:
1045 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
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]:
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]:
1062 (list::_M_check_equal_allocators): Abort instead of throwing.
1063 * include/debug/array (array) [operator[], front, back]: Mark as
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.
1072 2013-09-18 Tim Shen <timshen91@gmail.com>
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:
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.
1097 2013-09-18 Paolo Carlini <paolo.carlini@oracle.com>
1099 * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
1101 2013-09-18 Marc Glisse <marc.glisse@inria.fr>
1104 * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
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&)):
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:
1127 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1129 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1131 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1134 2013-09-17 Marc Glisse <marc.glisse@inria.fr>
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
1158 (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
1159 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
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:
1168 2013-09-14 Tim Shen <timshen91@gmail.com>
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
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:
1193 2013-09-13 Paolo Carlini <paolo.carlini@oracle.com>
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.
1202 2013-09-12 Paolo Carlini <paolo.carlini@oracle.com>
1205 * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
1206 operator+=, operator+, operator-=, operator-): Take the argument
1208 * testsuite/24_iterators/normal_iterator/58403.cc: New.
1210 2013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com>
1211 Chris Jefferson <chris@bubblescope.net>
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.
1219 2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
1221 * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
1222 from char to wchar_t, literals from 'x' to L'x'.
1224 2013-09-10 Kai Tietz <ktietz@redhat.com>
1227 * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
1230 2013-09-07 Paolo Carlini <paolo.carlini@oracle.com>
1233 * include/bits/stl_algobase.h (copy_backward): Fix documentation
1236 2013-09-05 Tim Shen <timshen91@gmail.com>
1238 * include/bits/regex_automaton.h: Add dummy node type. Rewrite
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:
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
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:
1260 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1262 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
1264 2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
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.
1273 2013-09-02 Tim Shen <timshen91@gmail.com>
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
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:
1286 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
1287 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1289 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1291 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
1292 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1294 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
1296 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
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
1303 * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
1305 2013-08-30 François Dumont <fdumont@gcc.gnu.org>
1308 * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
1309 __gnu_debug::__base calls on iterators passed to internal debug
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.
1323 2013-08-29 Tim Shen <timshen91@gmail.com>
1325 * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
1326 (regex_iterator<>::regex_iterator): Return nullptr when regex_search
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
1336 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1338 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1341 2013-08-26 Tim Shen <timshen91@gmail.com>
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
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.
1360 2013-08-22 Tim Shen <timshen91@gmail.com>
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.
1371 2013-08-22 Tim Shen <timshen91@gmail.com>
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:
1379 2013-08-20 Phil Muldoon <pmuldoon@redhat.com>
1382 http://sourceware.org/bugzilla/show_bug.cgi?id=15195
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.
1390 2013-08-20 Tim Shen <timshen91@gmail.com>
1392 * include/bits/regex_constants.h: Add underlying `unsigned int` for
1393 enum syntax_option_type.
1395 2013-08-18 Tim Shen <timshen91@gmail.com>
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.
1404 2013-08-16 Tim Shen <timshen91@gmail.com>
1406 * include/bits/regex.h (regex_traits<>::transform_primary):
1407 Avoid past-the-end dereferences.
1409 2013-08-14 Paolo Carlini <paolo.carlini@oracle.com>
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:
1417 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
1419 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
1420 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
1422 2013-08-14 Uros Bizjak <ubizjak@gmail.com>
1424 * src/c++98/compatibility.cc (_ZTIe): Use
1425 reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
1429 2013-08-09 Tim Shen <timshen91@gmail.com>
1431 * include/bits/regex_constants.h: Change syntax_option_type to enum
1434 2013-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1436 * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
1438 2013-08-08 François Dumont <fdumont@gcc.gnu.org>
1440 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1441 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
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:
1454 2013-08-07 Tim Shen <timshen91@gmail.com>
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.
1471 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
1473 * include/ext/atomicity.h: Add #pragma GCC system_header.
1475 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
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:
1484 testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
1486 * testsuite/26_numerics/random/extreme_value_distribution/cons/
1488 testsuite/26_numerics/random/extreme_value_distribution/cons/
1489 default.cc: Likewise.
1490 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
1492 * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
1494 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
1496 * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
1498 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
1499 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
1501 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
1503 * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
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.
1511 2013-08-06 Caroline Tice <cmtice@google.com>
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
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.
1551 2013-08-06 Paolo Carlini <paolo.carlini@oracle.com>
1553 Revert the last commit.
1555 2013-08-06 François Dumont <fdumont@gcc.gnu.org>
1557 * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1558 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
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:
1570 2013-08-03 Tim Shen <timshen91@gmail.com>
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
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.
1583 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
1585 * include/debug/functions.h (__foreign_iterator_aux4):
1586 Initialize __l and __ge.
1588 2013-08-02 Paolo Carlini <paolo.carlini@oracle.com>
1591 * include/debug/functions.h: Include <bits/move.h>; minor formatting
1593 (__foreign_iterator_aux4): Declare __l and __ge constexpr.
1594 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
1596 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
1597 operator->): Likewise.
1599 2013-08-01 François Dumont <fdumont@gcc.gnu.org>
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
1607 (__foreign_iterator): New, check if an iterator points to a given
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<>):
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:
1636 2013-08-01 Fabien Chêne <fabien@gcc.gnu.org>
1639 * include/tr1/cmath: Remove pow(double,double) overload, remove a
1640 duplicated comment about DR 550. Add a comment to explain the
1642 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
1644 2013-07-31 Tim Shen <timshen91@gmail.com>
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:
1656 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1658 * testsuite/28_regex/algorithms/regex_match/extended/
1659 string_dispatch_01.cc: New.
1661 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
1664 * include/bits/stl_bvector.h: Use friend struct hash intead of
1665 friend class hash to work around useless warnings produced by
1667 * include/std/bitset: Likewise.
1669 2013-07-31 Paolo Carlini <paolo.carlini@oracle.com>
1671 * src/c++11/functexcept.cc: Do not include the whole <regex>.
1672 * src/c++11/regex.cc: Likewise.
1674 2013-07-31 Tim Shen <timshen91@gmail.com>
1678 2013-07-31 Tim Shen <timshen91@gmail.com>
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:
1690 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1692 * testsuite/28_regex/algorithms/regex_match/extended/
1693 string_dispatch_01.cc: New.
1695 2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
1699 2013-07-30 Tim Shen <timshen91@gmail.com>
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:
1711 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1713 * testsuite/28_regex/algorithms/regex_match/extended/
1714 string_dispatch_01.cc: New.
1716 2013-07-29 Nathan Froyd <froydnj@gcc.gnu.org>
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:
1725 2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
1727 * include/std/complex (pow(const complex<>&, int)): Enable in
1729 * testsuite/26_numerics/complex/dr844.cc: Adjust.
1730 * doc/xml/manual/intro.xml: Update.
1732 2013-07-25 Tim Shen <timshen91@gmail.com>
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.
1741 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
1744 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
1747 2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
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*.
1755 2013-07-24 Tim Shen <timshen91@gmail.com>
1757 Reimplment matcher using Depth-first search(backtracking).
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:
1769 2013-07-23 Tim Shen <timshen91@gmail.com>
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:
1775 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
1777 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
1779 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1782 2013-07-23 Paolo Carlini <paolo.carlini@oracle.com>
1784 * include/std/random: Add back <cstdio> include.
1785 * src/c++11/random.cc: Don't include <cstdio> here.
1787 2013-07-22 Jason Merrill <jason@redhat.com>
1790 * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
1792 2013-07-22 Paolo Carlini <paolo.carlini@oracle.com>
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.
1799 2013-07-21 Tim Shen <timshen91@gmail.com>
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.
1807 2013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com>
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
1814 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
1815 * src/Makefile.am: Add new source file.
1816 * src/Makefile.in: Regenerate.
1818 2013-07-09 Tim Shen <timshen91@gmail.com>
1820 Implement class regex_traits.
1821 * include/bits/regex.h: Implement lookup_classname and
1822 lookup_collatename; modify isctype; partially implement
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.
1833 2013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net>
1835 * doc/xml/manual/status_cxx2014.xml: Add links for papers.
1837 2013-07-05 François Dumont <fdumont@gcc.gnu.org>
1839 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
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.
1850 2013-07-05 Paolo Carlini <paolo.carlini@oracle.com>
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:
1856 * testsuite/23_containers/vector/bool/modifiers/insert/
1857 const_iterator.cc: Likewise.
1858 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
1861 2013-07-04 Veres Lajos <vlajos@gmail.com>
1862 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
1876 2013-07-04 Ray Chason <chasonr@newsguy.com>
1877 Paolo Carlini <paolo.carlini@oracle.com>
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.
1884 2013-07-01 Paolo Carlini <paolo.carlini@oracle.com>
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:
1911 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
1913 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
1915 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
1917 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
1919 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
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:
1931 2013-06-30 Paolo Carlini <paolo.carlini@oracle.com>
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:
1945 * testsuite/23_containers/vector/bool/modifiers/insert/
1946 const_iterator.cc: Likewise.
1947 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
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:
1958 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
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:
1967 2013-06-29 François Dumont <fdumont@gcc.gnu.org>
1969 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
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:
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
1982 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
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.
1992 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
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/.
2006 2013-06-27 Paolo Carlini <paolo.carlini@oracle.com>
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
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:
2040 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2042 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
2044 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2046 * testsuite/23_containers/vector/bool/modifiers/insert/
2047 const_iterator.cc: Likewise.
2048 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
2050 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2052 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2054 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2056 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2058 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
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/.
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:
2078 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
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:
2086 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
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:
2095 2013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
2102 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
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:
2108 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
2109 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
2112 2013-06-25 Paolo Carlini <paolo.carlini@oracle.com>
2115 * include/bits/char_traits.h (char_traits<char>::lt): Implement
2117 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
2119 2013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
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.
2126 2013-06-22 Paolo Carlini <paolo.carlini@oracle.com>
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.
2138 2013-06-21 Paolo Carlini <paolo.carlini@oracle.com>
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.
2145 2013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2155 2013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com>
2156 Chris Jefferson <chris@bubblescope.net>
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.
2164 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2166 * include/std/shared_mutex (shared_lock::operator=): Add missing
2169 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2180 2013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2209 2013-06-15 Paolo Carlini <paolo.carlini@oracle.com>
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.
2217 2013-06-14 Alan Modra <amodra@gmail.com>
2219 * configure.host (abi_baseline_pair): Match powerpc64*.
2221 2013-06-13 Daniel Krugler <daniel.kruegler@gmail.com>
2223 * include/std/type_traits (is_function): Support ref-qualified
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
2231 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
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.
2248 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2250 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2252 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2255 2013-06-13 Paolo Carlini <paolo.carlini@oracle.com>
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.
2262 2013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net>
2265 * include/tr1/modified_bessel_func.tcc (__airy): Remove return
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.
2271 2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
2278 2013-06-11 Paolo Carlini <paolo.carlini@oracle.com>
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.
2286 2013-06-10 Benjamin Kosnik <bkoz@redhat.com>
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.
2296 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
2297 * testsuite/util/testsuite_containers.h (erase_external): New
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:
2315 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
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.
2326 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
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:
2334 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
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:
2347 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
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:
2367 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
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:
2374 * testsuite/30_threads/condition_variable_any/members/2.cc:
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:
2406 * testsuite/30_threads/packaged_task/members/get_future.cc:
2408 * testsuite/30_threads/packaged_task/members/get_future2.cc:
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:
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:
2435 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2436 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
2438 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
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:
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:
2450 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
2452 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
2454 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
2456 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2458 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2460 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2462 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2464 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2466 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
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:
2476 * testsuite/30_threads/shared_future/members/wait_until.cc:
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:
2500 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
2501 * testsuite/30_threads/thread/native_handle/typesizes.cc:
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:
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:
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:
2541 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
2543 * testsuite/util/testsuite_performance.h: Extend current handling
2544 of Linux-based systems to cover all glibc-based systems.
2546 2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2553 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
2563 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
2571 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2573 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
2576 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2589 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2591 * include/std/type-traits (integral_constant::operator()): Implement
2593 * testsuite/20_util/integral_constant/call_operator.cc: New.
2594 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2596 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2598 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2601 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
2603 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2605 2013-06-05 Tom Tromey <tromey@redhat.com>
2607 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
2609 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
2612 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
2614 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
2616 * include/std/chrono: Collapse redundant 'inline' from 'inline
2618 * include/std/tuple: Ditto.
2619 * include/bits/move.h: Ditto.
2621 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
2637 2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2643 2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2645 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2648 2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
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.
2655 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
2657 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
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:
2663 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2665 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2666 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
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:
2675 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2676 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2678 2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2680 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
2681 (CLOCK_MONOTONIC): Define.
2683 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
2685 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
2688 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
2690 2013-05-24 Jakub Jelinek <jakub@redhat.com>
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
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:
2716 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2718 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2719 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
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:
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.
2734 2013-05-23 Matthias Klose <doko@ubuntu.com>
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.
2744 2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2751 2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2758 2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2774 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
2776 * Revert last commit.
2778 2013-05-19 Matthias Klose <doko@ubuntu.com>
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.
2787 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
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
2793 * src/c++11/compatibility-c++0x.cc: Here.
2795 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2797 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
2799 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
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
2808 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2810 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2812 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2814 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2816 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
2818 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
2820 * include/std/utility (exchange): Define.
2821 * testsuite/20_util/exchange/1.cc: New.
2823 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
2830 2013-05-15 François Dumont <fdumont@gcc.gnu.org>
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.
2837 2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2839 * include/bits/basic_string.h (getline): Fix doxygen comments.
2841 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
2843 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2844 Use std::pointer_traits.
2846 2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
2848 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
2850 * libsupc++/Makefile.in: Regenerate.
2851 * libsupc++/bad_array_length.cc: Tweak.
2852 * libsupc++/bad_array_new.cc: Tweak.
2854 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
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:
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:
2895 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
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:
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:
2912 2013-05-09 Uros Bizjak <ubizjak@gmail.com>
2914 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
2916 2013-05-08 Jason Merrill <jason@redhat.com>
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.
2926 2013-05-08 Andi Kleen <ak@linux.intel.com>
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.
2936 2013-05-08 Jason Merrill <jason@redhat.com>
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.
2946 2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
2949 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
2951 * include/Makefile.in: Regenerated.
2953 2013-05-07 François Dumont <fdumont@gcc.gnu.org>
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<>):
2966 (std::profile::unordered_multiset<>): Likewise.
2967 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
2968 MoveOnly equality operator signature.
2970 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
2972 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
2973 constexpr_data.cc: Move...
2974 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
2976 * testsuite/20_util/integral_constant/requirements/
2977 explicit_instantiation.cc: New.
2978 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
2980 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
2981 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
2983 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
2984 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
2986 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
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:
2995 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
2996 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2998 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3000 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3003 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
3005 * include/c_global/cstdio: Add comment about LWG 2249.
3006 * include/c_std/cstdio: Likewise.
3008 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
3010 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
3012 * include/std/mutex (__recursive_mutex_base): Likewise.
3014 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
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
3029 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
3031 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
3032 dialect to -std=gnu++11.
3034 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
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.
3040 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
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.
3046 2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3049 * include/debug/unordered_map (unordered_map, unordered_multimap):
3050 Fix default allocator type.
3051 * include/profile/unordered_map (unordered_map, unordered_multimap):
3053 * include/bits/unordered_map.h: Fix comments.
3055 2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3070 2013-04-22 Jason Merrill <jason@redhat.com>
3072 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
3074 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
3075 substitution" lines.
3077 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
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.
3083 2013-04-22 François Dumont <fdumont@gcc.gnu.org>
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
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:
3115 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
3116 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
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:
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:
3130 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
3131 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
3133 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
3134 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
3136 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
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:
3143 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3145 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
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):
3155 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
3158 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
3159 * testsuite/25_algorithms/pop_heap/57010.cc: New.
3161 2013-04-21 Evgeniy Stepanov <eugenis@google.com>
3163 * src/c++11/system_error.cc (generic_category_instance): Add
3165 (system_category_instance): Likewise.
3166 * src/c++11/future.cc (__fec): Likewise.
3168 2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
3170 * doc/xml/manual/extensions.xml: Fix anachronism.
3172 2013-04-09 Tom Tromey <tromey@redhat.com>
3174 * configure, config.h.in: Rebuild.
3175 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
3177 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
3179 2013-04-09 Uros Bizjak <ubizjak@gmail.com>
3181 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3183 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
3185 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
3187 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
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
3198 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3204 2013-04-07 François Dumont <fdumont@gcc.gnu.org>
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:
3218 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3219 * testsuite/20_util/bind/ref_neg.cc: Likewise.
3221 2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
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
3229 * libsupc++/new_handler.cc: Likewise.
3231 2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
3233 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
3235 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
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.
3243 2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
3245 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
3246 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
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
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.
3269 2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3271 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
3272 defer to general documentation on contributing to GCC.
3273 * doc/html/*: Regenerate.
3275 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
3277 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
3279 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
3282 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
3284 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
3286 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
3288 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
3290 * doc/xml/manual/policy_data_structures: Remove direct link to
3291 IBM Haifa Research Labs.
3293 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
3294 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
3296 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
3299 * doc/xml/manual/shared_ptr.xml: Use canonical address for
3302 2013-03-27 Kai Tietz <ktietz@redhat.com>
3304 * crossconfig.m4: Add support for cygwin x64 target.
3305 * configure: Regenerated.
3307 2013-03-25 Kai Tietz <ktietz@redhat.com>
3309 * testsuite/18_support/50594.cc: For mingw-targets use only static
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.
3324 2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
3327 * include/ext/debug_allocator.h (debug_allocator): Add missing members
3328 to meet allocator requirements.
3329 * testsuite/ext/debug_allocator/56170.cc: New.
3331 2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
3334 * include/std/chrono (__is_ratio): Uglify T.
3336 2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
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:
3350 2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
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.
3360 2013-03-16 Jason Merrill <jason@redhat.com>
3363 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
3365 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3368 * libsupc++/exception_ptr.h (type_info): Declare.
3370 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3377 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
3380 * include/std/future (__future_base::_Result): Add result_type
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
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.
3398 2013-03-15 Tom Tromey <tromey@redhat.com>
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.
3407 2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3414 2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
3416 * doc/html/*: Regenerate.
3418 2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
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.
3425 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
3427 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
3430 2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
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.
3440 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
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.
3447 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
3449 * include/Makefile.am (bits_headers): Add memoryfwd.h.
3450 * include/Makefile.in: Regenerate.
3453 2013-03-08 François Dumont <fdumont@gcc.gnu.org>
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:
3462 * testsuite/23_containers/vector/allocator/move_assign.cc:
3464 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
3465 swap vector back before checks on memory/personality mapping are
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:
3471 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
3473 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
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.
3479 2013-03-07 Jakub Jelinek <jakub@redhat.com>
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:
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.
3492 2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3494 * scripts/extract_symvers.pl: Omit symbols bound to base
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.
3503 2013-03-04 Ulrich Drepper <drepper@gmail.com>
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==.
3510 2013-03-02 Ulrich Drepper <drepper@gmail.com>
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:
3523 * testsuite/ext/triangular_distribution/operators/equal.cc:
3525 * testsuite/ext/triangular_distribution/operators/inequal.cc:
3527 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
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:
3535 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
3536 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
3538 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
3540 * testsuite/ext/von_mises_distribution/requirements/
3541 explicit_instantiation/1.cc: New file.
3544 * include/Makefile.am (ext_headers): Add cmath.
3545 * include/Makefile.in: Regenerated.
3546 * include/ext/cmath: New file.
3548 2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
3556 2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
3559 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
3560 * testsuite/29_atomics/atomic/operators/56012.cc: New.
3563 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
3565 * testsuite/29_atomics/atomic/operators/56011.cc: New.
3567 2013-02-25 Jason Merrill <jason@redhat.com>
3569 * configure.ac: Check for __cxa_thread_atexit_impl.
3570 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
3572 * config.h.in, configure: Regenerate.
3574 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
3576 * include/std/streambuf (basic_streambuf): Use injected class name
3577 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
3580 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3589 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
3591 * testsuite/23_containers/unordered_set/55043.cc: Add missing
3592 namespace qualification.
3593 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3595 2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
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.
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.
3612 2013-02-14 Jason Merrill <jason@redhat.com>
3614 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
3615 test if unsupported.
3617 2013-02-13 Marc Glisse <marc.glisse@inria.fr>
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.
3625 2013-02-13 François Dumont <fdumont@gcc.gnu.org>
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.
3632 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
3634 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
3637 2013-02-12 Julian Brown <julian@codesourcery.com>
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):
3645 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
3647 * include/bits/random.tcc (__transform): Remove.
3649 (discrete_distribution<>::param_type::_M_initialize): Adjust.
3650 (piecewise_constant_distribution<>::param_type::_M_initialize):
3652 (piecewise_linear_distribution<>::param_type::_M_initialize):
3655 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
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.
3663 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
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.
3672 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
3674 * doc/html/*: Regenerate.
3676 2013-02-11 Jason Merrill <jason@redhat.com>
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.
3685 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
3689 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
3696 2013-02-10 François Dumont <fdumont@gcc.gnu.org>
3697 Jonathan Wakely <jwakely.gcc@gmail.com>
3699 * doc/xml/manual/containers.xml: Add section on unordered containers.
3700 * doc/xml/manual/using.xml: Fix incomplete sentence.
3702 2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
3705 * include/bits/hashtable.h (__cache_default): Check if hash function
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.
3714 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
3716 * testsuite/23_containers/unordered_set/56278.cc: New.
3718 2013-02-09 François Dumont <fdumont@gcc.gnu.org>
3720 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
3723 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
3743 2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
3745 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
3747 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
3754 2013-02-04 Dodji Seketeli <dodji@redhat.com>
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.
3760 2013-02-04 François Dumont <fdumont@gcc.gnu.org>
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.
3773 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3774 Paolo Carlini <paolo.carlini@oracle.com>
3776 PR libstdc++/56202 (again)
3777 * include/bits/random.tcc (binomial_distribution<>::
3778 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
3781 * include/bits/random.h: Fix comment typo.
3783 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3784 Paolo Carlini <paolo.carlini@oracle.com>
3787 * include/bits/random.tcc (binomial_distribution<>::
3788 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
3791 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
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.
3815 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
3817 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
3819 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
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
3829 2013-01-29 Jason Merrill <jason@redhat.com>
3832 * config/abi/pre/gnu.ver: Don't export construction vtables.
3833 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
3835 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3842 2013-01-28 François Dumont <fdumont@gcc.gnu.org>
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
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:
3866 * testsuite/23_containers/unordered_set/
3867 not_default_constructible_hash_neg.cc: New.
3868 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
3870 2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
3873 * include/std/complex (pow(const complex<>&, int)): Avoid __n
3876 2013-01-22 Jakub Jelinek <jakub@redhat.com>
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
3883 2013-01-12 Andi Kleen <ak@linux.intel.com>
3884 Jonathan Wakely <jwakely.gcc@gmail.com>
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):
3895 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
3898 2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
3901 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
3903 (__basic_future::_M_get_result()): Const qualify.
3904 (shared_future::get()): Likewise.
3905 * testsuite/30_threads/shared_future/members/get.cc: Use const
3908 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
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:
3932 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3950 2013-01-03 Janis Johnson <janisjo@codesourcery.com>
3952 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
3955 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3957 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
3959 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
3962 * include/std/functional (_Mem_fn::operator()): Fix constraints to
3964 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
3965 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
3967 2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3970 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
3972 * configure: Regenerate.
3974 2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
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
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.
3987 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
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.
3993 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3995 * doc/xml/manual/abi.xml: Update library and symbol versions.
3997 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3999 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
4001 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
4004 Copyright (C) 2013 Free Software Foundation, Inc.
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.