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