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