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