1 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3 * configure.host: Remove solaris2.9 handling.
4 Change os_include_dir to os/solaris/solaris2.10.
5 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
6 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
7 * configure: Regenerate.
8 * config/abi/post/solaris2.9: Remove.
9 * config/os/solaris/solaris2.9: Rename to ...
10 * config/os/solaris/solaris2.10: ... this.
11 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
14 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
15 Remove Solaris 9 reference.
16 * doc/html/manual/configure.html: Regenerate.
18 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
19 Remove *-*-solaris2.9 xfail.
20 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
23 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
26 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
28 * include/std/functional (__is_location_invariant): Use __or_ helper.
30 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
33 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
36 * include/std/atomic (atomic<_Tp>): Add static assertion.
37 * testsuite/29_atomics/atomic/60695.cc: New.
40 * include/std/functional (function::_Callable): Exclude own type
41 from the callable checks.
42 * testsuite/20_util/function/60594.cc: New.
44 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
45 const to constexpr member functions.
47 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
48 delegating constructor.
49 * include/bits/shared_ptr_base.h
50 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
52 * include/std/atomic: Uglify parameter names.
55 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
56 1.cc: Fix invalid explicit instantiations with unqualified names.
57 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
59 * testsuite/20_util/tuple/53648.cc: Likweise.
60 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
62 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
64 * testsuite/23_containers/unordered_map/requirements/
65 debug_container.cc: Likewise.
66 * testsuite/23_containers/unordered_map/requirements/
67 explicit_instantiation/3.cc: Likewise.
68 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
70 * testsuite/23_containers/unordered_multimap/requirements/
71 explicit_instantiation/3.cc: Likewise.
72 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
74 * testsuite/23_containers/unordered_multiset/requirements/
75 explicit_instantiation/3.cc: Likewise.
76 * testsuite/23_containers/unordered_set/requirements/
77 debug_container.cc: Likewise.
78 * testsuite/23_containers/unordered_set/requirements/
79 explicit_instantiation/3.cc: Likewise.
81 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
82 not use uninitialized members in mem-initializers.
83 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
84 * testsuite/util/testsuite_common_types.h: Update comment.
86 * include/experimental/string_view: Fix inconsistent exception specs.
88 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
89 Remove name of unused parameter.
91 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
93 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
94 _Vector_base::_M_allocate): NullablePointer requirements do not
95 include initialization from literal zero, use value-initialization.
96 * include/bits/vector.tcc (vector::_M_insert_aux,
97 vector::_M_explace_back_aux): Likewise for assignment.
99 * include/bits/allocator.h (operator==, operator!=): Add exception
103 * include/std/tuple (get): Qualify calls to prevent ADL.
104 * testsuite/20_util/tuple/60497.cc: New.
106 * include/std/tuple (tuple_element_t): Define.
107 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
109 * testsuite/20_util/tuple/tuple_element_t.cc: New.
111 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
114 * include/bits/stl_iterator.h (move_iterator::reference,
115 move_iterator::operator*): Implement LWG 2106.
116 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
118 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
120 * include/std/complex (__complex_exp, pow): Specify the template
121 parameter in calls to std::polar, for expression templates.
123 2014-04-10 Andreas Schwab <schwab@suse.de>
125 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
127 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
128 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
130 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
132 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
134 * testsuite/20_util/exchange/1.cc: Add missing return statements.
135 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
136 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
139 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
140 Jack Howarth <howarth@bromo.med.uc.edu>
143 * testsuite/30_threads/condition_variable/54185.cc: Skip for
146 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
148 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
150 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
152 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
153 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
154 * doc/xml/manual/concurrency_extensions.xml
155 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
156 * doc/html/*: Regenerate.
158 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
159 Jonathan Wakely <jwakely@redhat.com>
162 * include/std/iomanip (_Quoted_string operator>>): Do not clear
163 string if input is not quoted.
164 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
166 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
168 * libsupc++/eh_ptr.cc: Improve static_assert messages.
170 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
172 * testsuite/18_support/exception_ptr/60612-terminate.cc
173 (terminate, f): Wrap in _GLIBCXX_USE_C99.
174 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
176 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
178 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
180 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
181 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
183 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
185 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
187 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
188 Fix bad s/part/chapter/ substitutions.
189 * doc/xml/manual/io.xml (std.io): Likewise.
190 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
191 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
193 * doc/html/*: Regenerate.
195 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
198 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
199 compatible with __cxa_exception.
200 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
201 Fix typos in comments.
202 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
203 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
205 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
208 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
209 Use sizeof pointer type not the element type.
210 * testsuite/29_atomics/atomic/60658.cc: New.
212 2014-03-24 Jakub Jelinek <jakub@redhat.com>
214 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
215 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
216 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
217 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
218 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
219 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
220 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
221 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
222 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
223 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
226 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
228 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
230 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
232 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
233 to delegated constructor.
234 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
235 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
238 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
240 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
243 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
245 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
248 * include/debug/functions.h (_Is_contiguous_sequence): Define.
249 (__foreign_iterator): Accept additional iterator. Do not dispatch on
251 (__foreign_iterator_aux2): Likewise. Add overload for iterators
252 from different types of debug container. Use _Is_contiguous_sequence
253 instead of is_lvalue_reference.
254 (__foreign_iterator_aux3): Accept additional iterator. Avoid
255 dereferencing past-the-end iterator.
256 (__foreign_iterator_aux4): Use const value_type* instead of
257 potentially user-defined const_pointer type.
258 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
259 and pass end iterator to __gnu_debug::__foreign_iterator.
260 (__glibcxx_check_insert_range_after): Likewise.
261 (__glibcxx_check_max_load_factor): Fix comment.
262 * include/debug/vector (_Is_contiguous_sequence): Define partial
264 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
265 -std=gnu++11 option and unused header.
266 * testsuite/23_containers/vector/debug/60587.cc: New.
267 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
269 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
271 * crossconfig.m4: Support spu-*-elf* targets.
272 * configure: Regenerate.
274 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
277 * include/std/future (__future_base::_Task_state<>): Change
278 constructors to template functions using perfect forwarding.
279 (__create_task_state): Use decayed type as stored task.
280 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
281 * testsuite/30_threads/packaged_task/60564.cc: New.
283 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
285 * scripts/create_testsuite_files: Add testsuite/experimental in
286 the list of folders to search for tests.
288 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
290 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
292 2014-03-15 Tim Shen <timshen91@gmail.com>
294 * include/bits/regex.h: Add/modify comments.
295 * include/bits/regex_compiler.h: Likewise.
296 * include/bits/regex_executor.h: Likewise.
297 * include/bits/regex_executor.tcc: Likewise.
298 * include/bits/regex_scanner.h: Likewise.
300 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
303 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
304 _ZNSt12system_errorC* symbols which are not exported on any target.
306 2014-03-12 Roland McGrath <mcgrathr@google.com>
307 Mark Seaborn <mseaborn@google.com>
310 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
311 the address of a null pointer, not with a null pointer to pointer.
312 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
313 * testsuite/18_support/bad_exception/59392.cc: New file.
315 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
318 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
320 * include/debug/map (map::operator=(map&&)): Likewise.
321 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
322 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
323 * include/debug/set (set::operator=(set&&)): Likewise.
324 * include/debug/unordered_map
325 (unordered_map::operator=(unordered_map&&)): Likewise.
326 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
327 * include/debug/unordered_set
328 (unordered_set::operator=(unordered_set&&)): Likewise.
329 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
330 * include/debug/vector (vector::operator=(vector&&)): Likewise.
331 * testsuite/23_containers/forward_list/debug/60499.cc: New
332 * testsuite/23_containers/map/debug/60499.cc: New
333 * testsuite/23_containers/multimap/debug/60499.cc: New
334 * testsuite/23_containers/multiset/debug/60499.cc: New
335 * testsuite/23_containers/set/debug/60499.cc: New
336 * testsuite/23_containers/unordered_map/debug/60499.cc: New
337 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
338 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
339 * testsuite/23_containers/unordered_set/debug/60499.cc: New
340 * testsuite/23_containers/vector/debug/60499.cc: New
342 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
344 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
345 for filesystem and fundamentals TS work items.
347 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
350 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
351 Adjust dg-error directives.
353 2014-02-26 Tim Shen <timshen91@gmail.com>
355 * include/bits/regex.tcc (match_results<>::format,
356 regex_replace<>): Update __out after calling std::copy.
357 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
359 * testsuite/28_regex/match_results/format.cc: Likewise.
361 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
364 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
365 allocator_type&)): Remove redundant call to _M_initialize_map.
366 (deque::deque(const allocator_type&)): Initialize _Base with a
367 constructor that calls _M_initialize_map.
371 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
373 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
376 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
378 Rename testsuite directory shared_mutex to shared_timed_mutex
380 * testsuite/30_threads/shared_mutex: Moved to...
381 * testsuite/30_threads/shared_timed_mutex: ...here
383 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
385 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
386 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
387 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
388 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
389 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
390 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
391 * testsuite/30_threads/shared_lock/requirements/
392 explicit_instantiation.cc: Ditto.
393 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
394 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
395 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
396 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
397 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
398 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
399 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
400 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
401 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
402 * testsuite/30_threads/shared_mutex/requirements/
403 standard_layout.cc: Ditto.
404 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
405 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
406 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
407 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
408 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
410 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
412 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
413 execution on i?86-*-solaris2.9, remove comment.
414 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
416 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
418 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
419 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
420 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
422 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
424 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
425 not use varargs when argument could be non-POD.
426 (__alloctr_rebind_helper): Eliminate static const bool member by
427 using true_type and false_type.
428 (allocator_traits::__allocate_helper): Likewise.
429 (allocator_traits::__construct_helper): Likewise.
430 (allocator_traits::__destroy_helper): Likewise.
431 (allocator_traits::__maxsize_helper): Likewise.
432 (allocator_traits::__select_helper): Likewise.
433 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
434 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
435 Remove redundant condition.
436 * include/bits/stl_vector.h (vector::operator=(const vector&)):
438 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
439 indirection through __alloc_traits.
440 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
441 Eliminate static const bool members by using true_type and false_type.
442 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
443 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
444 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
446 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
449 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
450 (vector::_M_data_ptr): New overloaded functions to ensure empty
451 vectors do not dereference the pointer.
452 * testsuite/23_containers/vector/59829.cc: New.
453 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
454 Adjust dg-error line number.
455 * testsuite/23_containers/vector/requirements/dr438/
456 constructor_1_neg.cc: Likewise.
457 * testsuite/23_containers/vector/requirements/dr438/
458 constructor_2_neg.cc: Likewise.
459 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
463 * include/ext/array_allocator.h: Add deprecated attribute.
466 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
467 installation and use of python printers.
468 * doc/xml/manual/status_cxx2011.xml: Update.
469 * doc/html/*: Regenerate.
471 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
472 Kyle Lippincott <spectral@google.com>
475 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
476 constructor and grant friendship to weak_ptr.
477 (weak_ptr::lock()): Use new constructor.
478 * include/bits/shared_ptr_base.h
479 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
480 and define specializations.
481 (__shared_count): Add new non-throwing constructor.
482 (__shared_ptr): Add new non-throwing constructor and grant friendship
484 (__weak_ptr::lock()): Use new constructor.
485 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
486 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
488 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
491 * include/bits/shared_ptr_base.h
492 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
495 2014-01-27 Jason Merrill <jason@redhat.com>
500 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
501 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
502 (__cxa_allocate_exception): Don't set it here.
504 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
506 * include/bits/stl_map.h: Remove anachronistic comment.
507 * include/bits/stl_multimap.h: Add whitespace.
508 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
509 -std=gnu++11 instead of -std=c++11.
510 * testsuite/23_containers/map/operators/2.cc: Likewise.
511 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
512 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
513 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
515 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
516 * configure: Regenerate.
518 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
521 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
522 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
524 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
525 Peter A. Bigot <pab@pabigot.com>
528 * include/experimental/string_view
529 (copy(_CharT*, size_type, size_type) const): Correct throw string.
530 Correct copy start location.
532 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
533 Peter A. Bigot <pab@pabigot.com>
536 * include/experimental/string_view (operator[](size_type) const):
537 Fix one-off index error in debug check.
538 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
539 test basic_string_view at size().
540 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
542 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
543 Peter A. Bigot <pab@pabigot.com>
546 * include/experimental/string_view
547 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
548 * testsuite/experimental/string_view/operations/substr/char/1.cc:
549 Comment out catch of out_of_range; No terminating null
550 in basic_string_view. Check begin == end.
551 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
554 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
557 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
558 constructor to prevent it being implicitly defined as deleted, but
559 do not copy anything.
560 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
561 Define copy and move constructors similar to _Safe_sequence_base's.
562 * testsuite/23_containers/unordered_map/59548.cc: New.
564 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
565 Steve Ellcey <sellcey@mips.com>
567 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
569 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
570 * (configure, config.h.in): Regenerate.
571 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
573 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
575 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
576 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
579 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
580 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
582 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
584 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
585 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
586 functions to perform moving or copying of elements from rvalue tree.
587 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
588 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
589 * testsuite/23_containers/map/59872.cc: New.
590 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
592 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
594 * include/bits/stl_deque.h (_Deque_impl): Move comment.
597 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
598 Split into separate default constructor and constructor taking
600 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
601 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
603 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
604 * include/debug/list (list::list(const _Allocator&)): Likewise.
605 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
607 * include/debug/multimap.h
608 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
609 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
611 * include/debug/multiset.h
612 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
613 * include/debug/vector (vector::vector(const allocator_type&)):
615 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
616 * include/profile/list (list::list(const _Allocator&)): Likewise.
617 * include/profile/map.h
618 (map::map(const _Compare&, const _Allocator&)): Likewise.
619 * include/profile/multimap.h
620 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
621 * include/profile/set.h
622 (set::set(const _Compare&, const _Allocator&)): Likewise.
623 * include/profile/multiset.h
624 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
625 * include/profile/vector (vector::vector(const _Allocator&)):
627 * testsuite/23_containers/deque/58764.cc: New.
628 * testsuite/23_containers/list/58764.cc: New.
629 * testsuite/23_containers/map/58764.cc: New.
630 * testsuite/23_containers/multimap/58764.cc: New.
631 * testsuite/23_containers/set/58764.cc: New.
632 * testsuite/23_containers/multiset/58764.cc: New.
633 * testsuite/23_containers/vector/58764.cc: New.
634 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
635 Adjust dg-error line number.
636 * testsuite/23_containers/deque/requirements/dr438/
637 constructor_1_neg.cc: Likewise.
638 * testsuite/23_containers/deque/requirements/dr438/
639 constructor_2_neg.cc: Likewise.
640 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
642 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
644 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
646 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
648 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
650 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
652 * testsuite/23_containers/vector/requirements/dr438/
653 constructor_1_neg.cc: Likewise.
654 * testsuite/23_containers/vector/requirements/dr438/
655 constructor_2_neg.cc: Likewise.
656 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
659 PR libstdc++/58764 (again)
660 * include/bits/stl_list.h (list): Make default constructor's exception
661 specification conditional.
662 * include/bits/stl_vector.h (vector): Likewise.
663 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
664 to default constructor.
665 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
666 Adjust dg-error line number.
667 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
669 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
671 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
673 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
675 * testsuite/23_containers/vector/requirements/dr438/
676 constructor_1_neg.cc: Likewise.
677 * testsuite/23_containers/vector/requirements/dr438/
678 constructor_2_neg.cc: Likewise.
679 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
682 2014-01-21 Tim Shen <timshen91@gmail.com>
684 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
685 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
686 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
688 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
691 * include/bits/hashtable.h (__cache_default): Do not depend on
692 whether the hash function is DefaultConstructible or CopyAssignable.
693 (_Hashtable): Adjust static assertions.
694 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
695 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
696 dg-error line number.
697 * testsuite/23_containers/unordered_set/
698 not_default_constructible_hash_neg.cc: Remove.
700 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
702 * scripts/create_testsuite_files: Add testsuite/experimental in
703 the list of folders to search for tests.
704 * include/experimental/string_view
705 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
706 incompatible with constexpr qualifier.
707 (basic_string_view<>::front()): Likewise.
708 (basic_string_view<>::back()): Likewise.
709 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
710 Merge dg-options directives into one.
711 * testsuite/experimental/string_view/element_access/char/2.cc:
712 Likewise. Remove invalid experimental namespace scope on
715 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
718 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
719 friendship to _Local_iterator_base<..., false>.
720 (_Local_iterator_base): Give protected access to all existing members.
721 (_Local_iterator_base::_M_curr()): New public accessor.
722 (_Local_iterator_base::_M_get_bucket()): New public accessor.
723 (_Local_iterator_base<..., false>::_M_init()): New function to manage
724 the lifetime of the _Hash_code_base explicitly.
725 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
726 (_Local_iterator_base<..., false>): Define copy constructor and copy
727 assignment operator that use new functions to manage _Hash_code_base.
728 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
729 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
730 Use public API for _Local_iterator_base.
731 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
732 * include/debug/unordered_map (__debug::unordered_map::erase(),
733 __debug::unordered_multimap::erase()): Likewise.
734 * include/debug/unordered_set (__debug::unordered_set::erase(),
735 __debug::unordered_multiset::erase()): Likewise.
736 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
738 2014-01-19 Tim Shen <timshen91@gmail.com>
740 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
741 Fix parse error of multiple consecutive quantifiers like "a**".
742 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
744 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
746 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
748 * include/profile/set.h (set): Implement C++11 allocator-aware
749 container requirements.
750 * include/profile/map.h (map): Likewise.
751 * include/profile/multiset.h (multiset): Likewise.
752 * include/profile/multimap.h (multimap): Likewise.
753 * include/profile/set.h
754 (set::operator=(const set&)): Define as default in C++11 mode.
755 (set::operator=(set&&)): Likewise.
756 * include/profile/map.h
757 (map::operator=(const map&)): Likewise.
758 (map::operator=(map&&)): Likewise.
759 * include/profile/multiset.h
760 (multiset::operator=(const multiset&)): Likewise.
761 (multiset::operator=(multiset&&)): Likewise.
762 * include/profile/multimap.h
763 (multimap::operator=(const multimap&)): Likewise.
764 (multimap::operator=(multimap&&)): Likewise.
765 * include/profile/set.h (set::operator=(std::initializer_list<>)):
766 Rely on the same operator from normal mode.
767 * include/profile/map.h (map::operator=(std::initializer_list<>)):
769 * include/profile/multiset.h
770 (multiset::operator=(std::initializer_list<>)): Likewise.
771 * include/profile/multimap.h
772 (multimap::operator=(std::initializer_list<>)): Likewise.
773 * include/profile/set.h (set::swap(set&)): Add noexcept
775 * include/profile/map.h (map::swap(map&)): Likewise.
776 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
777 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
779 2014-01-17 Tim Shen <timshen91@gmail.com>
781 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
783 * include/bits/regex_automaton.h: Do not use std::set.
784 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
785 _BracketMatcher<>::_M_add_collating_element(),
786 _BracketMatcher<>::_M_add_equivalence_class(),
787 _BracketMatcher<>::_M_make_range()): Likewise.
788 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
790 * include/bits/regex_executor.h: Do not use std::queue.
791 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
792 _Executor<>::_M_dfs()): Likewise.
793 * include/std/regex: Remove <map>, <set> and <queue>.
795 2014-01-17 Tim Shen <timshen91@gmail.com>
797 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
798 basic_regex<>::assign()): Change __compile_nfa to accept
800 * include/bits/regex_compiler.h: Change _Compiler's template
801 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
802 * include/bits/regex_compiler.tcc: Likewise.
804 2014-01-17 Tim Shen <timshen91@gmail.com>
806 * include/bits/regex_compiler.h: Change _ScannerT into char-type
808 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
809 _ScannerBase from _Scanner; Change _Scanner's template argument from
810 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
812 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
813 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
814 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
816 * include/std/regex: Add <cstring> for using strchr.
818 2014-01-17 Tim Shen <timshen91@gmail.com>
820 * bits/regex_automaton.tcc: Indentation fix.
821 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
822 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
823 _BracketMatcher<>): Add bool option template parameters and
824 specializations to make matching more efficient and space saving.
825 * bits/regex_compiler.tcc: Likewise.
827 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
830 * include/bits/hashtable_policy.h: Fix some long lines.
831 * include/bits/hashtable.h (__hash_code_base_access): Define and
832 use it to check its _M_bucket_index noexcept qualification. Use
834 (__access_protected_ctor): ...this.
835 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
837 * testsuite/23_containers/unordered_set/
838 not_default_constructible_hash_neg.cc: Likewise.
840 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
842 * include/debug/set.h (set): Implement C++11 allocator-aware
843 container requirements.
844 * include/debug/map.h (map): Likewise.
845 * include/debug/multiset.h (multiset): Likewise.
846 * include/debug/multimap.h (multimap): Likewise.
847 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
848 fix implementation regarding management of safe iterators.
849 * include/debug/map.h (map::operator=(map&&)): Likewise.
850 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
851 * include/debug/multimap.h (multimap::operator=(multimap&&)):
853 * include/debug/set.h (set::operator=(std::initializer_list<>)):
854 Rely on the same operator from normal mode.
855 * include/debug/map.h (map::operator=(std::initializer_list<>)):
857 * include/debug/multiset.h
858 (multiset::operator=(std::initializer_list<>)): Likewise.
859 * include/debug/multimap.h
860 (multimap::operator=(std::initializer_list<>)): Likewise.
861 * include/debug/set.h (set::swap(set&)): Add noexcept
862 specification, add allocator equality check.
863 * include/debug/map.h (map::swap(map&)): Likewise.
864 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
865 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
867 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
870 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
871 and stylistic improvements.
872 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
873 and update for C++11.
874 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
877 * doc/xml/manual/backwards_compatibility.xml
878 (backwards.third.nocreate_noreplace): Correct and expand.
881 * doc/xml/manual/support.xml (std.support.types.null): Update links.
883 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
886 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
887 support for non-Movable types.
890 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
892 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
894 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
895 *this allocator instance when building temporary vector instance
896 so that *this allocator does not get moved.
897 * include/debug/safe_base.h
898 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
899 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
900 move constructor from _Safe_sequence_base.
901 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
902 safe iterators if the instance is moved.
903 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
904 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
905 check on a vector iterator.
906 * testsuite/23_containers/vector/allocator/move_assign.cc
908 (test03): New, test with a non-propagating allocator.
909 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
911 2014-01-07 Tim Shen <timshen91@gmail.com>
913 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
914 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
915 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
916 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
917 _BracketMatcher<>::_M_add_char(),
918 _BracketMatcher<>::_M_add_collating_element(),
919 _BracketMatcher<>::_M_add_equivalence_class(),
920 _BracketMatcher<>::_M_add_character_class(),
921 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
922 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
923 Fix _AnyMatcher behavior of POSIX style and move _M_flags
924 to template parameter; Add cache for _BracketMatcher. Adjust
925 declarations from here...
926 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
927 imbuing a regex will trigger a recompilation to rebuild the cache.
928 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
929 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
930 different template bool parameters.
931 * include/bits/regex_executor.h: Remove unnecessary declarations.
932 * include/std/regex: Adjust including orders.
933 * testsuite/28_regex/traits/char/user_defined.cc: New.
934 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
936 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
938 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
939 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
940 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
941 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
942 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
944 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
946 Update copyright years
948 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
950 * testsuite/18_support/new_handler.cc,
951 testsuite/18_support/terminate_handler.cc,
952 testsuite/18_support/unexpected_handler.cc: Use the standard form for
953 the copyright notice.
955 Copyright (C) 2014 Free Software Foundation, Inc.
957 Copying and distribution of this file, with or without modification,
958 are permitted in any medium without royalty provided the copyright
959 notice and this notice are preserved.