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