PR lto/59468
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob8d04dfb78ed8c853319bcd3fe4e1b4df3a1a38ab
1 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
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.
7 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
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.
13 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
53         PR libstdc++/21609
54         * include/ext/array_allocator.h: Add deprecated attribute.
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.
62 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
63             Kyle Lippincott  <spectral@google.com>
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.
79 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
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.
86 2014-01-27  Jason Merrill  <jason@redhat.com>
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.
95 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
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.
106         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
107         * configure: Regenerate.
109 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
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.
115 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
116             Peter A. Bigot <pab@pabigot.com>
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.
123 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
124             Peter A. Bigot <pab@pabigot.com>
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.
133 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
134             Peter A. Bigot <pab@pabigot.com>
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.
145 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
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.
155 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
156             Steve Ellcey  <sellcey@mips.com>
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
164 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
166         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
167         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
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.
183 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
185         * include/bits/stl_deque.h (_Deque_impl): Move comment.
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.
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.
273 2014-01-21  Tim Shen  <timshen91@gmail.com>
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.
279 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
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.
291 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
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.
306 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
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.
329 2014-01-19  Tim Shen  <timshen91@gmail.com>
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.
337 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
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.
370 2014-01-17  Tim Shen  <timshen91@gmail.com>
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>.
386 2014-01-17  Tim Shen  <timshen91@gmail.com>
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.
395 2014-01-17  Tim Shen  <timshen91@gmail.com>
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.
409 2014-01-17  Tim Shen  <timshen91@gmail.com>
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.
418 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
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.
431 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
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.
458 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
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.
467         PR libstdc++/59687
468         * doc/xml/manual/backwards_compatibility.xml
469         (backwards.third.nocreate_noreplace): Correct and expand.
471         PR libstdc++/59699
472         * doc/xml/manual/support.xml (std.support.types.null): Update links.
474 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
476         PR libstdc++/59738
477         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
478         support for non-Movable types.
480         PR libstdc++/59680
481         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
483 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
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.
502 2014-01-07  Tim Shen  <timshen91@gmail.com>
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.
527 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
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.
535 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
537         Update copyright years
539 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
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.
546 Copyright (C) 2014 Free Software Foundation, Inc.
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.