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