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