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