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