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