Don't xfail 22_locale/num_put/put/char/14220.cc etc. on Solaris 9/x86
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2
3 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
4 execution on i?86-*-solaris2.9, remove comment.
5 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
6
7 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
8
9 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
10 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
11 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
12
13 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
14
15 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
16 not use varargs when argument could be non-POD.
17 (__alloctr_rebind_helper): Eliminate static const bool member by
18 using true_type and false_type.
19 (allocator_traits::__allocate_helper): Likewise.
20 (allocator_traits::__construct_helper): Likewise.
21 (allocator_traits::__destroy_helper): Likewise.
22 (allocator_traits::__maxsize_helper): Likewise.
23 (allocator_traits::__select_helper): Likewise.
24 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
25 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
26 Remove redundant condition.
27 * include/bits/stl_vector.h (vector::operator=(const vector&)):
28 Likewise.
29 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
30 indirection through __alloc_traits.
31 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
32 Eliminate static const bool members by using true_type and false_type.
33 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
34 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
35 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
36 New.
37 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
38
39 PR libstdc++/59829
40 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
41 (vector::_M_data_ptr): New overloaded functions to ensure empty
42 vectors do not dereference the pointer.
43 * testsuite/23_containers/vector/59829.cc: New.
44 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
45 Adjust dg-error line number.
46 * testsuite/23_containers/vector/requirements/dr438/
47 constructor_1_neg.cc: Likewise.
48 * testsuite/23_containers/vector/requirements/dr438/
49 constructor_2_neg.cc: Likewise.
50 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
51 Likewise.
52
53 PR libstdc++/21609
54 * include/ext/array_allocator.h: Add deprecated attribute.
55
56 PR libstdc++/57226
57 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
58 installation and use of python printers.
59 * doc/xml/manual/status_cxx2011.xml: Update.
60 * doc/html/*: Regenerate.
61
62 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
63 Kyle Lippincott <spectral@google.com>
64
65 PR libstdc++/59656
66 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
67 constructor and grant friendship to weak_ptr.
68 (weak_ptr::lock()): Use new constructor.
69 * include/bits/shared_ptr_base.h
70 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
71 and define specializations.
72 (__shared_count): Add new non-throwing constructor.
73 (__shared_ptr): Add new non-throwing constructor and grant friendship
74 to __weak_ptr.
75 (__weak_ptr::lock()): Use new constructor.
76 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
77 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
78
79 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
80
81 PR libstdc++/59215
82 * include/bits/shared_ptr_base.h
83 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
84 load.
85
86 2014-01-27 Jason Merrill <jason@redhat.com>
87
88 Core DR 475
89 PR c++/41174
90 PR c++/59224
91 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
92 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
93 (__cxa_allocate_exception): Don't set it here.
94
95 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
96
97 * include/bits/stl_map.h: Remove anachronistic comment.
98 * include/bits/stl_multimap.h: Add whitespace.
99 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
100 -std=gnu++11 instead of -std=c++11.
101 * testsuite/23_containers/map/operators/2.cc: Likewise.
102 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
103 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
104 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
105
106 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
107 * configure: Regenerate.
108
109 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
110
111 PR libstdc++/59531
112 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
113 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
114
115 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
116 Peter A. Bigot <pab@pabigot.com>
117
118 PR libstdc++/59531
119 * include/experimental/string_view
120 (copy(_CharT*, size_type, size_type) const): Correct throw string.
121 Correct copy start location.
122
123 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
124 Peter A. Bigot <pab@pabigot.com>
125
126 PR libstdc++/59530
127 * include/experimental/string_view (operator[](size_type) const):
128 Fix one-off index error in debug check.
129 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
130 test basic_string_view at size().
131 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
132
133 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
134 Peter A. Bigot <pab@pabigot.com>
135
136 PR libstdc++/59529
137 * include/experimental/string_view
138 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
139 * testsuite/experimental/string_view/operations/substr/char/1.cc:
140 Comment out catch of out_of_range; No terminating null
141 in basic_string_view. Check begin == end.
142 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
143 Ditto.
144
145 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
146
147 PR libstdc++/59548
148 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
149 constructor to prevent it being implicitly defined as deleted, but
150 do not copy anything.
151 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
152 Define copy and move constructors similar to _Safe_sequence_base's.
153 * testsuite/23_containers/unordered_map/59548.cc: New.
154
155 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
156 Steve Ellcey <sellcey@mips.com>
157
158 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
159 function.
160 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
161 * (configure, config.h.in): Regenerate.
162 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
163
164 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
165
166 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
167 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
168
169 PR libstdc++/59872
170 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
171 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
172 Likewise.
173 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
174 Likewise.
175 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
176 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
177 functions to perform moving or copying of elements from rvalue tree.
178 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
179 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
180 * testsuite/23_containers/map/59872.cc: New.
181 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
182
183 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
184
185 * include/bits/stl_deque.h (_Deque_impl): Move comment.
186
187 PR libstdc++/58764
188 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
189 Split into separate default constructor and constructor taking
190 allocator.
191 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
192 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
193 Likewise.
194 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
195 * include/debug/list (list::list(const _Allocator&)): Likewise.
196 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
197 Likewise.
198 * include/debug/multimap.h
199 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
200 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
201 Likewise.
202 * include/debug/multiset.h
203 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
204 * include/debug/vector (vector::vector(const allocator_type&)):
205 Likewise.
206 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
207 * include/profile/list (list::list(const _Allocator&)): Likewise.
208 * include/profile/map.h
209 (map::map(const _Compare&, const _Allocator&)): Likewise.
210 * include/profile/multimap.h
211 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
212 * include/profile/set.h
213 (set::set(const _Compare&, const _Allocator&)): Likewise.
214 * include/profile/multiset.h
215 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
216 * include/profile/vector (vector::vector(const _Allocator&)):
217 Likewise.
218 * testsuite/23_containers/deque/58764.cc: New.
219 * testsuite/23_containers/list/58764.cc: New.
220 * testsuite/23_containers/map/58764.cc: New.
221 * testsuite/23_containers/multimap/58764.cc: New.
222 * testsuite/23_containers/set/58764.cc: New.
223 * testsuite/23_containers/multiset/58764.cc: New.
224 * testsuite/23_containers/vector/58764.cc: New.
225 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
226 Adjust dg-error line number.
227 * testsuite/23_containers/deque/requirements/dr438/
228 constructor_1_neg.cc: Likewise.
229 * testsuite/23_containers/deque/requirements/dr438/
230 constructor_2_neg.cc: Likewise.
231 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
232 Likewise.
233 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
234 Likewise.
235 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
236 Likewise.
237 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
238 Likewise.
239 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
240 Likewise.
241 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
242 Likewise.
243 * testsuite/23_containers/vector/requirements/dr438/
244 constructor_1_neg.cc: Likewise.
245 * testsuite/23_containers/vector/requirements/dr438/
246 constructor_2_neg.cc: Likewise.
247 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
248 Likewise.
249
250 PR libstdc++/58764 (again)
251 * include/bits/stl_list.h (list): Make default constructor's exception
252 specification conditional.
253 * include/bits/stl_vector.h (vector): Likewise.
254 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
255 to default constructor.
256 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
257 Adjust dg-error line number.
258 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
259 Likewise.
260 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
261 Likewise.
262 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
263 Likewise.
264 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
265 Likewise.
266 * testsuite/23_containers/vector/requirements/dr438/
267 constructor_1_neg.cc: Likewise.
268 * testsuite/23_containers/vector/requirements/dr438/
269 constructor_2_neg.cc: Likewise.
270 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
271 Likewise.
272
273 2014-01-21 Tim Shen <timshen91@gmail.com>
274
275 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
276 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
277 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
278
279 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
280
281 PR libstdc++/56267
282 * include/bits/hashtable.h (__cache_default): Do not depend on
283 whether the hash function is DefaultConstructible or CopyAssignable.
284 (_Hashtable): Adjust static assertions.
285 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
286 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
287 dg-error line number.
288 * testsuite/23_containers/unordered_set/
289 not_default_constructible_hash_neg.cc: Remove.
290
291 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
292
293 * scripts/create_testsuite_files: Add testsuite/experimental in
294 the list of folders to search for tests.
295 * include/experimental/string_view
296 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
297 incompatible with constexpr qualifier.
298 (basic_string_view<>::front()): Likewise.
299 (basic_string_view<>::back()): Likewise.
300 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
301 Merge dg-options directives into one.
302 * testsuite/experimental/string_view/element_access/char/2.cc:
303 Likewise. Remove invalid experimental namespace scope on
304 string_view_type.
305
306 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
307
308 PR libstdc++/56267
309 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
310 friendship to _Local_iterator_base<..., false>.
311 (_Local_iterator_base): Give protected access to all existing members.
312 (_Local_iterator_base::_M_curr()): New public accessor.
313 (_Local_iterator_base::_M_get_bucket()): New public accessor.
314 (_Local_iterator_base<..., false>::_M_init()): New function to manage
315 the lifetime of the _Hash_code_base explicitly.
316 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
317 (_Local_iterator_base<..., false>): Define copy constructor and copy
318 assignment operator that use new functions to manage _Hash_code_base.
319 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
320 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
321 Use public API for _Local_iterator_base.
322 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
323 * include/debug/unordered_map (__debug::unordered_map::erase(),
324 __debug::unordered_multimap::erase()): Likewise.
325 * include/debug/unordered_set (__debug::unordered_set::erase(),
326 __debug::unordered_multiset::erase()): Likewise.
327 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
328
329 2014-01-19 Tim Shen <timshen91@gmail.com>
330
331 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
332 Fix parse error of multiple consecutive quantifiers like "a**".
333 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
334 Likewise.
335 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
336
337 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
338
339 * include/profile/set.h (set): Implement C++11 allocator-aware
340 container requirements.
341 * include/profile/map.h (map): Likewise.
342 * include/profile/multiset.h (multiset): Likewise.
343 * include/profile/multimap.h (multimap): Likewise.
344 * include/profile/set.h
345 (set::operator=(const set&)): Define as default in C++11 mode.
346 (set::operator=(set&&)): Likewise.
347 * include/profile/map.h
348 (map::operator=(const map&)): Likewise.
349 (map::operator=(map&&)): Likewise.
350 * include/profile/multiset.h
351 (multiset::operator=(const multiset&)): Likewise.
352 (multiset::operator=(multiset&&)): Likewise.
353 * include/profile/multimap.h
354 (multimap::operator=(const multimap&)): Likewise.
355 (multimap::operator=(multimap&&)): Likewise.
356 * include/profile/set.h (set::operator=(std::initializer_list<>)):
357 Rely on the same operator from normal mode.
358 * include/profile/map.h (map::operator=(std::initializer_list<>)):
359 Likewise.
360 * include/profile/multiset.h
361 (multiset::operator=(std::initializer_list<>)): Likewise.
362 * include/profile/multimap.h
363 (multimap::operator=(std::initializer_list<>)): Likewise.
364 * include/profile/set.h (set::swap(set&)): Add noexcept
365 specification.
366 * include/profile/map.h (map::swap(map&)): Likewise.
367 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
368 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
369
370 2014-01-17 Tim Shen <timshen91@gmail.com>
371
372 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
373 use std::map.
374 * include/bits/regex_automaton.h: Do not use std::set.
375 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
376 _BracketMatcher<>::_M_add_collating_element(),
377 _BracketMatcher<>::_M_add_equivalence_class(),
378 _BracketMatcher<>::_M_make_range()): Likewise.
379 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
380 Likewise.
381 * include/bits/regex_executor.h: Do not use std::queue.
382 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
383 _Executor<>::_M_dfs()): Likewise.
384 * include/std/regex: Remove <map>, <set> and <queue>.
385
386 2014-01-17 Tim Shen <timshen91@gmail.com>
387
388 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
389 basic_regex<>::assign()): Change __compile_nfa to accept
390 const _CharT* only.
391 * include/bits/regex_compiler.h: Change _Compiler's template
392 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
393 * include/bits/regex_compiler.tcc: Likewise.
394
395 2014-01-17 Tim Shen <timshen91@gmail.com>
396
397 * include/bits/regex_compiler.h: Change _ScannerT into char-type
398 templated.
399 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
400 _ScannerBase from _Scanner; Change _Scanner's template argument from
401 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
402 instead.
403 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
404 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
405 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
406 Likewise.
407 * include/std/regex: Add <cstring> for using strchr.
408
409 2014-01-17 Tim Shen <timshen91@gmail.com>
410
411 * bits/regex_automaton.tcc: Indentation fix.
412 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
413 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
414 _BracketMatcher<>): Add bool option template parameters and
415 specializations to make matching more efficient and space saving.
416 * bits/regex_compiler.tcc: Likewise.
417
418 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
419
420 PR libstdc++/59712
421 * include/bits/hashtable_policy.h: Fix some long lines.
422 * include/bits/hashtable.h (__hash_code_base_access): Define and
423 use it to check its _M_bucket_index noexcept qualification. Use
424 also in place of...
425 (__access_protected_ctor): ...this.
426 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
427 Adapt line number.
428 * testsuite/23_containers/unordered_set/
429 not_default_constructible_hash_neg.cc: Likewise.
430
431 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
432
433 * include/debug/set.h (set): Implement C++11 allocator-aware
434 container requirements.
435 * include/debug/map.h (map): Likewise.
436 * include/debug/multiset.h (multiset): Likewise.
437 * include/debug/multimap.h (multimap): Likewise.
438 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
439 fix implementation regarding management of safe iterators.
440 * include/debug/map.h (map::operator=(map&&)): Likewise.
441 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
442 * include/debug/multimap.h (multimap::operator=(multimap&&)):
443 Likewise.
444 * include/debug/set.h (set::operator=(std::initializer_list<>)):
445 Rely on the same operator from normal mode.
446 * include/debug/map.h (map::operator=(std::initializer_list<>)):
447 Likewise.
448 * include/debug/multiset.h
449 (multiset::operator=(std::initializer_list<>)): Likewise.
450 * include/debug/multimap.h
451 (multimap::operator=(std::initializer_list<>)): Likewise.
452 * include/debug/set.h (set::swap(set&)): Add noexcept
453 specification, add allocator equality check.
454 * include/debug/map.h (map::swap(map&)): Likewise.
455 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
456 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
457
458 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
459
460 PR libstdc++/59698
461 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
462 and stylistic improvements.
463 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
464 and update for C++11.
465 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
466
467 PR libstdc++/59687
468 * doc/xml/manual/backwards_compatibility.xml
469 (backwards.third.nocreate_noreplace): Correct and expand.
470
471 PR libstdc++/59699
472 * doc/xml/manual/support.xml (std.support.types.null): Update links.
473
474 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
475
476 PR libstdc++/59738
477 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
478 support for non-Movable types.
479
480 PR libstdc++/59680
481 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
482
483 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
484
485 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
486 *this allocator instance when building temporary vector instance
487 so that *this allocator does not get moved.
488 * include/debug/safe_base.h
489 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
490 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
491 move constructor from _Safe_sequence_base.
492 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
493 safe iterators if the instance is moved.
494 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
495 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
496 check on a vector iterator.
497 * testsuite/23_containers/vector/allocator/move_assign.cc
498 (test02): Likewise.
499 (test03): New, test with a non-propagating allocator.
500 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
501
502 2014-01-07 Tim Shen <timshen91@gmail.com>
503
504 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
505 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
506 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
507 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
508 _BracketMatcher<>::_M_add_char(),
509 _BracketMatcher<>::_M_add_collating_element(),
510 _BracketMatcher<>::_M_add_equivalence_class(),
511 _BracketMatcher<>::_M_add_character_class(),
512 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
513 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
514 Fix _AnyMatcher behavior of POSIX style and move _M_flags
515 to template parameter; Add cache for _BracketMatcher. Adjust
516 declarations from here...
517 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
518 imbuing a regex will trigger a recompilation to rebuild the cache.
519 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
520 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
521 different template bool parameters.
522 * include/bits/regex_executor.h: Remove unnecessary declarations.
523 * include/std/regex: Adjust including orders.
524 * testsuite/28_regex/traits/char/user_defined.cc: New.
525 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
526
527 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
528
529 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
530 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
531 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
532 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
533 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
534
535 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
536
537 Update copyright years
538
539 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
540
541 * testsuite/18_support/new_handler.cc,
542 testsuite/18_support/terminate_handler.cc,
543 testsuite/18_support/unexpected_handler.cc: Use the standard form for
544 the copyright notice.
545 \f
546 Copyright (C) 2014 Free Software Foundation, Inc.
547
548 Copying and distribution of this file, with or without modification,
549 are permitted in any medium without royalty provided the copyright
550 notice and this notice are preserved.