1 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
4 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
6 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
9 * include/debug/functions.h (_Is_contiguous_sequence): Define.
10 (__foreign_iterator): Accept additional iterator. Do not dispatch on
12 (__foreign_iterator_aux2): Likewise. Add overload for iterators
13 from different types of debug container. Use _Is_contiguous_sequence
14 instead of is_lvalue_reference.
15 (__foreign_iterator_aux3): Accept additional iterator. Avoid
16 dereferencing past-the-end iterator.
17 (__foreign_iterator_aux4): Use const value_type* instead of
18 potentially user-defined const_pointer type.
19 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
20 and pass end iterator to __gnu_debug::__foreign_iterator.
21 (__glibcxx_check_insert_range_after): Likewise.
22 (__glibcxx_check_max_load_factor): Fix comment.
23 * include/debug/vector (_Is_contiguous_sequence): Define partial
25 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
26 -std=gnu++11 option and unused header.
27 * testsuite/23_containers/vector/debug/60587.cc: New.
28 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
30 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
32 * crossconfig.m4: Support spu-*-elf* targets.
33 * configure: Regenerate.
35 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
38 * include/std/future (__future_base::_Task_state<>): Change
39 constructors to template functions using perfect forwarding.
40 (__create_task_state): Use decayed type as stored task.
41 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
42 * testsuite/30_threads/packaged_task/60564.cc: New.
44 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
46 * scripts/create_testsuite_files: Add testsuite/experimental in
47 the list of folders to search for tests.
49 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
51 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
53 2014-03-15 Tim Shen <timshen91@gmail.com>
55 * include/bits/regex.h: Add/modify comments.
56 * include/bits/regex_compiler.h: Likewise.
57 * include/bits/regex_executor.h: Likewise.
58 * include/bits/regex_executor.tcc: Likewise.
59 * include/bits/regex_scanner.h: Likewise.
61 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
64 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
65 _ZNSt12system_errorC* symbols which are not exported on any target.
67 2014-03-12 Roland McGrath <mcgrathr@google.com>
68 Mark Seaborn <mseaborn@google.com>
71 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
72 the address of a null pointer, not with a null pointer to pointer.
73 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
74 * testsuite/18_support/bad_exception/59392.cc: New file.
76 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
79 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
81 * include/debug/map (map::operator=(map&&)): Likewise.
82 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
83 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
84 * include/debug/set (set::operator=(set&&)): Likewise.
85 * include/debug/unordered_map
86 (unordered_map::operator=(unordered_map&&)): Likewise.
87 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
88 * include/debug/unordered_set
89 (unordered_set::operator=(unordered_set&&)): Likewise.
90 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
91 * include/debug/vector (vector::operator=(vector&&)): Likewise.
92 * testsuite/23_containers/forward_list/debug/60499.cc: New
93 * testsuite/23_containers/map/debug/60499.cc: New
94 * testsuite/23_containers/multimap/debug/60499.cc: New
95 * testsuite/23_containers/multiset/debug/60499.cc: New
96 * testsuite/23_containers/set/debug/60499.cc: New
97 * testsuite/23_containers/unordered_map/debug/60499.cc: New
98 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
99 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
100 * testsuite/23_containers/unordered_set/debug/60499.cc: New
101 * testsuite/23_containers/vector/debug/60499.cc: New
103 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
105 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
106 for filesystem and fundamentals TS work items.
108 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
111 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
112 Adjust dg-error directives.
114 2014-02-26 Tim Shen <timshen91@gmail.com>
116 * include/bits/regex.tcc (match_results<>::format,
117 regex_replace<>): Update __out after calling std::copy.
118 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
120 * testsuite/28_regex/match_results/format.cc: Likewise.
122 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
125 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
126 allocator_type&)): Remove redundant call to _M_initialize_map.
127 (deque::deque(const allocator_type&)): Initialize _Base with a
128 constructor that calls _M_initialize_map.
132 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
134 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
137 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
139 Rename testsuite directory shared_mutex to shared_timed_mutex
141 * testsuite/30_threads/shared_mutex: Moved to...
142 * testsuite/30_threads/shared_timed_mutex: ...here
144 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
146 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
147 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
148 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
149 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
150 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
151 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
152 * testsuite/30_threads/shared_lock/requirements/
153 explicit_instantiation.cc: Ditto.
154 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
155 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
156 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
157 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
158 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
159 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
160 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
161 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
162 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
163 * testsuite/30_threads/shared_mutex/requirements/
164 standard_layout.cc: Ditto.
165 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
166 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
167 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
168 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
169 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
171 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
173 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
174 execution on i?86-*-solaris2.9, remove comment.
175 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
177 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
179 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
180 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
181 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
183 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
185 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
186 not use varargs when argument could be non-POD.
187 (__alloctr_rebind_helper): Eliminate static const bool member by
188 using true_type and false_type.
189 (allocator_traits::__allocate_helper): Likewise.
190 (allocator_traits::__construct_helper): Likewise.
191 (allocator_traits::__destroy_helper): Likewise.
192 (allocator_traits::__maxsize_helper): Likewise.
193 (allocator_traits::__select_helper): Likewise.
194 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
195 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
196 Remove redundant condition.
197 * include/bits/stl_vector.h (vector::operator=(const vector&)):
199 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
200 indirection through __alloc_traits.
201 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
202 Eliminate static const bool members by using true_type and false_type.
203 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
204 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
205 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
207 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
210 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
211 (vector::_M_data_ptr): New overloaded functions to ensure empty
212 vectors do not dereference the pointer.
213 * testsuite/23_containers/vector/59829.cc: New.
214 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
215 Adjust dg-error line number.
216 * testsuite/23_containers/vector/requirements/dr438/
217 constructor_1_neg.cc: Likewise.
218 * testsuite/23_containers/vector/requirements/dr438/
219 constructor_2_neg.cc: Likewise.
220 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
224 * include/ext/array_allocator.h: Add deprecated attribute.
227 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
228 installation and use of python printers.
229 * doc/xml/manual/status_cxx2011.xml: Update.
230 * doc/html/*: Regenerate.
232 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
233 Kyle Lippincott <spectral@google.com>
236 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
237 constructor and grant friendship to weak_ptr.
238 (weak_ptr::lock()): Use new constructor.
239 * include/bits/shared_ptr_base.h
240 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
241 and define specializations.
242 (__shared_count): Add new non-throwing constructor.
243 (__shared_ptr): Add new non-throwing constructor and grant friendship
245 (__weak_ptr::lock()): Use new constructor.
246 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
247 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
249 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
252 * include/bits/shared_ptr_base.h
253 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
256 2014-01-27 Jason Merrill <jason@redhat.com>
261 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
262 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
263 (__cxa_allocate_exception): Don't set it here.
265 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
267 * include/bits/stl_map.h: Remove anachronistic comment.
268 * include/bits/stl_multimap.h: Add whitespace.
269 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
270 -std=gnu++11 instead of -std=c++11.
271 * testsuite/23_containers/map/operators/2.cc: Likewise.
272 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
273 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
274 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
276 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
277 * configure: Regenerate.
279 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
282 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
283 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
285 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
286 Peter A. Bigot <pab@pabigot.com>
289 * include/experimental/string_view
290 (copy(_CharT*, size_type, size_type) const): Correct throw string.
291 Correct copy start location.
293 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
294 Peter A. Bigot <pab@pabigot.com>
297 * include/experimental/string_view (operator[](size_type) const):
298 Fix one-off index error in debug check.
299 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
300 test basic_string_view at size().
301 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
303 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
304 Peter A. Bigot <pab@pabigot.com>
307 * include/experimental/string_view
308 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
309 * testsuite/experimental/string_view/operations/substr/char/1.cc:
310 Comment out catch of out_of_range; No terminating null
311 in basic_string_view. Check begin == end.
312 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
315 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
318 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
319 constructor to prevent it being implicitly defined as deleted, but
320 do not copy anything.
321 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
322 Define copy and move constructors similar to _Safe_sequence_base's.
323 * testsuite/23_containers/unordered_map/59548.cc: New.
325 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
326 Steve Ellcey <sellcey@mips.com>
328 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
330 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
331 * (configure, config.h.in): Regenerate.
332 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
334 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
336 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
337 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
340 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
341 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
343 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
345 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
346 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
347 functions to perform moving or copying of elements from rvalue tree.
348 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
349 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
350 * testsuite/23_containers/map/59872.cc: New.
351 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
353 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
355 * include/bits/stl_deque.h (_Deque_impl): Move comment.
358 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
359 Split into separate default constructor and constructor taking
361 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
362 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
364 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
365 * include/debug/list (list::list(const _Allocator&)): Likewise.
366 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
368 * include/debug/multimap.h
369 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
370 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
372 * include/debug/multiset.h
373 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
374 * include/debug/vector (vector::vector(const allocator_type&)):
376 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
377 * include/profile/list (list::list(const _Allocator&)): Likewise.
378 * include/profile/map.h
379 (map::map(const _Compare&, const _Allocator&)): Likewise.
380 * include/profile/multimap.h
381 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
382 * include/profile/set.h
383 (set::set(const _Compare&, const _Allocator&)): Likewise.
384 * include/profile/multiset.h
385 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
386 * include/profile/vector (vector::vector(const _Allocator&)):
388 * testsuite/23_containers/deque/58764.cc: New.
389 * testsuite/23_containers/list/58764.cc: New.
390 * testsuite/23_containers/map/58764.cc: New.
391 * testsuite/23_containers/multimap/58764.cc: New.
392 * testsuite/23_containers/set/58764.cc: New.
393 * testsuite/23_containers/multiset/58764.cc: New.
394 * testsuite/23_containers/vector/58764.cc: New.
395 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
396 Adjust dg-error line number.
397 * testsuite/23_containers/deque/requirements/dr438/
398 constructor_1_neg.cc: Likewise.
399 * testsuite/23_containers/deque/requirements/dr438/
400 constructor_2_neg.cc: Likewise.
401 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
403 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
405 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
407 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
409 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
411 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
413 * testsuite/23_containers/vector/requirements/dr438/
414 constructor_1_neg.cc: Likewise.
415 * testsuite/23_containers/vector/requirements/dr438/
416 constructor_2_neg.cc: Likewise.
417 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
420 PR libstdc++/58764 (again)
421 * include/bits/stl_list.h (list): Make default constructor's exception
422 specification conditional.
423 * include/bits/stl_vector.h (vector): Likewise.
424 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
425 to default constructor.
426 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
427 Adjust dg-error line number.
428 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
430 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
432 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
434 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
436 * testsuite/23_containers/vector/requirements/dr438/
437 constructor_1_neg.cc: Likewise.
438 * testsuite/23_containers/vector/requirements/dr438/
439 constructor_2_neg.cc: Likewise.
440 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
443 2014-01-21 Tim Shen <timshen91@gmail.com>
445 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
446 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
447 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
449 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
452 * include/bits/hashtable.h (__cache_default): Do not depend on
453 whether the hash function is DefaultConstructible or CopyAssignable.
454 (_Hashtable): Adjust static assertions.
455 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
456 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
457 dg-error line number.
458 * testsuite/23_containers/unordered_set/
459 not_default_constructible_hash_neg.cc: Remove.
461 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
463 * scripts/create_testsuite_files: Add testsuite/experimental in
464 the list of folders to search for tests.
465 * include/experimental/string_view
466 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
467 incompatible with constexpr qualifier.
468 (basic_string_view<>::front()): Likewise.
469 (basic_string_view<>::back()): Likewise.
470 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
471 Merge dg-options directives into one.
472 * testsuite/experimental/string_view/element_access/char/2.cc:
473 Likewise. Remove invalid experimental namespace scope on
476 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
479 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
480 friendship to _Local_iterator_base<..., false>.
481 (_Local_iterator_base): Give protected access to all existing members.
482 (_Local_iterator_base::_M_curr()): New public accessor.
483 (_Local_iterator_base::_M_get_bucket()): New public accessor.
484 (_Local_iterator_base<..., false>::_M_init()): New function to manage
485 the lifetime of the _Hash_code_base explicitly.
486 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
487 (_Local_iterator_base<..., false>): Define copy constructor and copy
488 assignment operator that use new functions to manage _Hash_code_base.
489 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
490 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
491 Use public API for _Local_iterator_base.
492 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
493 * include/debug/unordered_map (__debug::unordered_map::erase(),
494 __debug::unordered_multimap::erase()): Likewise.
495 * include/debug/unordered_set (__debug::unordered_set::erase(),
496 __debug::unordered_multiset::erase()): Likewise.
497 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
499 2014-01-19 Tim Shen <timshen91@gmail.com>
501 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
502 Fix parse error of multiple consecutive quantifiers like "a**".
503 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
505 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
507 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
509 * include/profile/set.h (set): Implement C++11 allocator-aware
510 container requirements.
511 * include/profile/map.h (map): Likewise.
512 * include/profile/multiset.h (multiset): Likewise.
513 * include/profile/multimap.h (multimap): Likewise.
514 * include/profile/set.h
515 (set::operator=(const set&)): Define as default in C++11 mode.
516 (set::operator=(set&&)): Likewise.
517 * include/profile/map.h
518 (map::operator=(const map&)): Likewise.
519 (map::operator=(map&&)): Likewise.
520 * include/profile/multiset.h
521 (multiset::operator=(const multiset&)): Likewise.
522 (multiset::operator=(multiset&&)): Likewise.
523 * include/profile/multimap.h
524 (multimap::operator=(const multimap&)): Likewise.
525 (multimap::operator=(multimap&&)): Likewise.
526 * include/profile/set.h (set::operator=(std::initializer_list<>)):
527 Rely on the same operator from normal mode.
528 * include/profile/map.h (map::operator=(std::initializer_list<>)):
530 * include/profile/multiset.h
531 (multiset::operator=(std::initializer_list<>)): Likewise.
532 * include/profile/multimap.h
533 (multimap::operator=(std::initializer_list<>)): Likewise.
534 * include/profile/set.h (set::swap(set&)): Add noexcept
536 * include/profile/map.h (map::swap(map&)): Likewise.
537 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
538 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
540 2014-01-17 Tim Shen <timshen91@gmail.com>
542 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
544 * include/bits/regex_automaton.h: Do not use std::set.
545 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
546 _BracketMatcher<>::_M_add_collating_element(),
547 _BracketMatcher<>::_M_add_equivalence_class(),
548 _BracketMatcher<>::_M_make_range()): Likewise.
549 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
551 * include/bits/regex_executor.h: Do not use std::queue.
552 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
553 _Executor<>::_M_dfs()): Likewise.
554 * include/std/regex: Remove <map>, <set> and <queue>.
556 2014-01-17 Tim Shen <timshen91@gmail.com>
558 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
559 basic_regex<>::assign()): Change __compile_nfa to accept
561 * include/bits/regex_compiler.h: Change _Compiler's template
562 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
563 * include/bits/regex_compiler.tcc: Likewise.
565 2014-01-17 Tim Shen <timshen91@gmail.com>
567 * include/bits/regex_compiler.h: Change _ScannerT into char-type
569 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
570 _ScannerBase from _Scanner; Change _Scanner's template argument from
571 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
573 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
574 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
575 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
577 * include/std/regex: Add <cstring> for using strchr.
579 2014-01-17 Tim Shen <timshen91@gmail.com>
581 * bits/regex_automaton.tcc: Indentation fix.
582 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
583 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
584 _BracketMatcher<>): Add bool option template parameters and
585 specializations to make matching more efficient and space saving.
586 * bits/regex_compiler.tcc: Likewise.
588 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
591 * include/bits/hashtable_policy.h: Fix some long lines.
592 * include/bits/hashtable.h (__hash_code_base_access): Define and
593 use it to check its _M_bucket_index noexcept qualification. Use
595 (__access_protected_ctor): ...this.
596 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
598 * testsuite/23_containers/unordered_set/
599 not_default_constructible_hash_neg.cc: Likewise.
601 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
603 * include/debug/set.h (set): Implement C++11 allocator-aware
604 container requirements.
605 * include/debug/map.h (map): Likewise.
606 * include/debug/multiset.h (multiset): Likewise.
607 * include/debug/multimap.h (multimap): Likewise.
608 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
609 fix implementation regarding management of safe iterators.
610 * include/debug/map.h (map::operator=(map&&)): Likewise.
611 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
612 * include/debug/multimap.h (multimap::operator=(multimap&&)):
614 * include/debug/set.h (set::operator=(std::initializer_list<>)):
615 Rely on the same operator from normal mode.
616 * include/debug/map.h (map::operator=(std::initializer_list<>)):
618 * include/debug/multiset.h
619 (multiset::operator=(std::initializer_list<>)): Likewise.
620 * include/debug/multimap.h
621 (multimap::operator=(std::initializer_list<>)): Likewise.
622 * include/debug/set.h (set::swap(set&)): Add noexcept
623 specification, add allocator equality check.
624 * include/debug/map.h (map::swap(map&)): Likewise.
625 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
626 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
628 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
631 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
632 and stylistic improvements.
633 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
634 and update for C++11.
635 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
638 * doc/xml/manual/backwards_compatibility.xml
639 (backwards.third.nocreate_noreplace): Correct and expand.
642 * doc/xml/manual/support.xml (std.support.types.null): Update links.
644 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
647 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
648 support for non-Movable types.
651 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
653 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
655 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
656 *this allocator instance when building temporary vector instance
657 so that *this allocator does not get moved.
658 * include/debug/safe_base.h
659 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
660 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
661 move constructor from _Safe_sequence_base.
662 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
663 safe iterators if the instance is moved.
664 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
665 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
666 check on a vector iterator.
667 * testsuite/23_containers/vector/allocator/move_assign.cc
669 (test03): New, test with a non-propagating allocator.
670 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
672 2014-01-07 Tim Shen <timshen91@gmail.com>
674 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
675 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
676 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
677 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
678 _BracketMatcher<>::_M_add_char(),
679 _BracketMatcher<>::_M_add_collating_element(),
680 _BracketMatcher<>::_M_add_equivalence_class(),
681 _BracketMatcher<>::_M_add_character_class(),
682 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
683 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
684 Fix _AnyMatcher behavior of POSIX style and move _M_flags
685 to template parameter; Add cache for _BracketMatcher. Adjust
686 declarations from here...
687 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
688 imbuing a regex will trigger a recompilation to rebuild the cache.
689 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
690 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
691 different template bool parameters.
692 * include/bits/regex_executor.h: Remove unnecessary declarations.
693 * include/std/regex: Adjust including orders.
694 * testsuite/28_regex/traits/char/user_defined.cc: New.
695 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
697 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
699 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
700 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
701 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
702 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
703 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
705 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
707 Update copyright years
709 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
711 * testsuite/18_support/new_handler.cc,
712 testsuite/18_support/terminate_handler.cc,
713 testsuite/18_support/unexpected_handler.cc: Use the standard form for
714 the copyright notice.
716 Copyright (C) 2014 Free Software Foundation, Inc.
718 Copying and distribution of this file, with or without modification,
719 are permitted in any medium without royalty provided the copyright
720 notice and this notice are preserved.