2014-01-17 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob99acc888e719b407de0b409c6e7143fccc9c567c
1 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
3         * include/profile/set.h (set): Implement C++11 allocator-aware
4         container requirements.
5         * include/profile/map.h (map): Likewise.
6         * include/profile/multiset.h (multiset): Likewise.
7         * include/profile/multimap.h (multimap): Likewise.
8         * include/profile/set.h
9         (set::operator=(const set&)): Define as default in C++11 mode.
10         (set::operator=(set&&)): Likewise.
11         * include/profile/map.h
12         (map::operator=(const map&)): Likewise.
13         (map::operator=(map&&)): Likewise.
14         * include/profile/multiset.h
15         (multiset::operator=(const multiset&)): Likewise.
16         (multiset::operator=(multiset&&)): Likewise.
17         * include/profile/multimap.h
18         (multimap::operator=(const multimap&)): Likewise.
19         (multimap::operator=(multimap&&)): Likewise.
20         * include/profile/set.h (set::operator=(std::initializer_list<>)):
21         Rely on the same operator from normal mode.
22         * include/profile/map.h (map::operator=(std::initializer_list<>)):
23         Likewise.
24         * include/profile/multiset.h
25         (multiset::operator=(std::initializer_list<>)): Likewise.
26         * include/profile/multimap.h
27         (multimap::operator=(std::initializer_list<>)): Likewise.
28         * include/profile/set.h (set::swap(set&)): Add noexcept
29         specification.
30         * include/profile/map.h (map::swap(map&)): Likewise.
31         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
32         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
34 2014-01-17  Tim Shen  <timshen91@gmail.com>
36         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
37         use std::map.
38         * include/bits/regex_automaton.h: Do not use std::set.
39         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
40         _BracketMatcher<>::_M_add_collating_element(),
41         _BracketMatcher<>::_M_add_equivalence_class(),
42         _BracketMatcher<>::_M_make_range()): Likewise.
43         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
44         Likewise.
45         * include/bits/regex_executor.h: Do not use std::queue.
46         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
47         _Executor<>::_M_dfs()): Likewise.
48         * include/std/regex: Remove <map>, <set> and <queue>.
50 2014-01-17  Tim Shen  <timshen91@gmail.com>
52         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
53         basic_regex<>::assign()): Change __compile_nfa to accept
54         const _CharT* only.
55         * include/bits/regex_compiler.h: Change _Compiler's template
56         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
57         * include/bits/regex_compiler.tcc: Likewise.
59 2014-01-17  Tim Shen  <timshen91@gmail.com>
61         * include/bits/regex_compiler.h: Change _ScannerT into char-type
62         templated.
63         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
64         _ScannerBase from _Scanner; Change _Scanner's template argument from
65         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
66         instead.
67         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
68         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
69         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
70         Likewise.
71         * include/std/regex: Add <cstring> for using strchr.
73 2014-01-17  Tim Shen  <timshen91@gmail.com>
75         * bits/regex_automaton.tcc: Indentation fix.
76         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
77         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
78         _BracketMatcher<>): Add bool option template parameters and
79         specializations to make matching more efficient and space saving.
80         * bits/regex_compiler.tcc: Likewise.
82 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
84         PR libstdc++/59712
85         * include/bits/hashtable_policy.h: Fix some long lines.
86         * include/bits/hashtable.h (__hash_code_base_access): Define and
87         use it to check its _M_bucket_index noexcept qualification. Use
88         also in place of...
89         (__access_protected_ctor): ...this.
90         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
91         Adapt line number.
92         * testsuite/23_containers/unordered_set/
93         not_default_constructible_hash_neg.cc: Likewise.
95 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
97         * include/debug/set.h (set): Implement C++11 allocator-aware
98         container requirements.
99         * include/debug/map.h (map): Likewise.
100         * include/debug/multiset.h (multiset): Likewise.
101         * include/debug/multimap.h (multimap): Likewise.
102         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
103         fix implementation regarding management of safe iterators.
104         * include/debug/map.h (map::operator=(map&&)): Likewise.
105         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
106         * include/debug/multimap.h (multimap::operator=(multimap&&)):
107         Likewise.
108         * include/debug/set.h (set::operator=(std::initializer_list<>)):
109         Rely on the same operator from normal mode.
110         * include/debug/map.h (map::operator=(std::initializer_list<>)):
111         Likewise.
112         * include/debug/multiset.h
113         (multiset::operator=(std::initializer_list<>)): Likewise.
114         * include/debug/multimap.h
115         (multimap::operator=(std::initializer_list<>)): Likewise.
116         * include/debug/set.h (set::swap(set&)): Add noexcept
117         specification, add allocator equality check.
118         * include/debug/map.h (map::swap(map&)): Likewise.
119         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
120         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
122 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
124         PR libstdc++/59698
125         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
126         and stylistic improvements.
127         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
128         and update for C++11.
129         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
131         PR libstdc++/59687
132         * doc/xml/manual/backwards_compatibility.xml
133         (backwards.third.nocreate_noreplace): Correct and expand.
135         PR libstdc++/59699
136         * doc/xml/manual/support.xml (std.support.types.null): Update links.
138 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
140         PR libstdc++/59738
141         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
142         support for non-Movable types.
144         PR libstdc++/59680
145         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
147 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
149         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
150         *this allocator instance when building temporary vector instance
151         so that *this allocator does not get moved.
152         * include/debug/safe_base.h
153         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
154         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
155         move constructor from _Safe_sequence_base.
156         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
157         safe iterators if the instance is moved.
158         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
159         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
160         check on a vector iterator.
161         * testsuite/23_containers/vector/allocator/move_assign.cc
162         (test02): Likewise.
163         (test03): New, test with a non-propagating allocator.
164         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
166 2014-01-07  Tim Shen  <timshen91@gmail.com>
168         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
169         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
170         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
171         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
172         _BracketMatcher<>::_M_add_char(),
173         _BracketMatcher<>::_M_add_collating_element(),
174         _BracketMatcher<>::_M_add_equivalence_class(),
175         _BracketMatcher<>::_M_add_character_class(),
176         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
177         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
178         Fix _AnyMatcher behavior of POSIX style and move _M_flags
179         to template parameter; Add cache for _BracketMatcher. Adjust
180         declarations from here...
181         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
182         imbuing a regex will trigger a recompilation to rebuild the cache.
183         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
184         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
185         different template bool parameters.
186         * include/bits/regex_executor.h: Remove unnecessary declarations.
187         * include/std/regex: Adjust including orders.
188         * testsuite/28_regex/traits/char/user_defined.cc: New.
189         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
191 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
193         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
194         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
195         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
196         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
197         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
199 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
201         Update copyright years
203 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
205         * testsuite/18_support/new_handler.cc,
206         testsuite/18_support/terminate_handler.cc,
207         testsuite/18_support/unexpected_handler.cc: Use the standard form for
208         the copyright notice.
210 Copyright (C) 2014 Free Software Foundation, Inc.
212 Copying and distribution of this file, with or without modification,
213 are permitted in any medium without royalty provided the copyright
214 notice and this notice are preserved.