1 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
3 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
5 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
6 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
8 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
10 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
12 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
13 Fix bad s/part/chapter/ substitutions.
14 * doc/xml/manual/io.xml (std.io): Likewise.
15 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
16 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
18 * doc/html/*: Regenerate.
20 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
23 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
24 compatible with __cxa_exception.
25 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
26 Fix typos in comments.
27 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
28 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
30 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
33 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
34 Use sizeof pointer type not the element type.
35 * testsuite/29_atomics/atomic/60658.cc: New.
37 2014-03-24 Jakub Jelinek <jakub@redhat.com>
39 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
40 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
41 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
42 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
43 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
44 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
45 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
46 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
47 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
48 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
51 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
53 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
55 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
57 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
58 to delegated constructor.
59 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
60 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
63 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
65 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
68 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
70 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
73 * include/debug/functions.h (_Is_contiguous_sequence): Define.
74 (__foreign_iterator): Accept additional iterator. Do not dispatch on
76 (__foreign_iterator_aux2): Likewise. Add overload for iterators
77 from different types of debug container. Use _Is_contiguous_sequence
78 instead of is_lvalue_reference.
79 (__foreign_iterator_aux3): Accept additional iterator. Avoid
80 dereferencing past-the-end iterator.
81 (__foreign_iterator_aux4): Use const value_type* instead of
82 potentially user-defined const_pointer type.
83 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
84 and pass end iterator to __gnu_debug::__foreign_iterator.
85 (__glibcxx_check_insert_range_after): Likewise.
86 (__glibcxx_check_max_load_factor): Fix comment.
87 * include/debug/vector (_Is_contiguous_sequence): Define partial
89 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
90 -std=gnu++11 option and unused header.
91 * testsuite/23_containers/vector/debug/60587.cc: New.
92 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
94 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
96 * crossconfig.m4: Support spu-*-elf* targets.
97 * configure: Regenerate.
99 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
102 * include/std/future (__future_base::_Task_state<>): Change
103 constructors to template functions using perfect forwarding.
104 (__create_task_state): Use decayed type as stored task.
105 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
106 * testsuite/30_threads/packaged_task/60564.cc: New.
108 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
110 * scripts/create_testsuite_files: Add testsuite/experimental in
111 the list of folders to search for tests.
113 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
115 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
117 2014-03-15 Tim Shen <timshen91@gmail.com>
119 * include/bits/regex.h: Add/modify comments.
120 * include/bits/regex_compiler.h: Likewise.
121 * include/bits/regex_executor.h: Likewise.
122 * include/bits/regex_executor.tcc: Likewise.
123 * include/bits/regex_scanner.h: Likewise.
125 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
128 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
129 _ZNSt12system_errorC* symbols which are not exported on any target.
131 2014-03-12 Roland McGrath <mcgrathr@google.com>
132 Mark Seaborn <mseaborn@google.com>
135 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
136 the address of a null pointer, not with a null pointer to pointer.
137 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
138 * testsuite/18_support/bad_exception/59392.cc: New file.
140 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
143 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
145 * include/debug/map (map::operator=(map&&)): Likewise.
146 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
147 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
148 * include/debug/set (set::operator=(set&&)): Likewise.
149 * include/debug/unordered_map
150 (unordered_map::operator=(unordered_map&&)): Likewise.
151 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
152 * include/debug/unordered_set
153 (unordered_set::operator=(unordered_set&&)): Likewise.
154 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
155 * include/debug/vector (vector::operator=(vector&&)): Likewise.
156 * testsuite/23_containers/forward_list/debug/60499.cc: New
157 * testsuite/23_containers/map/debug/60499.cc: New
158 * testsuite/23_containers/multimap/debug/60499.cc: New
159 * testsuite/23_containers/multiset/debug/60499.cc: New
160 * testsuite/23_containers/set/debug/60499.cc: New
161 * testsuite/23_containers/unordered_map/debug/60499.cc: New
162 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
163 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
164 * testsuite/23_containers/unordered_set/debug/60499.cc: New
165 * testsuite/23_containers/vector/debug/60499.cc: New
167 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
169 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
170 for filesystem and fundamentals TS work items.
172 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
175 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
176 Adjust dg-error directives.
178 2014-02-26 Tim Shen <timshen91@gmail.com>
180 * include/bits/regex.tcc (match_results<>::format,
181 regex_replace<>): Update __out after calling std::copy.
182 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
184 * testsuite/28_regex/match_results/format.cc: Likewise.
186 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
189 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
190 allocator_type&)): Remove redundant call to _M_initialize_map.
191 (deque::deque(const allocator_type&)): Initialize _Base with a
192 constructor that calls _M_initialize_map.
196 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
198 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
201 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
203 Rename testsuite directory shared_mutex to shared_timed_mutex
205 * testsuite/30_threads/shared_mutex: Moved to...
206 * testsuite/30_threads/shared_timed_mutex: ...here
208 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
210 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
211 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
212 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
213 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
214 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
215 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
216 * testsuite/30_threads/shared_lock/requirements/
217 explicit_instantiation.cc: Ditto.
218 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
219 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
220 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
221 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
222 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
223 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
224 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
225 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
226 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
227 * testsuite/30_threads/shared_mutex/requirements/
228 standard_layout.cc: Ditto.
229 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
230 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
231 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
232 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
233 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
235 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
237 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
238 execution on i?86-*-solaris2.9, remove comment.
239 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
241 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
243 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
244 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
245 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
247 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
249 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
250 not use varargs when argument could be non-POD.
251 (__alloctr_rebind_helper): Eliminate static const bool member by
252 using true_type and false_type.
253 (allocator_traits::__allocate_helper): Likewise.
254 (allocator_traits::__construct_helper): Likewise.
255 (allocator_traits::__destroy_helper): Likewise.
256 (allocator_traits::__maxsize_helper): Likewise.
257 (allocator_traits::__select_helper): Likewise.
258 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
259 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
260 Remove redundant condition.
261 * include/bits/stl_vector.h (vector::operator=(const vector&)):
263 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
264 indirection through __alloc_traits.
265 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
266 Eliminate static const bool members by using true_type and false_type.
267 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
268 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
269 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
271 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
274 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
275 (vector::_M_data_ptr): New overloaded functions to ensure empty
276 vectors do not dereference the pointer.
277 * testsuite/23_containers/vector/59829.cc: New.
278 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
279 Adjust dg-error line number.
280 * testsuite/23_containers/vector/requirements/dr438/
281 constructor_1_neg.cc: Likewise.
282 * testsuite/23_containers/vector/requirements/dr438/
283 constructor_2_neg.cc: Likewise.
284 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
288 * include/ext/array_allocator.h: Add deprecated attribute.
291 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
292 installation and use of python printers.
293 * doc/xml/manual/status_cxx2011.xml: Update.
294 * doc/html/*: Regenerate.
296 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
297 Kyle Lippincott <spectral@google.com>
300 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
301 constructor and grant friendship to weak_ptr.
302 (weak_ptr::lock()): Use new constructor.
303 * include/bits/shared_ptr_base.h
304 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
305 and define specializations.
306 (__shared_count): Add new non-throwing constructor.
307 (__shared_ptr): Add new non-throwing constructor and grant friendship
309 (__weak_ptr::lock()): Use new constructor.
310 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
311 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
313 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
316 * include/bits/shared_ptr_base.h
317 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
320 2014-01-27 Jason Merrill <jason@redhat.com>
325 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
326 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
327 (__cxa_allocate_exception): Don't set it here.
329 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
331 * include/bits/stl_map.h: Remove anachronistic comment.
332 * include/bits/stl_multimap.h: Add whitespace.
333 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
334 -std=gnu++11 instead of -std=c++11.
335 * testsuite/23_containers/map/operators/2.cc: Likewise.
336 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
337 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
338 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
340 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
341 * configure: Regenerate.
343 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
346 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
347 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
349 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
350 Peter A. Bigot <pab@pabigot.com>
353 * include/experimental/string_view
354 (copy(_CharT*, size_type, size_type) const): Correct throw string.
355 Correct copy start location.
357 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
358 Peter A. Bigot <pab@pabigot.com>
361 * include/experimental/string_view (operator[](size_type) const):
362 Fix one-off index error in debug check.
363 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
364 test basic_string_view at size().
365 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
367 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
368 Peter A. Bigot <pab@pabigot.com>
371 * include/experimental/string_view
372 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
373 * testsuite/experimental/string_view/operations/substr/char/1.cc:
374 Comment out catch of out_of_range; No terminating null
375 in basic_string_view. Check begin == end.
376 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
379 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
382 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
383 constructor to prevent it being implicitly defined as deleted, but
384 do not copy anything.
385 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
386 Define copy and move constructors similar to _Safe_sequence_base's.
387 * testsuite/23_containers/unordered_map/59548.cc: New.
389 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
390 Steve Ellcey <sellcey@mips.com>
392 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
394 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
395 * (configure, config.h.in): Regenerate.
396 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
398 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
400 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
401 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
404 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
405 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
407 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
409 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
410 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
411 functions to perform moving or copying of elements from rvalue tree.
412 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
413 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
414 * testsuite/23_containers/map/59872.cc: New.
415 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
417 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
419 * include/bits/stl_deque.h (_Deque_impl): Move comment.
422 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
423 Split into separate default constructor and constructor taking
425 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
426 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
428 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
429 * include/debug/list (list::list(const _Allocator&)): Likewise.
430 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
432 * include/debug/multimap.h
433 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
434 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
436 * include/debug/multiset.h
437 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
438 * include/debug/vector (vector::vector(const allocator_type&)):
440 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
441 * include/profile/list (list::list(const _Allocator&)): Likewise.
442 * include/profile/map.h
443 (map::map(const _Compare&, const _Allocator&)): Likewise.
444 * include/profile/multimap.h
445 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
446 * include/profile/set.h
447 (set::set(const _Compare&, const _Allocator&)): Likewise.
448 * include/profile/multiset.h
449 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
450 * include/profile/vector (vector::vector(const _Allocator&)):
452 * testsuite/23_containers/deque/58764.cc: New.
453 * testsuite/23_containers/list/58764.cc: New.
454 * testsuite/23_containers/map/58764.cc: New.
455 * testsuite/23_containers/multimap/58764.cc: New.
456 * testsuite/23_containers/set/58764.cc: New.
457 * testsuite/23_containers/multiset/58764.cc: New.
458 * testsuite/23_containers/vector/58764.cc: New.
459 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
460 Adjust dg-error line number.
461 * testsuite/23_containers/deque/requirements/dr438/
462 constructor_1_neg.cc: Likewise.
463 * testsuite/23_containers/deque/requirements/dr438/
464 constructor_2_neg.cc: Likewise.
465 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
467 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
469 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
471 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
473 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
475 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
477 * testsuite/23_containers/vector/requirements/dr438/
478 constructor_1_neg.cc: Likewise.
479 * testsuite/23_containers/vector/requirements/dr438/
480 constructor_2_neg.cc: Likewise.
481 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
484 PR libstdc++/58764 (again)
485 * include/bits/stl_list.h (list): Make default constructor's exception
486 specification conditional.
487 * include/bits/stl_vector.h (vector): Likewise.
488 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
489 to default constructor.
490 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
491 Adjust dg-error line number.
492 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
494 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
496 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
498 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
500 * testsuite/23_containers/vector/requirements/dr438/
501 constructor_1_neg.cc: Likewise.
502 * testsuite/23_containers/vector/requirements/dr438/
503 constructor_2_neg.cc: Likewise.
504 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
507 2014-01-21 Tim Shen <timshen91@gmail.com>
509 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
510 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
511 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
513 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
516 * include/bits/hashtable.h (__cache_default): Do not depend on
517 whether the hash function is DefaultConstructible or CopyAssignable.
518 (_Hashtable): Adjust static assertions.
519 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
520 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
521 dg-error line number.
522 * testsuite/23_containers/unordered_set/
523 not_default_constructible_hash_neg.cc: Remove.
525 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
527 * scripts/create_testsuite_files: Add testsuite/experimental in
528 the list of folders to search for tests.
529 * include/experimental/string_view
530 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
531 incompatible with constexpr qualifier.
532 (basic_string_view<>::front()): Likewise.
533 (basic_string_view<>::back()): Likewise.
534 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
535 Merge dg-options directives into one.
536 * testsuite/experimental/string_view/element_access/char/2.cc:
537 Likewise. Remove invalid experimental namespace scope on
540 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
543 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
544 friendship to _Local_iterator_base<..., false>.
545 (_Local_iterator_base): Give protected access to all existing members.
546 (_Local_iterator_base::_M_curr()): New public accessor.
547 (_Local_iterator_base::_M_get_bucket()): New public accessor.
548 (_Local_iterator_base<..., false>::_M_init()): New function to manage
549 the lifetime of the _Hash_code_base explicitly.
550 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
551 (_Local_iterator_base<..., false>): Define copy constructor and copy
552 assignment operator that use new functions to manage _Hash_code_base.
553 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
554 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
555 Use public API for _Local_iterator_base.
556 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
557 * include/debug/unordered_map (__debug::unordered_map::erase(),
558 __debug::unordered_multimap::erase()): Likewise.
559 * include/debug/unordered_set (__debug::unordered_set::erase(),
560 __debug::unordered_multiset::erase()): Likewise.
561 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
563 2014-01-19 Tim Shen <timshen91@gmail.com>
565 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
566 Fix parse error of multiple consecutive quantifiers like "a**".
567 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
569 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
571 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
573 * include/profile/set.h (set): Implement C++11 allocator-aware
574 container requirements.
575 * include/profile/map.h (map): Likewise.
576 * include/profile/multiset.h (multiset): Likewise.
577 * include/profile/multimap.h (multimap): Likewise.
578 * include/profile/set.h
579 (set::operator=(const set&)): Define as default in C++11 mode.
580 (set::operator=(set&&)): Likewise.
581 * include/profile/map.h
582 (map::operator=(const map&)): Likewise.
583 (map::operator=(map&&)): Likewise.
584 * include/profile/multiset.h
585 (multiset::operator=(const multiset&)): Likewise.
586 (multiset::operator=(multiset&&)): Likewise.
587 * include/profile/multimap.h
588 (multimap::operator=(const multimap&)): Likewise.
589 (multimap::operator=(multimap&&)): Likewise.
590 * include/profile/set.h (set::operator=(std::initializer_list<>)):
591 Rely on the same operator from normal mode.
592 * include/profile/map.h (map::operator=(std::initializer_list<>)):
594 * include/profile/multiset.h
595 (multiset::operator=(std::initializer_list<>)): Likewise.
596 * include/profile/multimap.h
597 (multimap::operator=(std::initializer_list<>)): Likewise.
598 * include/profile/set.h (set::swap(set&)): Add noexcept
600 * include/profile/map.h (map::swap(map&)): Likewise.
601 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
602 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
604 2014-01-17 Tim Shen <timshen91@gmail.com>
606 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
608 * include/bits/regex_automaton.h: Do not use std::set.
609 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
610 _BracketMatcher<>::_M_add_collating_element(),
611 _BracketMatcher<>::_M_add_equivalence_class(),
612 _BracketMatcher<>::_M_make_range()): Likewise.
613 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
615 * include/bits/regex_executor.h: Do not use std::queue.
616 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
617 _Executor<>::_M_dfs()): Likewise.
618 * include/std/regex: Remove <map>, <set> and <queue>.
620 2014-01-17 Tim Shen <timshen91@gmail.com>
622 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
623 basic_regex<>::assign()): Change __compile_nfa to accept
625 * include/bits/regex_compiler.h: Change _Compiler's template
626 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
627 * include/bits/regex_compiler.tcc: Likewise.
629 2014-01-17 Tim Shen <timshen91@gmail.com>
631 * include/bits/regex_compiler.h: Change _ScannerT into char-type
633 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
634 _ScannerBase from _Scanner; Change _Scanner's template argument from
635 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
637 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
638 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
639 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
641 * include/std/regex: Add <cstring> for using strchr.
643 2014-01-17 Tim Shen <timshen91@gmail.com>
645 * bits/regex_automaton.tcc: Indentation fix.
646 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
647 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
648 _BracketMatcher<>): Add bool option template parameters and
649 specializations to make matching more efficient and space saving.
650 * bits/regex_compiler.tcc: Likewise.
652 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
655 * include/bits/hashtable_policy.h: Fix some long lines.
656 * include/bits/hashtable.h (__hash_code_base_access): Define and
657 use it to check its _M_bucket_index noexcept qualification. Use
659 (__access_protected_ctor): ...this.
660 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
662 * testsuite/23_containers/unordered_set/
663 not_default_constructible_hash_neg.cc: Likewise.
665 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
667 * include/debug/set.h (set): Implement C++11 allocator-aware
668 container requirements.
669 * include/debug/map.h (map): Likewise.
670 * include/debug/multiset.h (multiset): Likewise.
671 * include/debug/multimap.h (multimap): Likewise.
672 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
673 fix implementation regarding management of safe iterators.
674 * include/debug/map.h (map::operator=(map&&)): Likewise.
675 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
676 * include/debug/multimap.h (multimap::operator=(multimap&&)):
678 * include/debug/set.h (set::operator=(std::initializer_list<>)):
679 Rely on the same operator from normal mode.
680 * include/debug/map.h (map::operator=(std::initializer_list<>)):
682 * include/debug/multiset.h
683 (multiset::operator=(std::initializer_list<>)): Likewise.
684 * include/debug/multimap.h
685 (multimap::operator=(std::initializer_list<>)): Likewise.
686 * include/debug/set.h (set::swap(set&)): Add noexcept
687 specification, add allocator equality check.
688 * include/debug/map.h (map::swap(map&)): Likewise.
689 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
690 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
692 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
695 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
696 and stylistic improvements.
697 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
698 and update for C++11.
699 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
702 * doc/xml/manual/backwards_compatibility.xml
703 (backwards.third.nocreate_noreplace): Correct and expand.
706 * doc/xml/manual/support.xml (std.support.types.null): Update links.
708 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
711 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
712 support for non-Movable types.
715 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
717 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
719 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
720 *this allocator instance when building temporary vector instance
721 so that *this allocator does not get moved.
722 * include/debug/safe_base.h
723 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
724 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
725 move constructor from _Safe_sequence_base.
726 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
727 safe iterators if the instance is moved.
728 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
729 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
730 check on a vector iterator.
731 * testsuite/23_containers/vector/allocator/move_assign.cc
733 (test03): New, test with a non-propagating allocator.
734 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
736 2014-01-07 Tim Shen <timshen91@gmail.com>
738 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
739 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
740 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
741 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
742 _BracketMatcher<>::_M_add_char(),
743 _BracketMatcher<>::_M_add_collating_element(),
744 _BracketMatcher<>::_M_add_equivalence_class(),
745 _BracketMatcher<>::_M_add_character_class(),
746 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
747 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
748 Fix _AnyMatcher behavior of POSIX style and move _M_flags
749 to template parameter; Add cache for _BracketMatcher. Adjust
750 declarations from here...
751 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
752 imbuing a regex will trigger a recompilation to rebuild the cache.
753 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
754 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
755 different template bool parameters.
756 * include/bits/regex_executor.h: Remove unnecessary declarations.
757 * include/std/regex: Adjust including orders.
758 * testsuite/28_regex/traits/char/user_defined.cc: New.
759 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
761 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
763 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
764 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
765 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
766 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
767 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
769 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
771 Update copyright years
773 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
775 * testsuite/18_support/new_handler.cc,
776 testsuite/18_support/terminate_handler.cc,
777 testsuite/18_support/unexpected_handler.cc: Use the standard form for
778 the copyright notice.
780 Copyright (C) 2014 Free Software Foundation, Inc.
782 Copying and distribution of this file, with or without modification,
783 are permitted in any medium without royalty provided the copyright
784 notice and this notice are preserved.