1 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
3 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
4 (CXXABI_1.3.9): New version.
6 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
9 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
10 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
11 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
13 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15 * configure.host: Remove solaris2.9 handling.
16 Change os_include_dir to os/solaris/solaris2.10.
17 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
18 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
19 * configure: Regenerate.
20 * config/abi/post/solaris2.9: Remove.
21 * config/os/solaris/solaris2.9: Rename to ...
22 * config/os/solaris/solaris2.10: ... this.
23 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
26 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
27 Remove Solaris 9 reference.
28 * doc/html/manual/configure.html: Regenerate.
30 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
31 Remove *-*-solaris2.9 xfail.
32 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
35 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
38 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
40 * include/std/functional (__is_location_invariant): Use __or_ helper.
42 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
45 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
48 * include/std/atomic (atomic<_Tp>): Add static assertion.
49 * testsuite/29_atomics/atomic/60695.cc: New.
52 * include/std/functional (function::_Callable): Exclude own type
53 from the callable checks.
54 * testsuite/20_util/function/60594.cc: New.
56 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
57 const to constexpr member functions.
59 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
60 delegating constructor.
61 * include/bits/shared_ptr_base.h
62 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
64 * include/std/atomic: Uglify parameter names.
67 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
68 1.cc: Fix invalid explicit instantiations with unqualified names.
69 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
71 * testsuite/20_util/tuple/53648.cc: Likweise.
72 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
74 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
76 * testsuite/23_containers/unordered_map/requirements/
77 debug_container.cc: Likewise.
78 * testsuite/23_containers/unordered_map/requirements/
79 explicit_instantiation/3.cc: Likewise.
80 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
82 * testsuite/23_containers/unordered_multimap/requirements/
83 explicit_instantiation/3.cc: Likewise.
84 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
86 * testsuite/23_containers/unordered_multiset/requirements/
87 explicit_instantiation/3.cc: Likewise.
88 * testsuite/23_containers/unordered_set/requirements/
89 debug_container.cc: Likewise.
90 * testsuite/23_containers/unordered_set/requirements/
91 explicit_instantiation/3.cc: Likewise.
93 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
94 not use uninitialized members in mem-initializers.
95 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
96 * testsuite/util/testsuite_common_types.h: Update comment.
98 * include/experimental/string_view: Fix inconsistent exception specs.
100 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
101 Remove name of unused parameter.
103 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
105 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
106 _Vector_base::_M_allocate): NullablePointer requirements do not
107 include initialization from literal zero, use value-initialization.
108 * include/bits/vector.tcc (vector::_M_insert_aux,
109 vector::_M_explace_back_aux): Likewise for assignment.
111 * include/bits/allocator.h (operator==, operator!=): Add exception
115 * include/std/tuple (get): Qualify calls to prevent ADL.
116 * testsuite/20_util/tuple/60497.cc: New.
118 * include/std/tuple (tuple_element_t): Define.
119 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
121 * testsuite/20_util/tuple/tuple_element_t.cc: New.
123 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
126 * include/bits/stl_iterator.h (move_iterator::reference,
127 move_iterator::operator*): Implement LWG 2106.
128 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
130 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
132 * include/std/complex (__complex_exp, pow): Specify the template
133 parameter in calls to std::polar, for expression templates.
135 2014-04-10 Andreas Schwab <schwab@suse.de>
137 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
139 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
140 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
142 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
144 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
146 * testsuite/20_util/exchange/1.cc: Add missing return statements.
147 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
148 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
151 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
152 Jack Howarth <howarth@bromo.med.uc.edu>
155 * testsuite/30_threads/condition_variable/54185.cc: Skip for
158 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
160 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
162 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
164 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
165 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
166 * doc/xml/manual/concurrency_extensions.xml
167 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
168 * doc/html/*: Regenerate.
170 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
171 Jonathan Wakely <jwakely@redhat.com>
174 * include/std/iomanip (_Quoted_string operator>>): Do not clear
175 string if input is not quoted.
176 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
178 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
180 * libsupc++/eh_ptr.cc: Improve static_assert messages.
182 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
184 * testsuite/18_support/exception_ptr/60612-terminate.cc
185 (terminate, f): Wrap in _GLIBCXX_USE_C99.
186 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
188 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
190 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
192 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
193 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
195 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
197 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
199 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
200 Fix bad s/part/chapter/ substitutions.
201 * doc/xml/manual/io.xml (std.io): Likewise.
202 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
203 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
205 * doc/html/*: Regenerate.
207 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
210 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
211 compatible with __cxa_exception.
212 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
213 Fix typos in comments.
214 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
215 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
217 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
220 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
221 Use sizeof pointer type not the element type.
222 * testsuite/29_atomics/atomic/60658.cc: New.
224 2014-03-24 Jakub Jelinek <jakub@redhat.com>
226 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
227 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
228 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
229 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
230 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
231 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
232 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
233 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
234 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
235 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
238 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
240 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
242 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
244 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
245 to delegated constructor.
246 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
247 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
250 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
252 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
255 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
257 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
260 * include/debug/functions.h (_Is_contiguous_sequence): Define.
261 (__foreign_iterator): Accept additional iterator. Do not dispatch on
263 (__foreign_iterator_aux2): Likewise. Add overload for iterators
264 from different types of debug container. Use _Is_contiguous_sequence
265 instead of is_lvalue_reference.
266 (__foreign_iterator_aux3): Accept additional iterator. Avoid
267 dereferencing past-the-end iterator.
268 (__foreign_iterator_aux4): Use const value_type* instead of
269 potentially user-defined const_pointer type.
270 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
271 and pass end iterator to __gnu_debug::__foreign_iterator.
272 (__glibcxx_check_insert_range_after): Likewise.
273 (__glibcxx_check_max_load_factor): Fix comment.
274 * include/debug/vector (_Is_contiguous_sequence): Define partial
276 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
277 -std=gnu++11 option and unused header.
278 * testsuite/23_containers/vector/debug/60587.cc: New.
279 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
281 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
283 * crossconfig.m4: Support spu-*-elf* targets.
284 * configure: Regenerate.
286 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
289 * include/std/future (__future_base::_Task_state<>): Change
290 constructors to template functions using perfect forwarding.
291 (__create_task_state): Use decayed type as stored task.
292 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
293 * testsuite/30_threads/packaged_task/60564.cc: New.
295 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
297 * scripts/create_testsuite_files: Add testsuite/experimental in
298 the list of folders to search for tests.
300 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
302 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
304 2014-03-15 Tim Shen <timshen91@gmail.com>
306 * include/bits/regex.h: Add/modify comments.
307 * include/bits/regex_compiler.h: Likewise.
308 * include/bits/regex_executor.h: Likewise.
309 * include/bits/regex_executor.tcc: Likewise.
310 * include/bits/regex_scanner.h: Likewise.
312 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
315 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
316 _ZNSt12system_errorC* symbols which are not exported on any target.
318 2014-03-12 Roland McGrath <mcgrathr@google.com>
319 Mark Seaborn <mseaborn@google.com>
322 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
323 the address of a null pointer, not with a null pointer to pointer.
324 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
325 * testsuite/18_support/bad_exception/59392.cc: New file.
327 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
330 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
332 * include/debug/map (map::operator=(map&&)): Likewise.
333 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
334 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
335 * include/debug/set (set::operator=(set&&)): Likewise.
336 * include/debug/unordered_map
337 (unordered_map::operator=(unordered_map&&)): Likewise.
338 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
339 * include/debug/unordered_set
340 (unordered_set::operator=(unordered_set&&)): Likewise.
341 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
342 * include/debug/vector (vector::operator=(vector&&)): Likewise.
343 * testsuite/23_containers/forward_list/debug/60499.cc: New
344 * testsuite/23_containers/map/debug/60499.cc: New
345 * testsuite/23_containers/multimap/debug/60499.cc: New
346 * testsuite/23_containers/multiset/debug/60499.cc: New
347 * testsuite/23_containers/set/debug/60499.cc: New
348 * testsuite/23_containers/unordered_map/debug/60499.cc: New
349 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
350 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
351 * testsuite/23_containers/unordered_set/debug/60499.cc: New
352 * testsuite/23_containers/vector/debug/60499.cc: New
354 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
356 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
357 for filesystem and fundamentals TS work items.
359 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
362 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
363 Adjust dg-error directives.
365 2014-02-26 Tim Shen <timshen91@gmail.com>
367 * include/bits/regex.tcc (match_results<>::format,
368 regex_replace<>): Update __out after calling std::copy.
369 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
371 * testsuite/28_regex/match_results/format.cc: Likewise.
373 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
376 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
377 allocator_type&)): Remove redundant call to _M_initialize_map.
378 (deque::deque(const allocator_type&)): Initialize _Base with a
379 constructor that calls _M_initialize_map.
383 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
385 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
388 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
390 Rename testsuite directory shared_mutex to shared_timed_mutex
392 * testsuite/30_threads/shared_mutex: Moved to...
393 * testsuite/30_threads/shared_timed_mutex: ...here
395 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
397 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
398 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
399 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
400 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
401 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
402 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
403 * testsuite/30_threads/shared_lock/requirements/
404 explicit_instantiation.cc: Ditto.
405 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
406 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
407 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
408 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
409 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
410 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
411 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
412 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
413 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
414 * testsuite/30_threads/shared_mutex/requirements/
415 standard_layout.cc: Ditto.
416 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
417 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
418 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
419 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
420 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
422 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
424 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
425 execution on i?86-*-solaris2.9, remove comment.
426 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
428 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
430 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
431 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
432 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
434 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
436 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
437 not use varargs when argument could be non-POD.
438 (__alloctr_rebind_helper): Eliminate static const bool member by
439 using true_type and false_type.
440 (allocator_traits::__allocate_helper): Likewise.
441 (allocator_traits::__construct_helper): Likewise.
442 (allocator_traits::__destroy_helper): Likewise.
443 (allocator_traits::__maxsize_helper): Likewise.
444 (allocator_traits::__select_helper): Likewise.
445 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
446 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
447 Remove redundant condition.
448 * include/bits/stl_vector.h (vector::operator=(const vector&)):
450 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
451 indirection through __alloc_traits.
452 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
453 Eliminate static const bool members by using true_type and false_type.
454 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
455 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
456 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
458 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
461 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
462 (vector::_M_data_ptr): New overloaded functions to ensure empty
463 vectors do not dereference the pointer.
464 * testsuite/23_containers/vector/59829.cc: New.
465 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
466 Adjust dg-error line number.
467 * testsuite/23_containers/vector/requirements/dr438/
468 constructor_1_neg.cc: Likewise.
469 * testsuite/23_containers/vector/requirements/dr438/
470 constructor_2_neg.cc: Likewise.
471 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
475 * include/ext/array_allocator.h: Add deprecated attribute.
478 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
479 installation and use of python printers.
480 * doc/xml/manual/status_cxx2011.xml: Update.
481 * doc/html/*: Regenerate.
483 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
484 Kyle Lippincott <spectral@google.com>
487 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
488 constructor and grant friendship to weak_ptr.
489 (weak_ptr::lock()): Use new constructor.
490 * include/bits/shared_ptr_base.h
491 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
492 and define specializations.
493 (__shared_count): Add new non-throwing constructor.
494 (__shared_ptr): Add new non-throwing constructor and grant friendship
496 (__weak_ptr::lock()): Use new constructor.
497 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
498 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
500 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
503 * include/bits/shared_ptr_base.h
504 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
507 2014-01-27 Jason Merrill <jason@redhat.com>
512 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
513 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
514 (__cxa_allocate_exception): Don't set it here.
516 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
518 * include/bits/stl_map.h: Remove anachronistic comment.
519 * include/bits/stl_multimap.h: Add whitespace.
520 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
521 -std=gnu++11 instead of -std=c++11.
522 * testsuite/23_containers/map/operators/2.cc: Likewise.
523 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
524 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
525 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
527 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
528 * configure: Regenerate.
530 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
533 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
534 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
536 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
537 Peter A. Bigot <pab@pabigot.com>
540 * include/experimental/string_view
541 (copy(_CharT*, size_type, size_type) const): Correct throw string.
542 Correct copy start location.
544 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
545 Peter A. Bigot <pab@pabigot.com>
548 * include/experimental/string_view (operator[](size_type) const):
549 Fix one-off index error in debug check.
550 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
551 test basic_string_view at size().
552 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
554 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
555 Peter A. Bigot <pab@pabigot.com>
558 * include/experimental/string_view
559 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
560 * testsuite/experimental/string_view/operations/substr/char/1.cc:
561 Comment out catch of out_of_range; No terminating null
562 in basic_string_view. Check begin == end.
563 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
566 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
569 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
570 constructor to prevent it being implicitly defined as deleted, but
571 do not copy anything.
572 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
573 Define copy and move constructors similar to _Safe_sequence_base's.
574 * testsuite/23_containers/unordered_map/59548.cc: New.
576 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
577 Steve Ellcey <sellcey@mips.com>
579 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
581 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
582 * (configure, config.h.in): Regenerate.
583 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
585 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
587 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
588 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
591 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
592 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
594 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
596 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
597 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
598 functions to perform moving or copying of elements from rvalue tree.
599 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
600 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
601 * testsuite/23_containers/map/59872.cc: New.
602 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
604 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
606 * include/bits/stl_deque.h (_Deque_impl): Move comment.
609 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
610 Split into separate default constructor and constructor taking
612 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
613 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
615 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
616 * include/debug/list (list::list(const _Allocator&)): Likewise.
617 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
619 * include/debug/multimap.h
620 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
621 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
623 * include/debug/multiset.h
624 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
625 * include/debug/vector (vector::vector(const allocator_type&)):
627 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
628 * include/profile/list (list::list(const _Allocator&)): Likewise.
629 * include/profile/map.h
630 (map::map(const _Compare&, const _Allocator&)): Likewise.
631 * include/profile/multimap.h
632 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
633 * include/profile/set.h
634 (set::set(const _Compare&, const _Allocator&)): Likewise.
635 * include/profile/multiset.h
636 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
637 * include/profile/vector (vector::vector(const _Allocator&)):
639 * testsuite/23_containers/deque/58764.cc: New.
640 * testsuite/23_containers/list/58764.cc: New.
641 * testsuite/23_containers/map/58764.cc: New.
642 * testsuite/23_containers/multimap/58764.cc: New.
643 * testsuite/23_containers/set/58764.cc: New.
644 * testsuite/23_containers/multiset/58764.cc: New.
645 * testsuite/23_containers/vector/58764.cc: New.
646 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
647 Adjust dg-error line number.
648 * testsuite/23_containers/deque/requirements/dr438/
649 constructor_1_neg.cc: Likewise.
650 * testsuite/23_containers/deque/requirements/dr438/
651 constructor_2_neg.cc: Likewise.
652 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
654 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
656 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
658 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
660 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
662 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
664 * testsuite/23_containers/vector/requirements/dr438/
665 constructor_1_neg.cc: Likewise.
666 * testsuite/23_containers/vector/requirements/dr438/
667 constructor_2_neg.cc: Likewise.
668 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
671 PR libstdc++/58764 (again)
672 * include/bits/stl_list.h (list): Make default constructor's exception
673 specification conditional.
674 * include/bits/stl_vector.h (vector): Likewise.
675 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
676 to default constructor.
677 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
678 Adjust dg-error line number.
679 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
681 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
683 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
685 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
687 * testsuite/23_containers/vector/requirements/dr438/
688 constructor_1_neg.cc: Likewise.
689 * testsuite/23_containers/vector/requirements/dr438/
690 constructor_2_neg.cc: Likewise.
691 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
694 2014-01-21 Tim Shen <timshen91@gmail.com>
696 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
697 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
698 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
700 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
703 * include/bits/hashtable.h (__cache_default): Do not depend on
704 whether the hash function is DefaultConstructible or CopyAssignable.
705 (_Hashtable): Adjust static assertions.
706 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
707 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
708 dg-error line number.
709 * testsuite/23_containers/unordered_set/
710 not_default_constructible_hash_neg.cc: Remove.
712 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
714 * scripts/create_testsuite_files: Add testsuite/experimental in
715 the list of folders to search for tests.
716 * include/experimental/string_view
717 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
718 incompatible with constexpr qualifier.
719 (basic_string_view<>::front()): Likewise.
720 (basic_string_view<>::back()): Likewise.
721 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
722 Merge dg-options directives into one.
723 * testsuite/experimental/string_view/element_access/char/2.cc:
724 Likewise. Remove invalid experimental namespace scope on
727 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
730 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
731 friendship to _Local_iterator_base<..., false>.
732 (_Local_iterator_base): Give protected access to all existing members.
733 (_Local_iterator_base::_M_curr()): New public accessor.
734 (_Local_iterator_base::_M_get_bucket()): New public accessor.
735 (_Local_iterator_base<..., false>::_M_init()): New function to manage
736 the lifetime of the _Hash_code_base explicitly.
737 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
738 (_Local_iterator_base<..., false>): Define copy constructor and copy
739 assignment operator that use new functions to manage _Hash_code_base.
740 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
741 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
742 Use public API for _Local_iterator_base.
743 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
744 * include/debug/unordered_map (__debug::unordered_map::erase(),
745 __debug::unordered_multimap::erase()): Likewise.
746 * include/debug/unordered_set (__debug::unordered_set::erase(),
747 __debug::unordered_multiset::erase()): Likewise.
748 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
750 2014-01-19 Tim Shen <timshen91@gmail.com>
752 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
753 Fix parse error of multiple consecutive quantifiers like "a**".
754 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
756 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
758 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
760 * include/profile/set.h (set): Implement C++11 allocator-aware
761 container requirements.
762 * include/profile/map.h (map): Likewise.
763 * include/profile/multiset.h (multiset): Likewise.
764 * include/profile/multimap.h (multimap): Likewise.
765 * include/profile/set.h
766 (set::operator=(const set&)): Define as default in C++11 mode.
767 (set::operator=(set&&)): Likewise.
768 * include/profile/map.h
769 (map::operator=(const map&)): Likewise.
770 (map::operator=(map&&)): Likewise.
771 * include/profile/multiset.h
772 (multiset::operator=(const multiset&)): Likewise.
773 (multiset::operator=(multiset&&)): Likewise.
774 * include/profile/multimap.h
775 (multimap::operator=(const multimap&)): Likewise.
776 (multimap::operator=(multimap&&)): Likewise.
777 * include/profile/set.h (set::operator=(std::initializer_list<>)):
778 Rely on the same operator from normal mode.
779 * include/profile/map.h (map::operator=(std::initializer_list<>)):
781 * include/profile/multiset.h
782 (multiset::operator=(std::initializer_list<>)): Likewise.
783 * include/profile/multimap.h
784 (multimap::operator=(std::initializer_list<>)): Likewise.
785 * include/profile/set.h (set::swap(set&)): Add noexcept
787 * include/profile/map.h (map::swap(map&)): Likewise.
788 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
789 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
791 2014-01-17 Tim Shen <timshen91@gmail.com>
793 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
795 * include/bits/regex_automaton.h: Do not use std::set.
796 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
797 _BracketMatcher<>::_M_add_collating_element(),
798 _BracketMatcher<>::_M_add_equivalence_class(),
799 _BracketMatcher<>::_M_make_range()): Likewise.
800 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
802 * include/bits/regex_executor.h: Do not use std::queue.
803 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
804 _Executor<>::_M_dfs()): Likewise.
805 * include/std/regex: Remove <map>, <set> and <queue>.
807 2014-01-17 Tim Shen <timshen91@gmail.com>
809 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
810 basic_regex<>::assign()): Change __compile_nfa to accept
812 * include/bits/regex_compiler.h: Change _Compiler's template
813 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
814 * include/bits/regex_compiler.tcc: Likewise.
816 2014-01-17 Tim Shen <timshen91@gmail.com>
818 * include/bits/regex_compiler.h: Change _ScannerT into char-type
820 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
821 _ScannerBase from _Scanner; Change _Scanner's template argument from
822 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
824 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
825 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
826 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
828 * include/std/regex: Add <cstring> for using strchr.
830 2014-01-17 Tim Shen <timshen91@gmail.com>
832 * bits/regex_automaton.tcc: Indentation fix.
833 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
834 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
835 _BracketMatcher<>): Add bool option template parameters and
836 specializations to make matching more efficient and space saving.
837 * bits/regex_compiler.tcc: Likewise.
839 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
842 * include/bits/hashtable_policy.h: Fix some long lines.
843 * include/bits/hashtable.h (__hash_code_base_access): Define and
844 use it to check its _M_bucket_index noexcept qualification. Use
846 (__access_protected_ctor): ...this.
847 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
849 * testsuite/23_containers/unordered_set/
850 not_default_constructible_hash_neg.cc: Likewise.
852 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
854 * include/debug/set.h (set): Implement C++11 allocator-aware
855 container requirements.
856 * include/debug/map.h (map): Likewise.
857 * include/debug/multiset.h (multiset): Likewise.
858 * include/debug/multimap.h (multimap): Likewise.
859 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
860 fix implementation regarding management of safe iterators.
861 * include/debug/map.h (map::operator=(map&&)): Likewise.
862 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
863 * include/debug/multimap.h (multimap::operator=(multimap&&)):
865 * include/debug/set.h (set::operator=(std::initializer_list<>)):
866 Rely on the same operator from normal mode.
867 * include/debug/map.h (map::operator=(std::initializer_list<>)):
869 * include/debug/multiset.h
870 (multiset::operator=(std::initializer_list<>)): Likewise.
871 * include/debug/multimap.h
872 (multimap::operator=(std::initializer_list<>)): Likewise.
873 * include/debug/set.h (set::swap(set&)): Add noexcept
874 specification, add allocator equality check.
875 * include/debug/map.h (map::swap(map&)): Likewise.
876 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
877 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
879 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
882 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
883 and stylistic improvements.
884 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
885 and update for C++11.
886 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
889 * doc/xml/manual/backwards_compatibility.xml
890 (backwards.third.nocreate_noreplace): Correct and expand.
893 * doc/xml/manual/support.xml (std.support.types.null): Update links.
895 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
898 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
899 support for non-Movable types.
902 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
904 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
906 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
907 *this allocator instance when building temporary vector instance
908 so that *this allocator does not get moved.
909 * include/debug/safe_base.h
910 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
911 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
912 move constructor from _Safe_sequence_base.
913 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
914 safe iterators if the instance is moved.
915 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
916 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
917 check on a vector iterator.
918 * testsuite/23_containers/vector/allocator/move_assign.cc
920 (test03): New, test with a non-propagating allocator.
921 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
923 2014-01-07 Tim Shen <timshen91@gmail.com>
925 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
926 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
927 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
928 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
929 _BracketMatcher<>::_M_add_char(),
930 _BracketMatcher<>::_M_add_collating_element(),
931 _BracketMatcher<>::_M_add_equivalence_class(),
932 _BracketMatcher<>::_M_add_character_class(),
933 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
934 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
935 Fix _AnyMatcher behavior of POSIX style and move _M_flags
936 to template parameter; Add cache for _BracketMatcher. Adjust
937 declarations from here...
938 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
939 imbuing a regex will trigger a recompilation to rebuild the cache.
940 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
941 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
942 different template bool parameters.
943 * include/bits/regex_executor.h: Remove unnecessary declarations.
944 * include/std/regex: Adjust including orders.
945 * testsuite/28_regex/traits/char/user_defined.cc: New.
946 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
948 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
950 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
951 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
952 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
953 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
954 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
956 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
958 Update copyright years
960 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
962 * testsuite/18_support/new_handler.cc,
963 testsuite/18_support/terminate_handler.cc,
964 testsuite/18_support/unexpected_handler.cc: Use the standard form for
965 the copyright notice.
967 Copyright (C) 2014 Free Software Foundation, Inc.
969 Copying and distribution of this file, with or without modification,
970 are permitted in any medium without royalty provided the copyright
971 notice and this notice are preserved.