1 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
4 _Vector_base::_M_allocate): NullablePointer requirements do not
5 include initialization from literal zero, use value-initialization.
6 * include/bits/vector.tcc (vector::_M_insert_aux,
7 vector::_M_explace_back_aux): Likewise for assignment.
9 * include/bits/allocator.h (operator==, operator!=): Add exception
13 * include/std/tuple (get): Qualify calls to prevent ADL.
14 * testsuite/20_util/tuple/60497.cc: New.
16 * include/std/tuple (tuple_element_t): Define.
17 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
19 * testsuite/20_util/tuple/tuple_element_t.cc: New.
21 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
24 * include/bits/stl_iterator.h (move_iterator::reference,
25 move_iterator::operator*): Implement LWG 2106.
26 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
28 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
30 * include/std/complex (__complex_exp, pow): Specify the template
31 parameter in calls to std::polar, for expression templates.
33 2014-04-10 Andreas Schwab <schwab@suse.de>
35 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
37 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
38 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
40 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
42 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
44 * testsuite/20_util/exchange/1.cc: Add missing return statements.
45 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
46 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
49 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
50 Jack Howarth <howarth@bromo.med.uc.edu>
53 * testsuite/30_threads/condition_variable/54185.cc: Skip for
56 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
58 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
60 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
62 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
63 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
64 * doc/xml/manual/concurrency_extensions.xml
65 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
66 * doc/html/*: Regenerate.
68 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
69 Jonathan Wakely <jwakely@redhat.com>
72 * include/std/iomanip (_Quoted_string operator>>): Do not clear
73 string if input is not quoted.
74 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
76 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
78 * libsupc++/eh_ptr.cc: Improve static_assert messages.
80 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
82 * testsuite/18_support/exception_ptr/60612-terminate.cc
83 (terminate, f): Wrap in _GLIBCXX_USE_C99.
84 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
86 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
88 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
90 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
91 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
93 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
95 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
97 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
98 Fix bad s/part/chapter/ substitutions.
99 * doc/xml/manual/io.xml (std.io): Likewise.
100 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
101 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
103 * doc/html/*: Regenerate.
105 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
108 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
109 compatible with __cxa_exception.
110 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
111 Fix typos in comments.
112 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
113 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
115 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
118 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
119 Use sizeof pointer type not the element type.
120 * testsuite/29_atomics/atomic/60658.cc: New.
122 2014-03-24 Jakub Jelinek <jakub@redhat.com>
124 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
125 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
126 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
127 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
128 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
129 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
130 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
131 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
132 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
133 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
136 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
138 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
140 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
142 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
143 to delegated constructor.
144 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
145 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
148 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
150 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
153 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
155 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
158 * include/debug/functions.h (_Is_contiguous_sequence): Define.
159 (__foreign_iterator): Accept additional iterator. Do not dispatch on
161 (__foreign_iterator_aux2): Likewise. Add overload for iterators
162 from different types of debug container. Use _Is_contiguous_sequence
163 instead of is_lvalue_reference.
164 (__foreign_iterator_aux3): Accept additional iterator. Avoid
165 dereferencing past-the-end iterator.
166 (__foreign_iterator_aux4): Use const value_type* instead of
167 potentially user-defined const_pointer type.
168 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
169 and pass end iterator to __gnu_debug::__foreign_iterator.
170 (__glibcxx_check_insert_range_after): Likewise.
171 (__glibcxx_check_max_load_factor): Fix comment.
172 * include/debug/vector (_Is_contiguous_sequence): Define partial
174 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
175 -std=gnu++11 option and unused header.
176 * testsuite/23_containers/vector/debug/60587.cc: New.
177 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
179 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
181 * crossconfig.m4: Support spu-*-elf* targets.
182 * configure: Regenerate.
184 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
187 * include/std/future (__future_base::_Task_state<>): Change
188 constructors to template functions using perfect forwarding.
189 (__create_task_state): Use decayed type as stored task.
190 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
191 * testsuite/30_threads/packaged_task/60564.cc: New.
193 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
195 * scripts/create_testsuite_files: Add testsuite/experimental in
196 the list of folders to search for tests.
198 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
200 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
202 2014-03-15 Tim Shen <timshen91@gmail.com>
204 * include/bits/regex.h: Add/modify comments.
205 * include/bits/regex_compiler.h: Likewise.
206 * include/bits/regex_executor.h: Likewise.
207 * include/bits/regex_executor.tcc: Likewise.
208 * include/bits/regex_scanner.h: Likewise.
210 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
213 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
214 _ZNSt12system_errorC* symbols which are not exported on any target.
216 2014-03-12 Roland McGrath <mcgrathr@google.com>
217 Mark Seaborn <mseaborn@google.com>
220 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
221 the address of a null pointer, not with a null pointer to pointer.
222 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
223 * testsuite/18_support/bad_exception/59392.cc: New file.
225 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
228 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
230 * include/debug/map (map::operator=(map&&)): Likewise.
231 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
232 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
233 * include/debug/set (set::operator=(set&&)): Likewise.
234 * include/debug/unordered_map
235 (unordered_map::operator=(unordered_map&&)): Likewise.
236 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
237 * include/debug/unordered_set
238 (unordered_set::operator=(unordered_set&&)): Likewise.
239 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
240 * include/debug/vector (vector::operator=(vector&&)): Likewise.
241 * testsuite/23_containers/forward_list/debug/60499.cc: New
242 * testsuite/23_containers/map/debug/60499.cc: New
243 * testsuite/23_containers/multimap/debug/60499.cc: New
244 * testsuite/23_containers/multiset/debug/60499.cc: New
245 * testsuite/23_containers/set/debug/60499.cc: New
246 * testsuite/23_containers/unordered_map/debug/60499.cc: New
247 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
248 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
249 * testsuite/23_containers/unordered_set/debug/60499.cc: New
250 * testsuite/23_containers/vector/debug/60499.cc: New
252 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
254 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
255 for filesystem and fundamentals TS work items.
257 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
260 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
261 Adjust dg-error directives.
263 2014-02-26 Tim Shen <timshen91@gmail.com>
265 * include/bits/regex.tcc (match_results<>::format,
266 regex_replace<>): Update __out after calling std::copy.
267 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
269 * testsuite/28_regex/match_results/format.cc: Likewise.
271 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
274 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
275 allocator_type&)): Remove redundant call to _M_initialize_map.
276 (deque::deque(const allocator_type&)): Initialize _Base with a
277 constructor that calls _M_initialize_map.
281 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
283 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
286 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
288 Rename testsuite directory shared_mutex to shared_timed_mutex
290 * testsuite/30_threads/shared_mutex: Moved to...
291 * testsuite/30_threads/shared_timed_mutex: ...here
293 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
295 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
296 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
297 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
298 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
299 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
300 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
301 * testsuite/30_threads/shared_lock/requirements/
302 explicit_instantiation.cc: Ditto.
303 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
304 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
305 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
306 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
307 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
308 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
309 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
310 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
311 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
312 * testsuite/30_threads/shared_mutex/requirements/
313 standard_layout.cc: Ditto.
314 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
315 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
316 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
317 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
318 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
320 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
322 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
323 execution on i?86-*-solaris2.9, remove comment.
324 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
326 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
328 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
329 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
330 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
332 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
334 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
335 not use varargs when argument could be non-POD.
336 (__alloctr_rebind_helper): Eliminate static const bool member by
337 using true_type and false_type.
338 (allocator_traits::__allocate_helper): Likewise.
339 (allocator_traits::__construct_helper): Likewise.
340 (allocator_traits::__destroy_helper): Likewise.
341 (allocator_traits::__maxsize_helper): Likewise.
342 (allocator_traits::__select_helper): Likewise.
343 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
344 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
345 Remove redundant condition.
346 * include/bits/stl_vector.h (vector::operator=(const vector&)):
348 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
349 indirection through __alloc_traits.
350 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
351 Eliminate static const bool members by using true_type and false_type.
352 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
353 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
354 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
356 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
359 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
360 (vector::_M_data_ptr): New overloaded functions to ensure empty
361 vectors do not dereference the pointer.
362 * testsuite/23_containers/vector/59829.cc: New.
363 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
364 Adjust dg-error line number.
365 * testsuite/23_containers/vector/requirements/dr438/
366 constructor_1_neg.cc: Likewise.
367 * testsuite/23_containers/vector/requirements/dr438/
368 constructor_2_neg.cc: Likewise.
369 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
373 * include/ext/array_allocator.h: Add deprecated attribute.
376 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
377 installation and use of python printers.
378 * doc/xml/manual/status_cxx2011.xml: Update.
379 * doc/html/*: Regenerate.
381 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
382 Kyle Lippincott <spectral@google.com>
385 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
386 constructor and grant friendship to weak_ptr.
387 (weak_ptr::lock()): Use new constructor.
388 * include/bits/shared_ptr_base.h
389 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
390 and define specializations.
391 (__shared_count): Add new non-throwing constructor.
392 (__shared_ptr): Add new non-throwing constructor and grant friendship
394 (__weak_ptr::lock()): Use new constructor.
395 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
396 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
398 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
401 * include/bits/shared_ptr_base.h
402 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
405 2014-01-27 Jason Merrill <jason@redhat.com>
410 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
411 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
412 (__cxa_allocate_exception): Don't set it here.
414 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
416 * include/bits/stl_map.h: Remove anachronistic comment.
417 * include/bits/stl_multimap.h: Add whitespace.
418 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
419 -std=gnu++11 instead of -std=c++11.
420 * testsuite/23_containers/map/operators/2.cc: Likewise.
421 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
422 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
423 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
425 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
426 * configure: Regenerate.
428 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
431 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
432 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
434 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
435 Peter A. Bigot <pab@pabigot.com>
438 * include/experimental/string_view
439 (copy(_CharT*, size_type, size_type) const): Correct throw string.
440 Correct copy start location.
442 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
443 Peter A. Bigot <pab@pabigot.com>
446 * include/experimental/string_view (operator[](size_type) const):
447 Fix one-off index error in debug check.
448 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
449 test basic_string_view at size().
450 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
452 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
453 Peter A. Bigot <pab@pabigot.com>
456 * include/experimental/string_view
457 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
458 * testsuite/experimental/string_view/operations/substr/char/1.cc:
459 Comment out catch of out_of_range; No terminating null
460 in basic_string_view. Check begin == end.
461 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
464 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
467 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
468 constructor to prevent it being implicitly defined as deleted, but
469 do not copy anything.
470 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
471 Define copy and move constructors similar to _Safe_sequence_base's.
472 * testsuite/23_containers/unordered_map/59548.cc: New.
474 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
475 Steve Ellcey <sellcey@mips.com>
477 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
479 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
480 * (configure, config.h.in): Regenerate.
481 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
483 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
485 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
486 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
489 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
490 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
492 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
494 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
495 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
496 functions to perform moving or copying of elements from rvalue tree.
497 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
498 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
499 * testsuite/23_containers/map/59872.cc: New.
500 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
502 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
504 * include/bits/stl_deque.h (_Deque_impl): Move comment.
507 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
508 Split into separate default constructor and constructor taking
510 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
511 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
513 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
514 * include/debug/list (list::list(const _Allocator&)): Likewise.
515 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
517 * include/debug/multimap.h
518 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
519 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
521 * include/debug/multiset.h
522 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
523 * include/debug/vector (vector::vector(const allocator_type&)):
525 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
526 * include/profile/list (list::list(const _Allocator&)): Likewise.
527 * include/profile/map.h
528 (map::map(const _Compare&, const _Allocator&)): Likewise.
529 * include/profile/multimap.h
530 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
531 * include/profile/set.h
532 (set::set(const _Compare&, const _Allocator&)): Likewise.
533 * include/profile/multiset.h
534 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
535 * include/profile/vector (vector::vector(const _Allocator&)):
537 * testsuite/23_containers/deque/58764.cc: New.
538 * testsuite/23_containers/list/58764.cc: New.
539 * testsuite/23_containers/map/58764.cc: New.
540 * testsuite/23_containers/multimap/58764.cc: New.
541 * testsuite/23_containers/set/58764.cc: New.
542 * testsuite/23_containers/multiset/58764.cc: New.
543 * testsuite/23_containers/vector/58764.cc: New.
544 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
545 Adjust dg-error line number.
546 * testsuite/23_containers/deque/requirements/dr438/
547 constructor_1_neg.cc: Likewise.
548 * testsuite/23_containers/deque/requirements/dr438/
549 constructor_2_neg.cc: Likewise.
550 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
552 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
554 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
556 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
558 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
560 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
562 * testsuite/23_containers/vector/requirements/dr438/
563 constructor_1_neg.cc: Likewise.
564 * testsuite/23_containers/vector/requirements/dr438/
565 constructor_2_neg.cc: Likewise.
566 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
569 PR libstdc++/58764 (again)
570 * include/bits/stl_list.h (list): Make default constructor's exception
571 specification conditional.
572 * include/bits/stl_vector.h (vector): Likewise.
573 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
574 to default constructor.
575 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
576 Adjust dg-error line number.
577 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
579 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
581 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
583 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
585 * testsuite/23_containers/vector/requirements/dr438/
586 constructor_1_neg.cc: Likewise.
587 * testsuite/23_containers/vector/requirements/dr438/
588 constructor_2_neg.cc: Likewise.
589 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
592 2014-01-21 Tim Shen <timshen91@gmail.com>
594 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
595 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
596 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
598 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
601 * include/bits/hashtable.h (__cache_default): Do not depend on
602 whether the hash function is DefaultConstructible or CopyAssignable.
603 (_Hashtable): Adjust static assertions.
604 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
605 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
606 dg-error line number.
607 * testsuite/23_containers/unordered_set/
608 not_default_constructible_hash_neg.cc: Remove.
610 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
612 * scripts/create_testsuite_files: Add testsuite/experimental in
613 the list of folders to search for tests.
614 * include/experimental/string_view
615 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
616 incompatible with constexpr qualifier.
617 (basic_string_view<>::front()): Likewise.
618 (basic_string_view<>::back()): Likewise.
619 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
620 Merge dg-options directives into one.
621 * testsuite/experimental/string_view/element_access/char/2.cc:
622 Likewise. Remove invalid experimental namespace scope on
625 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
628 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
629 friendship to _Local_iterator_base<..., false>.
630 (_Local_iterator_base): Give protected access to all existing members.
631 (_Local_iterator_base::_M_curr()): New public accessor.
632 (_Local_iterator_base::_M_get_bucket()): New public accessor.
633 (_Local_iterator_base<..., false>::_M_init()): New function to manage
634 the lifetime of the _Hash_code_base explicitly.
635 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
636 (_Local_iterator_base<..., false>): Define copy constructor and copy
637 assignment operator that use new functions to manage _Hash_code_base.
638 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
639 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
640 Use public API for _Local_iterator_base.
641 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
642 * include/debug/unordered_map (__debug::unordered_map::erase(),
643 __debug::unordered_multimap::erase()): Likewise.
644 * include/debug/unordered_set (__debug::unordered_set::erase(),
645 __debug::unordered_multiset::erase()): Likewise.
646 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
648 2014-01-19 Tim Shen <timshen91@gmail.com>
650 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
651 Fix parse error of multiple consecutive quantifiers like "a**".
652 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
654 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
656 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
658 * include/profile/set.h (set): Implement C++11 allocator-aware
659 container requirements.
660 * include/profile/map.h (map): Likewise.
661 * include/profile/multiset.h (multiset): Likewise.
662 * include/profile/multimap.h (multimap): Likewise.
663 * include/profile/set.h
664 (set::operator=(const set&)): Define as default in C++11 mode.
665 (set::operator=(set&&)): Likewise.
666 * include/profile/map.h
667 (map::operator=(const map&)): Likewise.
668 (map::operator=(map&&)): Likewise.
669 * include/profile/multiset.h
670 (multiset::operator=(const multiset&)): Likewise.
671 (multiset::operator=(multiset&&)): Likewise.
672 * include/profile/multimap.h
673 (multimap::operator=(const multimap&)): Likewise.
674 (multimap::operator=(multimap&&)): Likewise.
675 * include/profile/set.h (set::operator=(std::initializer_list<>)):
676 Rely on the same operator from normal mode.
677 * include/profile/map.h (map::operator=(std::initializer_list<>)):
679 * include/profile/multiset.h
680 (multiset::operator=(std::initializer_list<>)): Likewise.
681 * include/profile/multimap.h
682 (multimap::operator=(std::initializer_list<>)): Likewise.
683 * include/profile/set.h (set::swap(set&)): Add noexcept
685 * include/profile/map.h (map::swap(map&)): Likewise.
686 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
687 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
689 2014-01-17 Tim Shen <timshen91@gmail.com>
691 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
693 * include/bits/regex_automaton.h: Do not use std::set.
694 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
695 _BracketMatcher<>::_M_add_collating_element(),
696 _BracketMatcher<>::_M_add_equivalence_class(),
697 _BracketMatcher<>::_M_make_range()): Likewise.
698 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
700 * include/bits/regex_executor.h: Do not use std::queue.
701 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
702 _Executor<>::_M_dfs()): Likewise.
703 * include/std/regex: Remove <map>, <set> and <queue>.
705 2014-01-17 Tim Shen <timshen91@gmail.com>
707 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
708 basic_regex<>::assign()): Change __compile_nfa to accept
710 * include/bits/regex_compiler.h: Change _Compiler's template
711 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
712 * include/bits/regex_compiler.tcc: Likewise.
714 2014-01-17 Tim Shen <timshen91@gmail.com>
716 * include/bits/regex_compiler.h: Change _ScannerT into char-type
718 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
719 _ScannerBase from _Scanner; Change _Scanner's template argument from
720 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
722 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
723 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
724 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
726 * include/std/regex: Add <cstring> for using strchr.
728 2014-01-17 Tim Shen <timshen91@gmail.com>
730 * bits/regex_automaton.tcc: Indentation fix.
731 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
732 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
733 _BracketMatcher<>): Add bool option template parameters and
734 specializations to make matching more efficient and space saving.
735 * bits/regex_compiler.tcc: Likewise.
737 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
740 * include/bits/hashtable_policy.h: Fix some long lines.
741 * include/bits/hashtable.h (__hash_code_base_access): Define and
742 use it to check its _M_bucket_index noexcept qualification. Use
744 (__access_protected_ctor): ...this.
745 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
747 * testsuite/23_containers/unordered_set/
748 not_default_constructible_hash_neg.cc: Likewise.
750 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
752 * include/debug/set.h (set): Implement C++11 allocator-aware
753 container requirements.
754 * include/debug/map.h (map): Likewise.
755 * include/debug/multiset.h (multiset): Likewise.
756 * include/debug/multimap.h (multimap): Likewise.
757 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
758 fix implementation regarding management of safe iterators.
759 * include/debug/map.h (map::operator=(map&&)): Likewise.
760 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
761 * include/debug/multimap.h (multimap::operator=(multimap&&)):
763 * include/debug/set.h (set::operator=(std::initializer_list<>)):
764 Rely on the same operator from normal mode.
765 * include/debug/map.h (map::operator=(std::initializer_list<>)):
767 * include/debug/multiset.h
768 (multiset::operator=(std::initializer_list<>)): Likewise.
769 * include/debug/multimap.h
770 (multimap::operator=(std::initializer_list<>)): Likewise.
771 * include/debug/set.h (set::swap(set&)): Add noexcept
772 specification, add allocator equality check.
773 * include/debug/map.h (map::swap(map&)): Likewise.
774 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
775 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
777 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
780 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
781 and stylistic improvements.
782 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
783 and update for C++11.
784 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
787 * doc/xml/manual/backwards_compatibility.xml
788 (backwards.third.nocreate_noreplace): Correct and expand.
791 * doc/xml/manual/support.xml (std.support.types.null): Update links.
793 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
796 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
797 support for non-Movable types.
800 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
802 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
804 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
805 *this allocator instance when building temporary vector instance
806 so that *this allocator does not get moved.
807 * include/debug/safe_base.h
808 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
809 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
810 move constructor from _Safe_sequence_base.
811 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
812 safe iterators if the instance is moved.
813 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
814 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
815 check on a vector iterator.
816 * testsuite/23_containers/vector/allocator/move_assign.cc
818 (test03): New, test with a non-propagating allocator.
819 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
821 2014-01-07 Tim Shen <timshen91@gmail.com>
823 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
824 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
825 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
826 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
827 _BracketMatcher<>::_M_add_char(),
828 _BracketMatcher<>::_M_add_collating_element(),
829 _BracketMatcher<>::_M_add_equivalence_class(),
830 _BracketMatcher<>::_M_add_character_class(),
831 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
832 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
833 Fix _AnyMatcher behavior of POSIX style and move _M_flags
834 to template parameter; Add cache for _BracketMatcher. Adjust
835 declarations from here...
836 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
837 imbuing a regex will trigger a recompilation to rebuild the cache.
838 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
839 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
840 different template bool parameters.
841 * include/bits/regex_executor.h: Remove unnecessary declarations.
842 * include/std/regex: Adjust including orders.
843 * testsuite/28_regex/traits/char/user_defined.cc: New.
844 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
846 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
848 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
849 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
850 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
851 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
852 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
854 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
856 Update copyright years
858 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
860 * testsuite/18_support/new_handler.cc,
861 testsuite/18_support/terminate_handler.cc,
862 testsuite/18_support/unexpected_handler.cc: Use the standard form for
863 the copyright notice.
865 Copyright (C) 2014 Free Software Foundation, Inc.
867 Copying and distribution of this file, with or without modification,
868 are permitted in any medium without royalty provided the copyright
869 notice and this notice are preserved.