1 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
7 * include/std/atomic (atomic<_Tp>): Add static assertion.
8 * testsuite/29_atomics/atomic/60695.cc: New.
11 * include/std/functional (function::_Callable): Exclude own type
12 from the callable checks.
13 * testsuite/20_util/function/60594.cc: New.
15 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
16 const to constexpr member functions.
18 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
20 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
21 _Vector_base::_M_allocate): NullablePointer requirements do not
22 include initialization from literal zero, use value-initialization.
23 * include/bits/vector.tcc (vector::_M_insert_aux,
24 vector::_M_explace_back_aux): Likewise for assignment.
26 * include/bits/allocator.h (operator==, operator!=): Add exception
30 * include/std/tuple (get): Qualify calls to prevent ADL.
31 * testsuite/20_util/tuple/60497.cc: New.
33 * include/std/tuple (tuple_element_t): Define.
34 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
36 * testsuite/20_util/tuple/tuple_element_t.cc: New.
38 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
41 * include/bits/stl_iterator.h (move_iterator::reference,
42 move_iterator::operator*): Implement LWG 2106.
43 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
45 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
47 * include/std/complex (__complex_exp, pow): Specify the template
48 parameter in calls to std::polar, for expression templates.
50 2014-04-10 Andreas Schwab <schwab@suse.de>
52 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
54 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
55 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
57 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
59 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
61 * testsuite/20_util/exchange/1.cc: Add missing return statements.
62 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
63 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
66 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
67 Jack Howarth <howarth@bromo.med.uc.edu>
70 * testsuite/30_threads/condition_variable/54185.cc: Skip for
73 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
75 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
77 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
79 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
80 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
81 * doc/xml/manual/concurrency_extensions.xml
82 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
83 * doc/html/*: Regenerate.
85 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
86 Jonathan Wakely <jwakely@redhat.com>
89 * include/std/iomanip (_Quoted_string operator>>): Do not clear
90 string if input is not quoted.
91 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
93 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
95 * libsupc++/eh_ptr.cc: Improve static_assert messages.
97 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
99 * testsuite/18_support/exception_ptr/60612-terminate.cc
100 (terminate, f): Wrap in _GLIBCXX_USE_C99.
101 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
103 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
105 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
107 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
108 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
110 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
112 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
114 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
115 Fix bad s/part/chapter/ substitutions.
116 * doc/xml/manual/io.xml (std.io): Likewise.
117 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
118 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
120 * doc/html/*: Regenerate.
122 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
125 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
126 compatible with __cxa_exception.
127 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
128 Fix typos in comments.
129 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
130 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
132 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
135 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
136 Use sizeof pointer type not the element type.
137 * testsuite/29_atomics/atomic/60658.cc: New.
139 2014-03-24 Jakub Jelinek <jakub@redhat.com>
141 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
142 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
143 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
144 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
145 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
146 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
147 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
148 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
149 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
150 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
153 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
155 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
157 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
159 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
160 to delegated constructor.
161 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
162 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
165 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
167 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
170 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
172 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
175 * include/debug/functions.h (_Is_contiguous_sequence): Define.
176 (__foreign_iterator): Accept additional iterator. Do not dispatch on
178 (__foreign_iterator_aux2): Likewise. Add overload for iterators
179 from different types of debug container. Use _Is_contiguous_sequence
180 instead of is_lvalue_reference.
181 (__foreign_iterator_aux3): Accept additional iterator. Avoid
182 dereferencing past-the-end iterator.
183 (__foreign_iterator_aux4): Use const value_type* instead of
184 potentially user-defined const_pointer type.
185 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
186 and pass end iterator to __gnu_debug::__foreign_iterator.
187 (__glibcxx_check_insert_range_after): Likewise.
188 (__glibcxx_check_max_load_factor): Fix comment.
189 * include/debug/vector (_Is_contiguous_sequence): Define partial
191 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
192 -std=gnu++11 option and unused header.
193 * testsuite/23_containers/vector/debug/60587.cc: New.
194 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
196 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
198 * crossconfig.m4: Support spu-*-elf* targets.
199 * configure: Regenerate.
201 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
204 * include/std/future (__future_base::_Task_state<>): Change
205 constructors to template functions using perfect forwarding.
206 (__create_task_state): Use decayed type as stored task.
207 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
208 * testsuite/30_threads/packaged_task/60564.cc: New.
210 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
212 * scripts/create_testsuite_files: Add testsuite/experimental in
213 the list of folders to search for tests.
215 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
217 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
219 2014-03-15 Tim Shen <timshen91@gmail.com>
221 * include/bits/regex.h: Add/modify comments.
222 * include/bits/regex_compiler.h: Likewise.
223 * include/bits/regex_executor.h: Likewise.
224 * include/bits/regex_executor.tcc: Likewise.
225 * include/bits/regex_scanner.h: Likewise.
227 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
230 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
231 _ZNSt12system_errorC* symbols which are not exported on any target.
233 2014-03-12 Roland McGrath <mcgrathr@google.com>
234 Mark Seaborn <mseaborn@google.com>
237 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
238 the address of a null pointer, not with a null pointer to pointer.
239 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
240 * testsuite/18_support/bad_exception/59392.cc: New file.
242 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
245 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
247 * include/debug/map (map::operator=(map&&)): Likewise.
248 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
249 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
250 * include/debug/set (set::operator=(set&&)): Likewise.
251 * include/debug/unordered_map
252 (unordered_map::operator=(unordered_map&&)): Likewise.
253 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
254 * include/debug/unordered_set
255 (unordered_set::operator=(unordered_set&&)): Likewise.
256 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
257 * include/debug/vector (vector::operator=(vector&&)): Likewise.
258 * testsuite/23_containers/forward_list/debug/60499.cc: New
259 * testsuite/23_containers/map/debug/60499.cc: New
260 * testsuite/23_containers/multimap/debug/60499.cc: New
261 * testsuite/23_containers/multiset/debug/60499.cc: New
262 * testsuite/23_containers/set/debug/60499.cc: New
263 * testsuite/23_containers/unordered_map/debug/60499.cc: New
264 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
265 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
266 * testsuite/23_containers/unordered_set/debug/60499.cc: New
267 * testsuite/23_containers/vector/debug/60499.cc: New
269 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
271 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
272 for filesystem and fundamentals TS work items.
274 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
277 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
278 Adjust dg-error directives.
280 2014-02-26 Tim Shen <timshen91@gmail.com>
282 * include/bits/regex.tcc (match_results<>::format,
283 regex_replace<>): Update __out after calling std::copy.
284 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
286 * testsuite/28_regex/match_results/format.cc: Likewise.
288 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
291 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
292 allocator_type&)): Remove redundant call to _M_initialize_map.
293 (deque::deque(const allocator_type&)): Initialize _Base with a
294 constructor that calls _M_initialize_map.
298 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
300 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
303 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
305 Rename testsuite directory shared_mutex to shared_timed_mutex
307 * testsuite/30_threads/shared_mutex: Moved to...
308 * testsuite/30_threads/shared_timed_mutex: ...here
310 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
312 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
313 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
314 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
315 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
316 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
317 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
318 * testsuite/30_threads/shared_lock/requirements/
319 explicit_instantiation.cc: Ditto.
320 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
321 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
322 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
323 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
324 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
325 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
326 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
327 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
328 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
329 * testsuite/30_threads/shared_mutex/requirements/
330 standard_layout.cc: Ditto.
331 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
332 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
333 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
334 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
335 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
337 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
339 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
340 execution on i?86-*-solaris2.9, remove comment.
341 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
343 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
345 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
346 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
347 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
349 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
351 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
352 not use varargs when argument could be non-POD.
353 (__alloctr_rebind_helper): Eliminate static const bool member by
354 using true_type and false_type.
355 (allocator_traits::__allocate_helper): Likewise.
356 (allocator_traits::__construct_helper): Likewise.
357 (allocator_traits::__destroy_helper): Likewise.
358 (allocator_traits::__maxsize_helper): Likewise.
359 (allocator_traits::__select_helper): Likewise.
360 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
361 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
362 Remove redundant condition.
363 * include/bits/stl_vector.h (vector::operator=(const vector&)):
365 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
366 indirection through __alloc_traits.
367 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
368 Eliminate static const bool members by using true_type and false_type.
369 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
370 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
371 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
373 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
376 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
377 (vector::_M_data_ptr): New overloaded functions to ensure empty
378 vectors do not dereference the pointer.
379 * testsuite/23_containers/vector/59829.cc: New.
380 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
381 Adjust dg-error line number.
382 * testsuite/23_containers/vector/requirements/dr438/
383 constructor_1_neg.cc: Likewise.
384 * testsuite/23_containers/vector/requirements/dr438/
385 constructor_2_neg.cc: Likewise.
386 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
390 * include/ext/array_allocator.h: Add deprecated attribute.
393 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
394 installation and use of python printers.
395 * doc/xml/manual/status_cxx2011.xml: Update.
396 * doc/html/*: Regenerate.
398 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
399 Kyle Lippincott <spectral@google.com>
402 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
403 constructor and grant friendship to weak_ptr.
404 (weak_ptr::lock()): Use new constructor.
405 * include/bits/shared_ptr_base.h
406 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
407 and define specializations.
408 (__shared_count): Add new non-throwing constructor.
409 (__shared_ptr): Add new non-throwing constructor and grant friendship
411 (__weak_ptr::lock()): Use new constructor.
412 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
413 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
415 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
418 * include/bits/shared_ptr_base.h
419 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
422 2014-01-27 Jason Merrill <jason@redhat.com>
427 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
428 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
429 (__cxa_allocate_exception): Don't set it here.
431 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
433 * include/bits/stl_map.h: Remove anachronistic comment.
434 * include/bits/stl_multimap.h: Add whitespace.
435 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
436 -std=gnu++11 instead of -std=c++11.
437 * testsuite/23_containers/map/operators/2.cc: Likewise.
438 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
439 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
440 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
442 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
443 * configure: Regenerate.
445 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
448 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
449 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
451 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
452 Peter A. Bigot <pab@pabigot.com>
455 * include/experimental/string_view
456 (copy(_CharT*, size_type, size_type) const): Correct throw string.
457 Correct copy start location.
459 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
460 Peter A. Bigot <pab@pabigot.com>
463 * include/experimental/string_view (operator[](size_type) const):
464 Fix one-off index error in debug check.
465 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
466 test basic_string_view at size().
467 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
469 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
470 Peter A. Bigot <pab@pabigot.com>
473 * include/experimental/string_view
474 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
475 * testsuite/experimental/string_view/operations/substr/char/1.cc:
476 Comment out catch of out_of_range; No terminating null
477 in basic_string_view. Check begin == end.
478 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
481 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
484 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
485 constructor to prevent it being implicitly defined as deleted, but
486 do not copy anything.
487 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
488 Define copy and move constructors similar to _Safe_sequence_base's.
489 * testsuite/23_containers/unordered_map/59548.cc: New.
491 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
492 Steve Ellcey <sellcey@mips.com>
494 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
496 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
497 * (configure, config.h.in): Regenerate.
498 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
500 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
502 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
503 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
506 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
507 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
509 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
511 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
512 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
513 functions to perform moving or copying of elements from rvalue tree.
514 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
515 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
516 * testsuite/23_containers/map/59872.cc: New.
517 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
519 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
521 * include/bits/stl_deque.h (_Deque_impl): Move comment.
524 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
525 Split into separate default constructor and constructor taking
527 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
528 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
530 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
531 * include/debug/list (list::list(const _Allocator&)): Likewise.
532 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
534 * include/debug/multimap.h
535 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
536 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
538 * include/debug/multiset.h
539 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
540 * include/debug/vector (vector::vector(const allocator_type&)):
542 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
543 * include/profile/list (list::list(const _Allocator&)): Likewise.
544 * include/profile/map.h
545 (map::map(const _Compare&, const _Allocator&)): Likewise.
546 * include/profile/multimap.h
547 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
548 * include/profile/set.h
549 (set::set(const _Compare&, const _Allocator&)): Likewise.
550 * include/profile/multiset.h
551 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
552 * include/profile/vector (vector::vector(const _Allocator&)):
554 * testsuite/23_containers/deque/58764.cc: New.
555 * testsuite/23_containers/list/58764.cc: New.
556 * testsuite/23_containers/map/58764.cc: New.
557 * testsuite/23_containers/multimap/58764.cc: New.
558 * testsuite/23_containers/set/58764.cc: New.
559 * testsuite/23_containers/multiset/58764.cc: New.
560 * testsuite/23_containers/vector/58764.cc: New.
561 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
562 Adjust dg-error line number.
563 * testsuite/23_containers/deque/requirements/dr438/
564 constructor_1_neg.cc: Likewise.
565 * testsuite/23_containers/deque/requirements/dr438/
566 constructor_2_neg.cc: Likewise.
567 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
569 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
571 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
573 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
575 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
577 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
579 * testsuite/23_containers/vector/requirements/dr438/
580 constructor_1_neg.cc: Likewise.
581 * testsuite/23_containers/vector/requirements/dr438/
582 constructor_2_neg.cc: Likewise.
583 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
586 PR libstdc++/58764 (again)
587 * include/bits/stl_list.h (list): Make default constructor's exception
588 specification conditional.
589 * include/bits/stl_vector.h (vector): Likewise.
590 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
591 to default constructor.
592 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
593 Adjust dg-error line number.
594 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
596 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
598 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
600 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
602 * testsuite/23_containers/vector/requirements/dr438/
603 constructor_1_neg.cc: Likewise.
604 * testsuite/23_containers/vector/requirements/dr438/
605 constructor_2_neg.cc: Likewise.
606 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
609 2014-01-21 Tim Shen <timshen91@gmail.com>
611 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
612 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
613 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
615 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
618 * include/bits/hashtable.h (__cache_default): Do not depend on
619 whether the hash function is DefaultConstructible or CopyAssignable.
620 (_Hashtable): Adjust static assertions.
621 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
622 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
623 dg-error line number.
624 * testsuite/23_containers/unordered_set/
625 not_default_constructible_hash_neg.cc: Remove.
627 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
629 * scripts/create_testsuite_files: Add testsuite/experimental in
630 the list of folders to search for tests.
631 * include/experimental/string_view
632 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
633 incompatible with constexpr qualifier.
634 (basic_string_view<>::front()): Likewise.
635 (basic_string_view<>::back()): Likewise.
636 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
637 Merge dg-options directives into one.
638 * testsuite/experimental/string_view/element_access/char/2.cc:
639 Likewise. Remove invalid experimental namespace scope on
642 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
645 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
646 friendship to _Local_iterator_base<..., false>.
647 (_Local_iterator_base): Give protected access to all existing members.
648 (_Local_iterator_base::_M_curr()): New public accessor.
649 (_Local_iterator_base::_M_get_bucket()): New public accessor.
650 (_Local_iterator_base<..., false>::_M_init()): New function to manage
651 the lifetime of the _Hash_code_base explicitly.
652 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
653 (_Local_iterator_base<..., false>): Define copy constructor and copy
654 assignment operator that use new functions to manage _Hash_code_base.
655 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
656 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
657 Use public API for _Local_iterator_base.
658 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
659 * include/debug/unordered_map (__debug::unordered_map::erase(),
660 __debug::unordered_multimap::erase()): Likewise.
661 * include/debug/unordered_set (__debug::unordered_set::erase(),
662 __debug::unordered_multiset::erase()): Likewise.
663 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
665 2014-01-19 Tim Shen <timshen91@gmail.com>
667 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
668 Fix parse error of multiple consecutive quantifiers like "a**".
669 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
671 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
673 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
675 * include/profile/set.h (set): Implement C++11 allocator-aware
676 container requirements.
677 * include/profile/map.h (map): Likewise.
678 * include/profile/multiset.h (multiset): Likewise.
679 * include/profile/multimap.h (multimap): Likewise.
680 * include/profile/set.h
681 (set::operator=(const set&)): Define as default in C++11 mode.
682 (set::operator=(set&&)): Likewise.
683 * include/profile/map.h
684 (map::operator=(const map&)): Likewise.
685 (map::operator=(map&&)): Likewise.
686 * include/profile/multiset.h
687 (multiset::operator=(const multiset&)): Likewise.
688 (multiset::operator=(multiset&&)): Likewise.
689 * include/profile/multimap.h
690 (multimap::operator=(const multimap&)): Likewise.
691 (multimap::operator=(multimap&&)): Likewise.
692 * include/profile/set.h (set::operator=(std::initializer_list<>)):
693 Rely on the same operator from normal mode.
694 * include/profile/map.h (map::operator=(std::initializer_list<>)):
696 * include/profile/multiset.h
697 (multiset::operator=(std::initializer_list<>)): Likewise.
698 * include/profile/multimap.h
699 (multimap::operator=(std::initializer_list<>)): Likewise.
700 * include/profile/set.h (set::swap(set&)): Add noexcept
702 * include/profile/map.h (map::swap(map&)): Likewise.
703 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
704 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
706 2014-01-17 Tim Shen <timshen91@gmail.com>
708 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
710 * include/bits/regex_automaton.h: Do not use std::set.
711 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
712 _BracketMatcher<>::_M_add_collating_element(),
713 _BracketMatcher<>::_M_add_equivalence_class(),
714 _BracketMatcher<>::_M_make_range()): Likewise.
715 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
717 * include/bits/regex_executor.h: Do not use std::queue.
718 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
719 _Executor<>::_M_dfs()): Likewise.
720 * include/std/regex: Remove <map>, <set> and <queue>.
722 2014-01-17 Tim Shen <timshen91@gmail.com>
724 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
725 basic_regex<>::assign()): Change __compile_nfa to accept
727 * include/bits/regex_compiler.h: Change _Compiler's template
728 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
729 * include/bits/regex_compiler.tcc: Likewise.
731 2014-01-17 Tim Shen <timshen91@gmail.com>
733 * include/bits/regex_compiler.h: Change _ScannerT into char-type
735 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
736 _ScannerBase from _Scanner; Change _Scanner's template argument from
737 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
739 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
740 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
741 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
743 * include/std/regex: Add <cstring> for using strchr.
745 2014-01-17 Tim Shen <timshen91@gmail.com>
747 * bits/regex_automaton.tcc: Indentation fix.
748 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
749 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
750 _BracketMatcher<>): Add bool option template parameters and
751 specializations to make matching more efficient and space saving.
752 * bits/regex_compiler.tcc: Likewise.
754 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
757 * include/bits/hashtable_policy.h: Fix some long lines.
758 * include/bits/hashtable.h (__hash_code_base_access): Define and
759 use it to check its _M_bucket_index noexcept qualification. Use
761 (__access_protected_ctor): ...this.
762 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
764 * testsuite/23_containers/unordered_set/
765 not_default_constructible_hash_neg.cc: Likewise.
767 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
769 * include/debug/set.h (set): Implement C++11 allocator-aware
770 container requirements.
771 * include/debug/map.h (map): Likewise.
772 * include/debug/multiset.h (multiset): Likewise.
773 * include/debug/multimap.h (multimap): Likewise.
774 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
775 fix implementation regarding management of safe iterators.
776 * include/debug/map.h (map::operator=(map&&)): Likewise.
777 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
778 * include/debug/multimap.h (multimap::operator=(multimap&&)):
780 * include/debug/set.h (set::operator=(std::initializer_list<>)):
781 Rely on the same operator from normal mode.
782 * include/debug/map.h (map::operator=(std::initializer_list<>)):
784 * include/debug/multiset.h
785 (multiset::operator=(std::initializer_list<>)): Likewise.
786 * include/debug/multimap.h
787 (multimap::operator=(std::initializer_list<>)): Likewise.
788 * include/debug/set.h (set::swap(set&)): Add noexcept
789 specification, add allocator equality check.
790 * include/debug/map.h (map::swap(map&)): Likewise.
791 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
792 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
794 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
797 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
798 and stylistic improvements.
799 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
800 and update for C++11.
801 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
804 * doc/xml/manual/backwards_compatibility.xml
805 (backwards.third.nocreate_noreplace): Correct and expand.
808 * doc/xml/manual/support.xml (std.support.types.null): Update links.
810 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
813 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
814 support for non-Movable types.
817 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
819 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
821 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
822 *this allocator instance when building temporary vector instance
823 so that *this allocator does not get moved.
824 * include/debug/safe_base.h
825 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
826 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
827 move constructor from _Safe_sequence_base.
828 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
829 safe iterators if the instance is moved.
830 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
831 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
832 check on a vector iterator.
833 * testsuite/23_containers/vector/allocator/move_assign.cc
835 (test03): New, test with a non-propagating allocator.
836 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
838 2014-01-07 Tim Shen <timshen91@gmail.com>
840 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
841 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
842 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
843 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
844 _BracketMatcher<>::_M_add_char(),
845 _BracketMatcher<>::_M_add_collating_element(),
846 _BracketMatcher<>::_M_add_equivalence_class(),
847 _BracketMatcher<>::_M_add_character_class(),
848 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
849 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
850 Fix _AnyMatcher behavior of POSIX style and move _M_flags
851 to template parameter; Add cache for _BracketMatcher. Adjust
852 declarations from here...
853 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
854 imbuing a regex will trigger a recompilation to rebuild the cache.
855 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
856 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
857 different template bool parameters.
858 * include/bits/regex_executor.h: Remove unnecessary declarations.
859 * include/std/regex: Adjust including orders.
860 * testsuite/28_regex/traits/char/user_defined.cc: New.
861 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
863 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
865 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
866 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
867 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
868 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
869 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
871 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
873 Update copyright years
875 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
877 * testsuite/18_support/new_handler.cc,
878 testsuite/18_support/terminate_handler.cc,
879 testsuite/18_support/unexpected_handler.cc: Use the standard form for
880 the copyright notice.
882 Copyright (C) 2014 Free Software Foundation, Inc.
884 Copying and distribution of this file, with or without modification,
885 are permitted in any medium without royalty provided the copyright
886 notice and this notice are preserved.