1 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
3 * include/std/functional (__is_location_invariant): Use __or_ helper.
5 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
8 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
11 * include/std/atomic (atomic<_Tp>): Add static assertion.
12 * testsuite/29_atomics/atomic/60695.cc: New.
15 * include/std/functional (function::_Callable): Exclude own type
16 from the callable checks.
17 * testsuite/20_util/function/60594.cc: New.
19 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
20 const to constexpr member functions.
22 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
23 delegating constructor.
24 * include/bits/shared_ptr_base.h
25 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
27 * include/std/atomic: Uglify parameter names.
30 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
31 1.cc: Fix invalid explicit instantiations with unqualified names.
32 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
34 * testsuite/20_util/tuple/53648.cc: Likweise.
35 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
37 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
39 * testsuite/23_containers/unordered_map/requirements/
40 debug_container.cc: Likewise.
41 * testsuite/23_containers/unordered_map/requirements/
42 explicit_instantiation/3.cc: Likewise.
43 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
45 * testsuite/23_containers/unordered_multimap/requirements/
46 explicit_instantiation/3.cc: Likewise.
47 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
49 * testsuite/23_containers/unordered_multiset/requirements/
50 explicit_instantiation/3.cc: Likewise.
51 * testsuite/23_containers/unordered_set/requirements/
52 debug_container.cc: Likewise.
53 * testsuite/23_containers/unordered_set/requirements/
54 explicit_instantiation/3.cc: Likewise.
56 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
57 not use uninitialized members in mem-initializers.
58 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
59 * testsuite/util/testsuite_common_types.h: Update comment.
61 * include/experimental/string_view: Fix inconsistent exception specs.
63 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
64 Remove name of unused parameter.
66 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
68 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
69 _Vector_base::_M_allocate): NullablePointer requirements do not
70 include initialization from literal zero, use value-initialization.
71 * include/bits/vector.tcc (vector::_M_insert_aux,
72 vector::_M_explace_back_aux): Likewise for assignment.
74 * include/bits/allocator.h (operator==, operator!=): Add exception
78 * include/std/tuple (get): Qualify calls to prevent ADL.
79 * testsuite/20_util/tuple/60497.cc: New.
81 * include/std/tuple (tuple_element_t): Define.
82 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
84 * testsuite/20_util/tuple/tuple_element_t.cc: New.
86 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
89 * include/bits/stl_iterator.h (move_iterator::reference,
90 move_iterator::operator*): Implement LWG 2106.
91 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
93 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
95 * include/std/complex (__complex_exp, pow): Specify the template
96 parameter in calls to std::polar, for expression templates.
98 2014-04-10 Andreas Schwab <schwab@suse.de>
100 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
102 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
103 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
105 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
107 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
109 * testsuite/20_util/exchange/1.cc: Add missing return statements.
110 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
111 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
114 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
115 Jack Howarth <howarth@bromo.med.uc.edu>
118 * testsuite/30_threads/condition_variable/54185.cc: Skip for
121 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
123 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
125 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
127 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
128 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
129 * doc/xml/manual/concurrency_extensions.xml
130 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
131 * doc/html/*: Regenerate.
133 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
134 Jonathan Wakely <jwakely@redhat.com>
137 * include/std/iomanip (_Quoted_string operator>>): Do not clear
138 string if input is not quoted.
139 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
141 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
143 * libsupc++/eh_ptr.cc: Improve static_assert messages.
145 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
147 * testsuite/18_support/exception_ptr/60612-terminate.cc
148 (terminate, f): Wrap in _GLIBCXX_USE_C99.
149 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
151 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
153 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
155 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
156 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
158 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
160 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
162 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
163 Fix bad s/part/chapter/ substitutions.
164 * doc/xml/manual/io.xml (std.io): Likewise.
165 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
166 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
168 * doc/html/*: Regenerate.
170 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
173 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
174 compatible with __cxa_exception.
175 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
176 Fix typos in comments.
177 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
178 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
180 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
183 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
184 Use sizeof pointer type not the element type.
185 * testsuite/29_atomics/atomic/60658.cc: New.
187 2014-03-24 Jakub Jelinek <jakub@redhat.com>
189 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
190 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
191 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
192 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
193 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
194 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
195 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
196 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
197 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
198 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
201 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
203 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
205 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
207 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
208 to delegated constructor.
209 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
210 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
213 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
215 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
218 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
220 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
223 * include/debug/functions.h (_Is_contiguous_sequence): Define.
224 (__foreign_iterator): Accept additional iterator. Do not dispatch on
226 (__foreign_iterator_aux2): Likewise. Add overload for iterators
227 from different types of debug container. Use _Is_contiguous_sequence
228 instead of is_lvalue_reference.
229 (__foreign_iterator_aux3): Accept additional iterator. Avoid
230 dereferencing past-the-end iterator.
231 (__foreign_iterator_aux4): Use const value_type* instead of
232 potentially user-defined const_pointer type.
233 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
234 and pass end iterator to __gnu_debug::__foreign_iterator.
235 (__glibcxx_check_insert_range_after): Likewise.
236 (__glibcxx_check_max_load_factor): Fix comment.
237 * include/debug/vector (_Is_contiguous_sequence): Define partial
239 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
240 -std=gnu++11 option and unused header.
241 * testsuite/23_containers/vector/debug/60587.cc: New.
242 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
244 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
246 * crossconfig.m4: Support spu-*-elf* targets.
247 * configure: Regenerate.
249 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
252 * include/std/future (__future_base::_Task_state<>): Change
253 constructors to template functions using perfect forwarding.
254 (__create_task_state): Use decayed type as stored task.
255 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
256 * testsuite/30_threads/packaged_task/60564.cc: New.
258 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
260 * scripts/create_testsuite_files: Add testsuite/experimental in
261 the list of folders to search for tests.
263 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
265 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
267 2014-03-15 Tim Shen <timshen91@gmail.com>
269 * include/bits/regex.h: Add/modify comments.
270 * include/bits/regex_compiler.h: Likewise.
271 * include/bits/regex_executor.h: Likewise.
272 * include/bits/regex_executor.tcc: Likewise.
273 * include/bits/regex_scanner.h: Likewise.
275 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
278 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
279 _ZNSt12system_errorC* symbols which are not exported on any target.
281 2014-03-12 Roland McGrath <mcgrathr@google.com>
282 Mark Seaborn <mseaborn@google.com>
285 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
286 the address of a null pointer, not with a null pointer to pointer.
287 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
288 * testsuite/18_support/bad_exception/59392.cc: New file.
290 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
293 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
295 * include/debug/map (map::operator=(map&&)): Likewise.
296 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
297 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
298 * include/debug/set (set::operator=(set&&)): Likewise.
299 * include/debug/unordered_map
300 (unordered_map::operator=(unordered_map&&)): Likewise.
301 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
302 * include/debug/unordered_set
303 (unordered_set::operator=(unordered_set&&)): Likewise.
304 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
305 * include/debug/vector (vector::operator=(vector&&)): Likewise.
306 * testsuite/23_containers/forward_list/debug/60499.cc: New
307 * testsuite/23_containers/map/debug/60499.cc: New
308 * testsuite/23_containers/multimap/debug/60499.cc: New
309 * testsuite/23_containers/multiset/debug/60499.cc: New
310 * testsuite/23_containers/set/debug/60499.cc: New
311 * testsuite/23_containers/unordered_map/debug/60499.cc: New
312 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
313 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
314 * testsuite/23_containers/unordered_set/debug/60499.cc: New
315 * testsuite/23_containers/vector/debug/60499.cc: New
317 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
319 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
320 for filesystem and fundamentals TS work items.
322 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
325 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
326 Adjust dg-error directives.
328 2014-02-26 Tim Shen <timshen91@gmail.com>
330 * include/bits/regex.tcc (match_results<>::format,
331 regex_replace<>): Update __out after calling std::copy.
332 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
334 * testsuite/28_regex/match_results/format.cc: Likewise.
336 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
339 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
340 allocator_type&)): Remove redundant call to _M_initialize_map.
341 (deque::deque(const allocator_type&)): Initialize _Base with a
342 constructor that calls _M_initialize_map.
346 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
348 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
351 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
353 Rename testsuite directory shared_mutex to shared_timed_mutex
355 * testsuite/30_threads/shared_mutex: Moved to...
356 * testsuite/30_threads/shared_timed_mutex: ...here
358 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
360 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
361 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
362 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
363 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
364 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
365 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
366 * testsuite/30_threads/shared_lock/requirements/
367 explicit_instantiation.cc: Ditto.
368 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
369 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
370 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
371 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
372 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
373 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
374 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
375 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
376 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
377 * testsuite/30_threads/shared_mutex/requirements/
378 standard_layout.cc: Ditto.
379 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
380 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
381 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
382 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
383 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
385 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
387 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
388 execution on i?86-*-solaris2.9, remove comment.
389 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
391 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
393 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
394 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
395 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
397 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
399 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
400 not use varargs when argument could be non-POD.
401 (__alloctr_rebind_helper): Eliminate static const bool member by
402 using true_type and false_type.
403 (allocator_traits::__allocate_helper): Likewise.
404 (allocator_traits::__construct_helper): Likewise.
405 (allocator_traits::__destroy_helper): Likewise.
406 (allocator_traits::__maxsize_helper): Likewise.
407 (allocator_traits::__select_helper): Likewise.
408 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
409 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
410 Remove redundant condition.
411 * include/bits/stl_vector.h (vector::operator=(const vector&)):
413 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
414 indirection through __alloc_traits.
415 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
416 Eliminate static const bool members by using true_type and false_type.
417 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
418 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
419 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
421 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
424 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
425 (vector::_M_data_ptr): New overloaded functions to ensure empty
426 vectors do not dereference the pointer.
427 * testsuite/23_containers/vector/59829.cc: New.
428 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
429 Adjust dg-error line number.
430 * testsuite/23_containers/vector/requirements/dr438/
431 constructor_1_neg.cc: Likewise.
432 * testsuite/23_containers/vector/requirements/dr438/
433 constructor_2_neg.cc: Likewise.
434 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
438 * include/ext/array_allocator.h: Add deprecated attribute.
441 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
442 installation and use of python printers.
443 * doc/xml/manual/status_cxx2011.xml: Update.
444 * doc/html/*: Regenerate.
446 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
447 Kyle Lippincott <spectral@google.com>
450 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
451 constructor and grant friendship to weak_ptr.
452 (weak_ptr::lock()): Use new constructor.
453 * include/bits/shared_ptr_base.h
454 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
455 and define specializations.
456 (__shared_count): Add new non-throwing constructor.
457 (__shared_ptr): Add new non-throwing constructor and grant friendship
459 (__weak_ptr::lock()): Use new constructor.
460 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
461 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
463 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
466 * include/bits/shared_ptr_base.h
467 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
470 2014-01-27 Jason Merrill <jason@redhat.com>
475 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
476 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
477 (__cxa_allocate_exception): Don't set it here.
479 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
481 * include/bits/stl_map.h: Remove anachronistic comment.
482 * include/bits/stl_multimap.h: Add whitespace.
483 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
484 -std=gnu++11 instead of -std=c++11.
485 * testsuite/23_containers/map/operators/2.cc: Likewise.
486 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
487 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
488 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
490 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
491 * configure: Regenerate.
493 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
496 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
497 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
499 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
500 Peter A. Bigot <pab@pabigot.com>
503 * include/experimental/string_view
504 (copy(_CharT*, size_type, size_type) const): Correct throw string.
505 Correct copy start location.
507 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
508 Peter A. Bigot <pab@pabigot.com>
511 * include/experimental/string_view (operator[](size_type) const):
512 Fix one-off index error in debug check.
513 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
514 test basic_string_view at size().
515 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
517 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
518 Peter A. Bigot <pab@pabigot.com>
521 * include/experimental/string_view
522 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
523 * testsuite/experimental/string_view/operations/substr/char/1.cc:
524 Comment out catch of out_of_range; No terminating null
525 in basic_string_view. Check begin == end.
526 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
529 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
532 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
533 constructor to prevent it being implicitly defined as deleted, but
534 do not copy anything.
535 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
536 Define copy and move constructors similar to _Safe_sequence_base's.
537 * testsuite/23_containers/unordered_map/59548.cc: New.
539 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
540 Steve Ellcey <sellcey@mips.com>
542 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
544 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
545 * (configure, config.h.in): Regenerate.
546 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
548 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
550 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
551 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
554 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
555 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
557 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
559 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
560 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
561 functions to perform moving or copying of elements from rvalue tree.
562 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
563 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
564 * testsuite/23_containers/map/59872.cc: New.
565 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
567 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
569 * include/bits/stl_deque.h (_Deque_impl): Move comment.
572 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
573 Split into separate default constructor and constructor taking
575 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
576 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
578 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
579 * include/debug/list (list::list(const _Allocator&)): Likewise.
580 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
582 * include/debug/multimap.h
583 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
584 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
586 * include/debug/multiset.h
587 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
588 * include/debug/vector (vector::vector(const allocator_type&)):
590 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
591 * include/profile/list (list::list(const _Allocator&)): Likewise.
592 * include/profile/map.h
593 (map::map(const _Compare&, const _Allocator&)): Likewise.
594 * include/profile/multimap.h
595 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
596 * include/profile/set.h
597 (set::set(const _Compare&, const _Allocator&)): Likewise.
598 * include/profile/multiset.h
599 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
600 * include/profile/vector (vector::vector(const _Allocator&)):
602 * testsuite/23_containers/deque/58764.cc: New.
603 * testsuite/23_containers/list/58764.cc: New.
604 * testsuite/23_containers/map/58764.cc: New.
605 * testsuite/23_containers/multimap/58764.cc: New.
606 * testsuite/23_containers/set/58764.cc: New.
607 * testsuite/23_containers/multiset/58764.cc: New.
608 * testsuite/23_containers/vector/58764.cc: New.
609 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
610 Adjust dg-error line number.
611 * testsuite/23_containers/deque/requirements/dr438/
612 constructor_1_neg.cc: Likewise.
613 * testsuite/23_containers/deque/requirements/dr438/
614 constructor_2_neg.cc: Likewise.
615 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
617 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
619 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
621 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
623 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
625 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
627 * testsuite/23_containers/vector/requirements/dr438/
628 constructor_1_neg.cc: Likewise.
629 * testsuite/23_containers/vector/requirements/dr438/
630 constructor_2_neg.cc: Likewise.
631 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
634 PR libstdc++/58764 (again)
635 * include/bits/stl_list.h (list): Make default constructor's exception
636 specification conditional.
637 * include/bits/stl_vector.h (vector): Likewise.
638 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
639 to default constructor.
640 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
641 Adjust dg-error line number.
642 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
644 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
646 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
648 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
650 * testsuite/23_containers/vector/requirements/dr438/
651 constructor_1_neg.cc: Likewise.
652 * testsuite/23_containers/vector/requirements/dr438/
653 constructor_2_neg.cc: Likewise.
654 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
657 2014-01-21 Tim Shen <timshen91@gmail.com>
659 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
660 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
661 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
663 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
666 * include/bits/hashtable.h (__cache_default): Do not depend on
667 whether the hash function is DefaultConstructible or CopyAssignable.
668 (_Hashtable): Adjust static assertions.
669 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
670 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
671 dg-error line number.
672 * testsuite/23_containers/unordered_set/
673 not_default_constructible_hash_neg.cc: Remove.
675 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
677 * scripts/create_testsuite_files: Add testsuite/experimental in
678 the list of folders to search for tests.
679 * include/experimental/string_view
680 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
681 incompatible with constexpr qualifier.
682 (basic_string_view<>::front()): Likewise.
683 (basic_string_view<>::back()): Likewise.
684 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
685 Merge dg-options directives into one.
686 * testsuite/experimental/string_view/element_access/char/2.cc:
687 Likewise. Remove invalid experimental namespace scope on
690 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
693 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
694 friendship to _Local_iterator_base<..., false>.
695 (_Local_iterator_base): Give protected access to all existing members.
696 (_Local_iterator_base::_M_curr()): New public accessor.
697 (_Local_iterator_base::_M_get_bucket()): New public accessor.
698 (_Local_iterator_base<..., false>::_M_init()): New function to manage
699 the lifetime of the _Hash_code_base explicitly.
700 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
701 (_Local_iterator_base<..., false>): Define copy constructor and copy
702 assignment operator that use new functions to manage _Hash_code_base.
703 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
704 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
705 Use public API for _Local_iterator_base.
706 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
707 * include/debug/unordered_map (__debug::unordered_map::erase(),
708 __debug::unordered_multimap::erase()): Likewise.
709 * include/debug/unordered_set (__debug::unordered_set::erase(),
710 __debug::unordered_multiset::erase()): Likewise.
711 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
713 2014-01-19 Tim Shen <timshen91@gmail.com>
715 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
716 Fix parse error of multiple consecutive quantifiers like "a**".
717 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
719 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
721 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
723 * include/profile/set.h (set): Implement C++11 allocator-aware
724 container requirements.
725 * include/profile/map.h (map): Likewise.
726 * include/profile/multiset.h (multiset): Likewise.
727 * include/profile/multimap.h (multimap): Likewise.
728 * include/profile/set.h
729 (set::operator=(const set&)): Define as default in C++11 mode.
730 (set::operator=(set&&)): Likewise.
731 * include/profile/map.h
732 (map::operator=(const map&)): Likewise.
733 (map::operator=(map&&)): Likewise.
734 * include/profile/multiset.h
735 (multiset::operator=(const multiset&)): Likewise.
736 (multiset::operator=(multiset&&)): Likewise.
737 * include/profile/multimap.h
738 (multimap::operator=(const multimap&)): Likewise.
739 (multimap::operator=(multimap&&)): Likewise.
740 * include/profile/set.h (set::operator=(std::initializer_list<>)):
741 Rely on the same operator from normal mode.
742 * include/profile/map.h (map::operator=(std::initializer_list<>)):
744 * include/profile/multiset.h
745 (multiset::operator=(std::initializer_list<>)): Likewise.
746 * include/profile/multimap.h
747 (multimap::operator=(std::initializer_list<>)): Likewise.
748 * include/profile/set.h (set::swap(set&)): Add noexcept
750 * include/profile/map.h (map::swap(map&)): Likewise.
751 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
752 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
754 2014-01-17 Tim Shen <timshen91@gmail.com>
756 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
758 * include/bits/regex_automaton.h: Do not use std::set.
759 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
760 _BracketMatcher<>::_M_add_collating_element(),
761 _BracketMatcher<>::_M_add_equivalence_class(),
762 _BracketMatcher<>::_M_make_range()): Likewise.
763 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
765 * include/bits/regex_executor.h: Do not use std::queue.
766 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
767 _Executor<>::_M_dfs()): Likewise.
768 * include/std/regex: Remove <map>, <set> and <queue>.
770 2014-01-17 Tim Shen <timshen91@gmail.com>
772 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
773 basic_regex<>::assign()): Change __compile_nfa to accept
775 * include/bits/regex_compiler.h: Change _Compiler's template
776 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
777 * include/bits/regex_compiler.tcc: Likewise.
779 2014-01-17 Tim Shen <timshen91@gmail.com>
781 * include/bits/regex_compiler.h: Change _ScannerT into char-type
783 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
784 _ScannerBase from _Scanner; Change _Scanner's template argument from
785 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
787 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
788 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
789 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
791 * include/std/regex: Add <cstring> for using strchr.
793 2014-01-17 Tim Shen <timshen91@gmail.com>
795 * bits/regex_automaton.tcc: Indentation fix.
796 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
797 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
798 _BracketMatcher<>): Add bool option template parameters and
799 specializations to make matching more efficient and space saving.
800 * bits/regex_compiler.tcc: Likewise.
802 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
805 * include/bits/hashtable_policy.h: Fix some long lines.
806 * include/bits/hashtable.h (__hash_code_base_access): Define and
807 use it to check its _M_bucket_index noexcept qualification. Use
809 (__access_protected_ctor): ...this.
810 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
812 * testsuite/23_containers/unordered_set/
813 not_default_constructible_hash_neg.cc: Likewise.
815 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
817 * include/debug/set.h (set): Implement C++11 allocator-aware
818 container requirements.
819 * include/debug/map.h (map): Likewise.
820 * include/debug/multiset.h (multiset): Likewise.
821 * include/debug/multimap.h (multimap): Likewise.
822 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
823 fix implementation regarding management of safe iterators.
824 * include/debug/map.h (map::operator=(map&&)): Likewise.
825 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
826 * include/debug/multimap.h (multimap::operator=(multimap&&)):
828 * include/debug/set.h (set::operator=(std::initializer_list<>)):
829 Rely on the same operator from normal mode.
830 * include/debug/map.h (map::operator=(std::initializer_list<>)):
832 * include/debug/multiset.h
833 (multiset::operator=(std::initializer_list<>)): Likewise.
834 * include/debug/multimap.h
835 (multimap::operator=(std::initializer_list<>)): Likewise.
836 * include/debug/set.h (set::swap(set&)): Add noexcept
837 specification, add allocator equality check.
838 * include/debug/map.h (map::swap(map&)): Likewise.
839 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
840 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
842 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
845 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
846 and stylistic improvements.
847 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
848 and update for C++11.
849 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
852 * doc/xml/manual/backwards_compatibility.xml
853 (backwards.third.nocreate_noreplace): Correct and expand.
856 * doc/xml/manual/support.xml (std.support.types.null): Update links.
858 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
861 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
862 support for non-Movable types.
865 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
867 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
869 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
870 *this allocator instance when building temporary vector instance
871 so that *this allocator does not get moved.
872 * include/debug/safe_base.h
873 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
874 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
875 move constructor from _Safe_sequence_base.
876 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
877 safe iterators if the instance is moved.
878 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
879 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
880 check on a vector iterator.
881 * testsuite/23_containers/vector/allocator/move_assign.cc
883 (test03): New, test with a non-propagating allocator.
884 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
886 2014-01-07 Tim Shen <timshen91@gmail.com>
888 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
889 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
890 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
891 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
892 _BracketMatcher<>::_M_add_char(),
893 _BracketMatcher<>::_M_add_collating_element(),
894 _BracketMatcher<>::_M_add_equivalence_class(),
895 _BracketMatcher<>::_M_add_character_class(),
896 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
897 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
898 Fix _AnyMatcher behavior of POSIX style and move _M_flags
899 to template parameter; Add cache for _BracketMatcher. Adjust
900 declarations from here...
901 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
902 imbuing a regex will trigger a recompilation to rebuild the cache.
903 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
904 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
905 different template bool parameters.
906 * include/bits/regex_executor.h: Remove unnecessary declarations.
907 * include/std/regex: Adjust including orders.
908 * testsuite/28_regex/traits/char/user_defined.cc: New.
909 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
911 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
913 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
914 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
915 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
916 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
917 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
919 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
921 Update copyright years
923 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
925 * testsuite/18_support/new_handler.cc,
926 testsuite/18_support/terminate_handler.cc,
927 testsuite/18_support/unexpected_handler.cc: Use the standard form for
928 the copyright notice.
930 Copyright (C) 2014 Free Software Foundation, Inc.
932 Copying and distribution of this file, with or without modification,
933 are permitted in any medium without royalty provided the copyright
934 notice and this notice are preserved.