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