create_testsuite_files: Add testsuite/experimental in the list of folders to search...
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2
3 * scripts/create_testsuite_files: Add testsuite/experimental in
4 the list of folders to search for tests.
5 * include/experimental/string_view
6 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
7 incompatible with constexpr qualifier.
8 (basic_string_view<>::front()): Likewise.
9 (basic_string_view<>::back()): Likewise.
10 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
11 Merge dg-options directives into one.
12 * testsuite/experimental/string_view/element_access/char/2.cc:
13 Likewise. Remove invalid experimental namespace scope on
14 string_view_type.
15
16 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
17
18 PR libstdc++/56267
19 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
20 friendship to _Local_iterator_base<..., false>.
21 (_Local_iterator_base): Give protected access to all existing members.
22 (_Local_iterator_base::_M_curr()): New public accessor.
23 (_Local_iterator_base::_M_get_bucket()): New public accessor.
24 (_Local_iterator_base<..., false>::_M_init()): New function to manage
25 the lifetime of the _Hash_code_base explicitly.
26 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
27 (_Local_iterator_base<..., false>): Define copy constructor and copy
28 assignment operator that use new functions to manage _Hash_code_base.
29 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
30 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
31 Use public API for _Local_iterator_base.
32 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
33 * include/debug/unordered_map (__debug::unordered_map::erase(),
34 __debug::unordered_multimap::erase()): Likewise.
35 * include/debug/unordered_set (__debug::unordered_set::erase(),
36 __debug::unordered_multiset::erase()): Likewise.
37 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
38
39 2014-01-19 Tim Shen <timshen91@gmail.com>
40
41 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
42 Fix parse error of multiple consecutive quantifiers like "a**".
43 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
44 Likewise.
45 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
46
47 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
48
49 * include/profile/set.h (set): Implement C++11 allocator-aware
50 container requirements.
51 * include/profile/map.h (map): Likewise.
52 * include/profile/multiset.h (multiset): Likewise.
53 * include/profile/multimap.h (multimap): Likewise.
54 * include/profile/set.h
55 (set::operator=(const set&)): Define as default in C++11 mode.
56 (set::operator=(set&&)): Likewise.
57 * include/profile/map.h
58 (map::operator=(const map&)): Likewise.
59 (map::operator=(map&&)): Likewise.
60 * include/profile/multiset.h
61 (multiset::operator=(const multiset&)): Likewise.
62 (multiset::operator=(multiset&&)): Likewise.
63 * include/profile/multimap.h
64 (multimap::operator=(const multimap&)): Likewise.
65 (multimap::operator=(multimap&&)): Likewise.
66 * include/profile/set.h (set::operator=(std::initializer_list<>)):
67 Rely on the same operator from normal mode.
68 * include/profile/map.h (map::operator=(std::initializer_list<>)):
69 Likewise.
70 * include/profile/multiset.h
71 (multiset::operator=(std::initializer_list<>)): Likewise.
72 * include/profile/multimap.h
73 (multimap::operator=(std::initializer_list<>)): Likewise.
74 * include/profile/set.h (set::swap(set&)): Add noexcept
75 specification.
76 * include/profile/map.h (map::swap(map&)): Likewise.
77 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
78 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
79
80 2014-01-17 Tim Shen <timshen91@gmail.com>
81
82 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
83 use std::map.
84 * include/bits/regex_automaton.h: Do not use std::set.
85 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
86 _BracketMatcher<>::_M_add_collating_element(),
87 _BracketMatcher<>::_M_add_equivalence_class(),
88 _BracketMatcher<>::_M_make_range()): Likewise.
89 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
90 Likewise.
91 * include/bits/regex_executor.h: Do not use std::queue.
92 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
93 _Executor<>::_M_dfs()): Likewise.
94 * include/std/regex: Remove <map>, <set> and <queue>.
95
96 2014-01-17 Tim Shen <timshen91@gmail.com>
97
98 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
99 basic_regex<>::assign()): Change __compile_nfa to accept
100 const _CharT* only.
101 * include/bits/regex_compiler.h: Change _Compiler's template
102 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
103 * include/bits/regex_compiler.tcc: Likewise.
104
105 2014-01-17 Tim Shen <timshen91@gmail.com>
106
107 * include/bits/regex_compiler.h: Change _ScannerT into char-type
108 templated.
109 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
110 _ScannerBase from _Scanner; Change _Scanner's template argument from
111 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
112 instead.
113 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
114 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
115 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
116 Likewise.
117 * include/std/regex: Add <cstring> for using strchr.
118
119 2014-01-17 Tim Shen <timshen91@gmail.com>
120
121 * bits/regex_automaton.tcc: Indentation fix.
122 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
123 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
124 _BracketMatcher<>): Add bool option template parameters and
125 specializations to make matching more efficient and space saving.
126 * bits/regex_compiler.tcc: Likewise.
127
128 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
129
130 PR libstdc++/59712
131 * include/bits/hashtable_policy.h: Fix some long lines.
132 * include/bits/hashtable.h (__hash_code_base_access): Define and
133 use it to check its _M_bucket_index noexcept qualification. Use
134 also in place of...
135 (__access_protected_ctor): ...this.
136 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
137 Adapt line number.
138 * testsuite/23_containers/unordered_set/
139 not_default_constructible_hash_neg.cc: Likewise.
140
141 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
142
143 * include/debug/set.h (set): Implement C++11 allocator-aware
144 container requirements.
145 * include/debug/map.h (map): Likewise.
146 * include/debug/multiset.h (multiset): Likewise.
147 * include/debug/multimap.h (multimap): Likewise.
148 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
149 fix implementation regarding management of safe iterators.
150 * include/debug/map.h (map::operator=(map&&)): Likewise.
151 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
152 * include/debug/multimap.h (multimap::operator=(multimap&&)):
153 Likewise.
154 * include/debug/set.h (set::operator=(std::initializer_list<>)):
155 Rely on the same operator from normal mode.
156 * include/debug/map.h (map::operator=(std::initializer_list<>)):
157 Likewise.
158 * include/debug/multiset.h
159 (multiset::operator=(std::initializer_list<>)): Likewise.
160 * include/debug/multimap.h
161 (multimap::operator=(std::initializer_list<>)): Likewise.
162 * include/debug/set.h (set::swap(set&)): Add noexcept
163 specification, add allocator equality check.
164 * include/debug/map.h (map::swap(map&)): Likewise.
165 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
166 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
167
168 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
169
170 PR libstdc++/59698
171 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
172 and stylistic improvements.
173 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
174 and update for C++11.
175 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
176
177 PR libstdc++/59687
178 * doc/xml/manual/backwards_compatibility.xml
179 (backwards.third.nocreate_noreplace): Correct and expand.
180
181 PR libstdc++/59699
182 * doc/xml/manual/support.xml (std.support.types.null): Update links.
183
184 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
185
186 PR libstdc++/59738
187 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
188 support for non-Movable types.
189
190 PR libstdc++/59680
191 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
192
193 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
194
195 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
196 *this allocator instance when building temporary vector instance
197 so that *this allocator does not get moved.
198 * include/debug/safe_base.h
199 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
200 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
201 move constructor from _Safe_sequence_base.
202 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
203 safe iterators if the instance is moved.
204 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
205 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
206 check on a vector iterator.
207 * testsuite/23_containers/vector/allocator/move_assign.cc
208 (test02): Likewise.
209 (test03): New, test with a non-propagating allocator.
210 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
211
212 2014-01-07 Tim Shen <timshen91@gmail.com>
213
214 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
215 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
216 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
217 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
218 _BracketMatcher<>::_M_add_char(),
219 _BracketMatcher<>::_M_add_collating_element(),
220 _BracketMatcher<>::_M_add_equivalence_class(),
221 _BracketMatcher<>::_M_add_character_class(),
222 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
223 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
224 Fix _AnyMatcher behavior of POSIX style and move _M_flags
225 to template parameter; Add cache for _BracketMatcher. Adjust
226 declarations from here...
227 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
228 imbuing a regex will trigger a recompilation to rebuild the cache.
229 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
230 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
231 different template bool parameters.
232 * include/bits/regex_executor.h: Remove unnecessary declarations.
233 * include/std/regex: Adjust including orders.
234 * testsuite/28_regex/traits/char/user_defined.cc: New.
235 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
236
237 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
238
239 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
240 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
241 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
242 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
243 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
244
245 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
246
247 Update copyright years
248
249 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
250
251 * testsuite/18_support/new_handler.cc,
252 testsuite/18_support/terminate_handler.cc,
253 testsuite/18_support/unexpected_handler.cc: Use the standard form for
254 the copyright notice.
255 \f
256 Copyright (C) 2014 Free Software Foundation, Inc.
257
258 Copying and distribution of this file, with or without modification,
259 are permitted in any medium without royalty provided the copyright
260 notice and this notice are preserved.