1 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
4 * include/experimental/optional (operator!=): Implement in terms of
6 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
7 * testsuite/experimental/optional/relops/2.cc: Likewise.
8 * testsuite/experimental/optional/relops/3.cc: Likewise.
9 * testsuite/experimental/optional/relops/4.cc: Likewise.
10 * testsuite/experimental/optional/relops/5.cc: Likewise.
11 * testsuite/experimental/optional/relops/6.cc: Likewise.
13 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
16 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
17 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
20 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
22 * testsuite/util/testsuite_abi.cc (check_version): Update for
25 2014-04-24 Tim Shen <timshen91@gmail.com>
27 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
28 Do _M_alt before _M_next.
29 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
31 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
34 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
35 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
36 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
38 2014-04-24 Andreas Schwab <schwab@suse.de>
40 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
41 new CXXABI_1.3.9 symbols.
43 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
45 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
46 (CXXABI_1.3.9): New version.
48 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
51 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
52 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
53 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
55 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
57 * configure.host: Remove solaris2.9 handling.
58 Change os_include_dir to os/solaris/solaris2.10.
59 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
60 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
61 * configure: Regenerate.
62 * config/abi/post/solaris2.9: Remove.
63 * config/os/solaris/solaris2.9: Rename to ...
64 * config/os/solaris/solaris2.10: ... this.
65 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
68 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
69 Remove Solaris 9 reference.
70 * doc/html/manual/configure.html: Regenerate.
72 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
73 Remove *-*-solaris2.9 xfail.
74 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
77 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
80 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
82 * include/std/functional (__is_location_invariant): Use __or_ helper.
84 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
87 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
90 * include/std/atomic (atomic<_Tp>): Add static assertion.
91 * testsuite/29_atomics/atomic/60695.cc: New.
94 * include/std/functional (function::_Callable): Exclude own type
95 from the callable checks.
96 * testsuite/20_util/function/60594.cc: New.
98 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
99 const to constexpr member functions.
101 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
102 delegating constructor.
103 * include/bits/shared_ptr_base.h
104 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
106 * include/std/atomic: Uglify parameter names.
109 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
110 1.cc: Fix invalid explicit instantiations with unqualified names.
111 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
113 * testsuite/20_util/tuple/53648.cc: Likweise.
114 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
116 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
118 * testsuite/23_containers/unordered_map/requirements/
119 debug_container.cc: Likewise.
120 * testsuite/23_containers/unordered_map/requirements/
121 explicit_instantiation/3.cc: Likewise.
122 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
124 * testsuite/23_containers/unordered_multimap/requirements/
125 explicit_instantiation/3.cc: Likewise.
126 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
128 * testsuite/23_containers/unordered_multiset/requirements/
129 explicit_instantiation/3.cc: Likewise.
130 * testsuite/23_containers/unordered_set/requirements/
131 debug_container.cc: Likewise.
132 * testsuite/23_containers/unordered_set/requirements/
133 explicit_instantiation/3.cc: Likewise.
135 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
136 not use uninitialized members in mem-initializers.
137 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
138 * testsuite/util/testsuite_common_types.h: Update comment.
140 * include/experimental/string_view: Fix inconsistent exception specs.
142 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
143 Remove name of unused parameter.
145 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
147 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
148 _Vector_base::_M_allocate): NullablePointer requirements do not
149 include initialization from literal zero, use value-initialization.
150 * include/bits/vector.tcc (vector::_M_insert_aux,
151 vector::_M_explace_back_aux): Likewise for assignment.
153 * include/bits/allocator.h (operator==, operator!=): Add exception
157 * include/std/tuple (get): Qualify calls to prevent ADL.
158 * testsuite/20_util/tuple/60497.cc: New.
160 * include/std/tuple (tuple_element_t): Define.
161 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
163 * testsuite/20_util/tuple/tuple_element_t.cc: New.
165 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
168 * include/bits/stl_iterator.h (move_iterator::reference,
169 move_iterator::operator*): Implement LWG 2106.
170 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
172 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
174 * include/std/complex (__complex_exp, pow): Specify the template
175 parameter in calls to std::polar, for expression templates.
177 2014-04-10 Andreas Schwab <schwab@suse.de>
179 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
181 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
182 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
184 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
186 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
188 * testsuite/20_util/exchange/1.cc: Add missing return statements.
189 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
190 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
193 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
194 Jack Howarth <howarth@bromo.med.uc.edu>
197 * testsuite/30_threads/condition_variable/54185.cc: Skip for
200 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
202 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
204 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
206 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
207 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
208 * doc/xml/manual/concurrency_extensions.xml
209 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
210 * doc/html/*: Regenerate.
212 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
213 Jonathan Wakely <jwakely@redhat.com>
216 * include/std/iomanip (_Quoted_string operator>>): Do not clear
217 string if input is not quoted.
218 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
220 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
222 * libsupc++/eh_ptr.cc: Improve static_assert messages.
224 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
226 * testsuite/18_support/exception_ptr/60612-terminate.cc
227 (terminate, f): Wrap in _GLIBCXX_USE_C99.
228 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
230 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
232 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
234 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
235 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
237 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
239 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
241 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
242 Fix bad s/part/chapter/ substitutions.
243 * doc/xml/manual/io.xml (std.io): Likewise.
244 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
245 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
247 * doc/html/*: Regenerate.
249 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
252 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
253 compatible with __cxa_exception.
254 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
255 Fix typos in comments.
256 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
257 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
259 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
262 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
263 Use sizeof pointer type not the element type.
264 * testsuite/29_atomics/atomic/60658.cc: New.
266 2014-03-24 Jakub Jelinek <jakub@redhat.com>
268 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
269 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
270 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
271 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
272 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
273 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
274 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
275 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
276 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
277 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
280 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
282 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
284 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
286 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
287 to delegated constructor.
288 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
289 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
292 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
294 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
297 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
299 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
302 * include/debug/functions.h (_Is_contiguous_sequence): Define.
303 (__foreign_iterator): Accept additional iterator. Do not dispatch on
305 (__foreign_iterator_aux2): Likewise. Add overload for iterators
306 from different types of debug container. Use _Is_contiguous_sequence
307 instead of is_lvalue_reference.
308 (__foreign_iterator_aux3): Accept additional iterator. Avoid
309 dereferencing past-the-end iterator.
310 (__foreign_iterator_aux4): Use const value_type* instead of
311 potentially user-defined const_pointer type.
312 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
313 and pass end iterator to __gnu_debug::__foreign_iterator.
314 (__glibcxx_check_insert_range_after): Likewise.
315 (__glibcxx_check_max_load_factor): Fix comment.
316 * include/debug/vector (_Is_contiguous_sequence): Define partial
318 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
319 -std=gnu++11 option and unused header.
320 * testsuite/23_containers/vector/debug/60587.cc: New.
321 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
323 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
325 * crossconfig.m4: Support spu-*-elf* targets.
326 * configure: Regenerate.
328 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
331 * include/std/future (__future_base::_Task_state<>): Change
332 constructors to template functions using perfect forwarding.
333 (__create_task_state): Use decayed type as stored task.
334 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
335 * testsuite/30_threads/packaged_task/60564.cc: New.
337 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
339 * scripts/create_testsuite_files: Add testsuite/experimental in
340 the list of folders to search for tests.
342 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
344 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
346 2014-03-15 Tim Shen <timshen91@gmail.com>
348 * include/bits/regex.h: Add/modify comments.
349 * include/bits/regex_compiler.h: Likewise.
350 * include/bits/regex_executor.h: Likewise.
351 * include/bits/regex_executor.tcc: Likewise.
352 * include/bits/regex_scanner.h: Likewise.
354 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
357 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
358 _ZNSt12system_errorC* symbols which are not exported on any target.
360 2014-03-12 Roland McGrath <mcgrathr@google.com>
361 Mark Seaborn <mseaborn@google.com>
364 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
365 the address of a null pointer, not with a null pointer to pointer.
366 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
367 * testsuite/18_support/bad_exception/59392.cc: New file.
369 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
372 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
374 * include/debug/map (map::operator=(map&&)): Likewise.
375 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
376 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
377 * include/debug/set (set::operator=(set&&)): Likewise.
378 * include/debug/unordered_map
379 (unordered_map::operator=(unordered_map&&)): Likewise.
380 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
381 * include/debug/unordered_set
382 (unordered_set::operator=(unordered_set&&)): Likewise.
383 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
384 * include/debug/vector (vector::operator=(vector&&)): Likewise.
385 * testsuite/23_containers/forward_list/debug/60499.cc: New
386 * testsuite/23_containers/map/debug/60499.cc: New
387 * testsuite/23_containers/multimap/debug/60499.cc: New
388 * testsuite/23_containers/multiset/debug/60499.cc: New
389 * testsuite/23_containers/set/debug/60499.cc: New
390 * testsuite/23_containers/unordered_map/debug/60499.cc: New
391 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
392 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
393 * testsuite/23_containers/unordered_set/debug/60499.cc: New
394 * testsuite/23_containers/vector/debug/60499.cc: New
396 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
398 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
399 for filesystem and fundamentals TS work items.
401 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
404 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
405 Adjust dg-error directives.
407 2014-02-26 Tim Shen <timshen91@gmail.com>
409 * include/bits/regex.tcc (match_results<>::format,
410 regex_replace<>): Update __out after calling std::copy.
411 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
413 * testsuite/28_regex/match_results/format.cc: Likewise.
415 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
418 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
419 allocator_type&)): Remove redundant call to _M_initialize_map.
420 (deque::deque(const allocator_type&)): Initialize _Base with a
421 constructor that calls _M_initialize_map.
425 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
427 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
430 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
432 Rename testsuite directory shared_mutex to shared_timed_mutex
434 * testsuite/30_threads/shared_mutex: Moved to...
435 * testsuite/30_threads/shared_timed_mutex: ...here
437 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
439 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
440 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
441 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
442 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
443 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
444 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
445 * testsuite/30_threads/shared_lock/requirements/
446 explicit_instantiation.cc: Ditto.
447 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
448 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
449 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
450 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
451 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
452 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
453 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
454 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
455 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
456 * testsuite/30_threads/shared_mutex/requirements/
457 standard_layout.cc: Ditto.
458 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
459 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
460 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
461 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
462 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
464 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
466 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
467 execution on i?86-*-solaris2.9, remove comment.
468 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
470 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
472 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
473 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
474 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
476 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
478 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
479 not use varargs when argument could be non-POD.
480 (__alloctr_rebind_helper): Eliminate static const bool member by
481 using true_type and false_type.
482 (allocator_traits::__allocate_helper): Likewise.
483 (allocator_traits::__construct_helper): Likewise.
484 (allocator_traits::__destroy_helper): Likewise.
485 (allocator_traits::__maxsize_helper): Likewise.
486 (allocator_traits::__select_helper): Likewise.
487 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
488 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
489 Remove redundant condition.
490 * include/bits/stl_vector.h (vector::operator=(const vector&)):
492 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
493 indirection through __alloc_traits.
494 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
495 Eliminate static const bool members by using true_type and false_type.
496 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
497 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
498 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
500 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
503 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
504 (vector::_M_data_ptr): New overloaded functions to ensure empty
505 vectors do not dereference the pointer.
506 * testsuite/23_containers/vector/59829.cc: New.
507 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
508 Adjust dg-error line number.
509 * testsuite/23_containers/vector/requirements/dr438/
510 constructor_1_neg.cc: Likewise.
511 * testsuite/23_containers/vector/requirements/dr438/
512 constructor_2_neg.cc: Likewise.
513 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
517 * include/ext/array_allocator.h: Add deprecated attribute.
520 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
521 installation and use of python printers.
522 * doc/xml/manual/status_cxx2011.xml: Update.
523 * doc/html/*: Regenerate.
525 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
526 Kyle Lippincott <spectral@google.com>
529 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
530 constructor and grant friendship to weak_ptr.
531 (weak_ptr::lock()): Use new constructor.
532 * include/bits/shared_ptr_base.h
533 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
534 and define specializations.
535 (__shared_count): Add new non-throwing constructor.
536 (__shared_ptr): Add new non-throwing constructor and grant friendship
538 (__weak_ptr::lock()): Use new constructor.
539 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
540 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
542 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
545 * include/bits/shared_ptr_base.h
546 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
549 2014-01-27 Jason Merrill <jason@redhat.com>
554 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
555 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
556 (__cxa_allocate_exception): Don't set it here.
558 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
560 * include/bits/stl_map.h: Remove anachronistic comment.
561 * include/bits/stl_multimap.h: Add whitespace.
562 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
563 -std=gnu++11 instead of -std=c++11.
564 * testsuite/23_containers/map/operators/2.cc: Likewise.
565 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
566 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
567 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
569 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
570 * configure: Regenerate.
572 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
575 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
576 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
578 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
579 Peter A. Bigot <pab@pabigot.com>
582 * include/experimental/string_view
583 (copy(_CharT*, size_type, size_type) const): Correct throw string.
584 Correct copy start location.
586 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
587 Peter A. Bigot <pab@pabigot.com>
590 * include/experimental/string_view (operator[](size_type) const):
591 Fix one-off index error in debug check.
592 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
593 test basic_string_view at size().
594 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
596 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
597 Peter A. Bigot <pab@pabigot.com>
600 * include/experimental/string_view
601 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
602 * testsuite/experimental/string_view/operations/substr/char/1.cc:
603 Comment out catch of out_of_range; No terminating null
604 in basic_string_view. Check begin == end.
605 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
608 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
611 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
612 constructor to prevent it being implicitly defined as deleted, but
613 do not copy anything.
614 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
615 Define copy and move constructors similar to _Safe_sequence_base's.
616 * testsuite/23_containers/unordered_map/59548.cc: New.
618 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
619 Steve Ellcey <sellcey@mips.com>
621 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
623 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
624 * (configure, config.h.in): Regenerate.
625 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
627 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
629 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
630 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
633 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
634 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
636 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
638 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
639 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
640 functions to perform moving or copying of elements from rvalue tree.
641 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
642 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
643 * testsuite/23_containers/map/59872.cc: New.
644 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
646 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
648 * include/bits/stl_deque.h (_Deque_impl): Move comment.
651 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
652 Split into separate default constructor and constructor taking
654 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
655 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
657 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
658 * include/debug/list (list::list(const _Allocator&)): Likewise.
659 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
661 * include/debug/multimap.h
662 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
663 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
665 * include/debug/multiset.h
666 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
667 * include/debug/vector (vector::vector(const allocator_type&)):
669 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
670 * include/profile/list (list::list(const _Allocator&)): Likewise.
671 * include/profile/map.h
672 (map::map(const _Compare&, const _Allocator&)): Likewise.
673 * include/profile/multimap.h
674 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
675 * include/profile/set.h
676 (set::set(const _Compare&, const _Allocator&)): Likewise.
677 * include/profile/multiset.h
678 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
679 * include/profile/vector (vector::vector(const _Allocator&)):
681 * testsuite/23_containers/deque/58764.cc: New.
682 * testsuite/23_containers/list/58764.cc: New.
683 * testsuite/23_containers/map/58764.cc: New.
684 * testsuite/23_containers/multimap/58764.cc: New.
685 * testsuite/23_containers/set/58764.cc: New.
686 * testsuite/23_containers/multiset/58764.cc: New.
687 * testsuite/23_containers/vector/58764.cc: New.
688 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
689 Adjust dg-error line number.
690 * testsuite/23_containers/deque/requirements/dr438/
691 constructor_1_neg.cc: Likewise.
692 * testsuite/23_containers/deque/requirements/dr438/
693 constructor_2_neg.cc: Likewise.
694 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
696 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
698 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
700 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
702 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
704 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
706 * testsuite/23_containers/vector/requirements/dr438/
707 constructor_1_neg.cc: Likewise.
708 * testsuite/23_containers/vector/requirements/dr438/
709 constructor_2_neg.cc: Likewise.
710 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
713 PR libstdc++/58764 (again)
714 * include/bits/stl_list.h (list): Make default constructor's exception
715 specification conditional.
716 * include/bits/stl_vector.h (vector): Likewise.
717 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
718 to default constructor.
719 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
720 Adjust dg-error line number.
721 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
723 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
725 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
727 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
729 * testsuite/23_containers/vector/requirements/dr438/
730 constructor_1_neg.cc: Likewise.
731 * testsuite/23_containers/vector/requirements/dr438/
732 constructor_2_neg.cc: Likewise.
733 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
736 2014-01-21 Tim Shen <timshen91@gmail.com>
738 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
739 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
740 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
742 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
745 * include/bits/hashtable.h (__cache_default): Do not depend on
746 whether the hash function is DefaultConstructible or CopyAssignable.
747 (_Hashtable): Adjust static assertions.
748 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
749 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
750 dg-error line number.
751 * testsuite/23_containers/unordered_set/
752 not_default_constructible_hash_neg.cc: Remove.
754 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
756 * scripts/create_testsuite_files: Add testsuite/experimental in
757 the list of folders to search for tests.
758 * include/experimental/string_view
759 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
760 incompatible with constexpr qualifier.
761 (basic_string_view<>::front()): Likewise.
762 (basic_string_view<>::back()): Likewise.
763 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
764 Merge dg-options directives into one.
765 * testsuite/experimental/string_view/element_access/char/2.cc:
766 Likewise. Remove invalid experimental namespace scope on
769 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
772 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
773 friendship to _Local_iterator_base<..., false>.
774 (_Local_iterator_base): Give protected access to all existing members.
775 (_Local_iterator_base::_M_curr()): New public accessor.
776 (_Local_iterator_base::_M_get_bucket()): New public accessor.
777 (_Local_iterator_base<..., false>::_M_init()): New function to manage
778 the lifetime of the _Hash_code_base explicitly.
779 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
780 (_Local_iterator_base<..., false>): Define copy constructor and copy
781 assignment operator that use new functions to manage _Hash_code_base.
782 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
783 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
784 Use public API for _Local_iterator_base.
785 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
786 * include/debug/unordered_map (__debug::unordered_map::erase(),
787 __debug::unordered_multimap::erase()): Likewise.
788 * include/debug/unordered_set (__debug::unordered_set::erase(),
789 __debug::unordered_multiset::erase()): Likewise.
790 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
792 2014-01-19 Tim Shen <timshen91@gmail.com>
794 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
795 Fix parse error of multiple consecutive quantifiers like "a**".
796 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
798 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
800 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
802 * include/profile/set.h (set): Implement C++11 allocator-aware
803 container requirements.
804 * include/profile/map.h (map): Likewise.
805 * include/profile/multiset.h (multiset): Likewise.
806 * include/profile/multimap.h (multimap): Likewise.
807 * include/profile/set.h
808 (set::operator=(const set&)): Define as default in C++11 mode.
809 (set::operator=(set&&)): Likewise.
810 * include/profile/map.h
811 (map::operator=(const map&)): Likewise.
812 (map::operator=(map&&)): Likewise.
813 * include/profile/multiset.h
814 (multiset::operator=(const multiset&)): Likewise.
815 (multiset::operator=(multiset&&)): Likewise.
816 * include/profile/multimap.h
817 (multimap::operator=(const multimap&)): Likewise.
818 (multimap::operator=(multimap&&)): Likewise.
819 * include/profile/set.h (set::operator=(std::initializer_list<>)):
820 Rely on the same operator from normal mode.
821 * include/profile/map.h (map::operator=(std::initializer_list<>)):
823 * include/profile/multiset.h
824 (multiset::operator=(std::initializer_list<>)): Likewise.
825 * include/profile/multimap.h
826 (multimap::operator=(std::initializer_list<>)): Likewise.
827 * include/profile/set.h (set::swap(set&)): Add noexcept
829 * include/profile/map.h (map::swap(map&)): Likewise.
830 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
831 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
833 2014-01-17 Tim Shen <timshen91@gmail.com>
835 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
837 * include/bits/regex_automaton.h: Do not use std::set.
838 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
839 _BracketMatcher<>::_M_add_collating_element(),
840 _BracketMatcher<>::_M_add_equivalence_class(),
841 _BracketMatcher<>::_M_make_range()): Likewise.
842 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
844 * include/bits/regex_executor.h: Do not use std::queue.
845 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
846 _Executor<>::_M_dfs()): Likewise.
847 * include/std/regex: Remove <map>, <set> and <queue>.
849 2014-01-17 Tim Shen <timshen91@gmail.com>
851 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
852 basic_regex<>::assign()): Change __compile_nfa to accept
854 * include/bits/regex_compiler.h: Change _Compiler's template
855 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
856 * include/bits/regex_compiler.tcc: Likewise.
858 2014-01-17 Tim Shen <timshen91@gmail.com>
860 * include/bits/regex_compiler.h: Change _ScannerT into char-type
862 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
863 _ScannerBase from _Scanner; Change _Scanner's template argument from
864 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
866 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
867 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
868 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
870 * include/std/regex: Add <cstring> for using strchr.
872 2014-01-17 Tim Shen <timshen91@gmail.com>
874 * bits/regex_automaton.tcc: Indentation fix.
875 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
876 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
877 _BracketMatcher<>): Add bool option template parameters and
878 specializations to make matching more efficient and space saving.
879 * bits/regex_compiler.tcc: Likewise.
881 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
884 * include/bits/hashtable_policy.h: Fix some long lines.
885 * include/bits/hashtable.h (__hash_code_base_access): Define and
886 use it to check its _M_bucket_index noexcept qualification. Use
888 (__access_protected_ctor): ...this.
889 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
891 * testsuite/23_containers/unordered_set/
892 not_default_constructible_hash_neg.cc: Likewise.
894 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
896 * include/debug/set.h (set): Implement C++11 allocator-aware
897 container requirements.
898 * include/debug/map.h (map): Likewise.
899 * include/debug/multiset.h (multiset): Likewise.
900 * include/debug/multimap.h (multimap): Likewise.
901 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
902 fix implementation regarding management of safe iterators.
903 * include/debug/map.h (map::operator=(map&&)): Likewise.
904 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
905 * include/debug/multimap.h (multimap::operator=(multimap&&)):
907 * include/debug/set.h (set::operator=(std::initializer_list<>)):
908 Rely on the same operator from normal mode.
909 * include/debug/map.h (map::operator=(std::initializer_list<>)):
911 * include/debug/multiset.h
912 (multiset::operator=(std::initializer_list<>)): Likewise.
913 * include/debug/multimap.h
914 (multimap::operator=(std::initializer_list<>)): Likewise.
915 * include/debug/set.h (set::swap(set&)): Add noexcept
916 specification, add allocator equality check.
917 * include/debug/map.h (map::swap(map&)): Likewise.
918 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
919 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
921 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
924 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
925 and stylistic improvements.
926 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
927 and update for C++11.
928 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
931 * doc/xml/manual/backwards_compatibility.xml
932 (backwards.third.nocreate_noreplace): Correct and expand.
935 * doc/xml/manual/support.xml (std.support.types.null): Update links.
937 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
940 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
941 support for non-Movable types.
944 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
946 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
948 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
949 *this allocator instance when building temporary vector instance
950 so that *this allocator does not get moved.
951 * include/debug/safe_base.h
952 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
953 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
954 move constructor from _Safe_sequence_base.
955 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
956 safe iterators if the instance is moved.
957 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
958 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
959 check on a vector iterator.
960 * testsuite/23_containers/vector/allocator/move_assign.cc
962 (test03): New, test with a non-propagating allocator.
963 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
965 2014-01-07 Tim Shen <timshen91@gmail.com>
967 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
968 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
969 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
970 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
971 _BracketMatcher<>::_M_add_char(),
972 _BracketMatcher<>::_M_add_collating_element(),
973 _BracketMatcher<>::_M_add_equivalence_class(),
974 _BracketMatcher<>::_M_add_character_class(),
975 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
976 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
977 Fix _AnyMatcher behavior of POSIX style and move _M_flags
978 to template parameter; Add cache for _BracketMatcher. Adjust
979 declarations from here...
980 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
981 imbuing a regex will trigger a recompilation to rebuild the cache.
982 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
983 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
984 different template bool parameters.
985 * include/bits/regex_executor.h: Remove unnecessary declarations.
986 * include/std/regex: Adjust including orders.
987 * testsuite/28_regex/traits/char/user_defined.cc: New.
988 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
990 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
992 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
993 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
994 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
995 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
996 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
998 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1000 Update copyright years
1002 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1004 * testsuite/18_support/new_handler.cc,
1005 testsuite/18_support/terminate_handler.cc,
1006 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1007 the copyright notice.
1009 Copyright (C) 2014 Free Software Foundation, Inc.
1011 Copying and distribution of this file, with or without modification,
1012 are permitted in any medium without royalty provided the copyright
1013 notice and this notice are preserved.