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