1 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
7 * include/std/atomic (atomic<_Tp>): Add static assertion.
8 * testsuite/29_atomics/atomic/60695.cc: New.
11 * include/std/functional (function::_Callable): Exclude own type
12 from the callable checks.
13 * testsuite/20_util/function/60594.cc: New.
15 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
16 const to constexpr member functions.
18 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
19 delegating constructor.
20 * include/bits/shared_ptr_base.h
21 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
23 * include/std/atomic: Uglify parameter names.
26 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
27 1.cc: Fix invalid explicit instantiations with unqualified names.
28 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
30 * testsuite/20_util/tuple/53648.cc: Likweise.
31 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
33 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
35 * testsuite/23_containers/unordered_map/requirements/
36 debug_container.cc: Likewise.
37 * testsuite/23_containers/unordered_map/requirements/
38 explicit_instantiation/3.cc: Likewise.
39 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
41 * testsuite/23_containers/unordered_multimap/requirements/
42 explicit_instantiation/3.cc: Likewise.
43 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
45 * testsuite/23_containers/unordered_multiset/requirements/
46 explicit_instantiation/3.cc: Likewise.
47 * testsuite/23_containers/unordered_set/requirements/
48 debug_container.cc: Likewise.
49 * testsuite/23_containers/unordered_set/requirements/
50 explicit_instantiation/3.cc: Likewise.
52 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
53 not use uninitialized members in mem-initializers.
54 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
55 * testsuite/util/testsuite_common_types.h: Update comment.
57 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
59 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
60 _Vector_base::_M_allocate): NullablePointer requirements do not
61 include initialization from literal zero, use value-initialization.
62 * include/bits/vector.tcc (vector::_M_insert_aux,
63 vector::_M_explace_back_aux): Likewise for assignment.
65 * include/bits/allocator.h (operator==, operator!=): Add exception
69 * include/std/tuple (get): Qualify calls to prevent ADL.
70 * testsuite/20_util/tuple/60497.cc: New.
72 * include/std/tuple (tuple_element_t): Define.
73 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
75 * testsuite/20_util/tuple/tuple_element_t.cc: New.
77 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
80 * include/bits/stl_iterator.h (move_iterator::reference,
81 move_iterator::operator*): Implement LWG 2106.
82 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
84 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
86 * include/std/complex (__complex_exp, pow): Specify the template
87 parameter in calls to std::polar, for expression templates.
89 2014-04-10 Andreas Schwab <schwab@suse.de>
91 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
93 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
94 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
96 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
98 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
100 * testsuite/20_util/exchange/1.cc: Add missing return statements.
101 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
102 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
105 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
106 Jack Howarth <howarth@bromo.med.uc.edu>
109 * testsuite/30_threads/condition_variable/54185.cc: Skip for
112 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
114 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
116 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
118 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
119 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
120 * doc/xml/manual/concurrency_extensions.xml
121 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
122 * doc/html/*: Regenerate.
124 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
125 Jonathan Wakely <jwakely@redhat.com>
128 * include/std/iomanip (_Quoted_string operator>>): Do not clear
129 string if input is not quoted.
130 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
132 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
134 * libsupc++/eh_ptr.cc: Improve static_assert messages.
136 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
138 * testsuite/18_support/exception_ptr/60612-terminate.cc
139 (terminate, f): Wrap in _GLIBCXX_USE_C99.
140 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
142 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
144 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
146 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
147 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
149 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
151 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
153 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
154 Fix bad s/part/chapter/ substitutions.
155 * doc/xml/manual/io.xml (std.io): Likewise.
156 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
157 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
159 * doc/html/*: Regenerate.
161 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
164 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
165 compatible with __cxa_exception.
166 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
167 Fix typos in comments.
168 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
169 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
171 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
174 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
175 Use sizeof pointer type not the element type.
176 * testsuite/29_atomics/atomic/60658.cc: New.
178 2014-03-24 Jakub Jelinek <jakub@redhat.com>
180 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
181 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
182 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
183 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
184 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
185 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
186 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
187 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
188 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
189 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
192 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
194 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
196 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
198 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
199 to delegated constructor.
200 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
201 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
204 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
206 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
209 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
211 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
214 * include/debug/functions.h (_Is_contiguous_sequence): Define.
215 (__foreign_iterator): Accept additional iterator. Do not dispatch on
217 (__foreign_iterator_aux2): Likewise. Add overload for iterators
218 from different types of debug container. Use _Is_contiguous_sequence
219 instead of is_lvalue_reference.
220 (__foreign_iterator_aux3): Accept additional iterator. Avoid
221 dereferencing past-the-end iterator.
222 (__foreign_iterator_aux4): Use const value_type* instead of
223 potentially user-defined const_pointer type.
224 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
225 and pass end iterator to __gnu_debug::__foreign_iterator.
226 (__glibcxx_check_insert_range_after): Likewise.
227 (__glibcxx_check_max_load_factor): Fix comment.
228 * include/debug/vector (_Is_contiguous_sequence): Define partial
230 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
231 -std=gnu++11 option and unused header.
232 * testsuite/23_containers/vector/debug/60587.cc: New.
233 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
235 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
237 * crossconfig.m4: Support spu-*-elf* targets.
238 * configure: Regenerate.
240 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
243 * include/std/future (__future_base::_Task_state<>): Change
244 constructors to template functions using perfect forwarding.
245 (__create_task_state): Use decayed type as stored task.
246 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
247 * testsuite/30_threads/packaged_task/60564.cc: New.
249 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
251 * scripts/create_testsuite_files: Add testsuite/experimental in
252 the list of folders to search for tests.
254 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
256 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
258 2014-03-15 Tim Shen <timshen91@gmail.com>
260 * include/bits/regex.h: Add/modify comments.
261 * include/bits/regex_compiler.h: Likewise.
262 * include/bits/regex_executor.h: Likewise.
263 * include/bits/regex_executor.tcc: Likewise.
264 * include/bits/regex_scanner.h: Likewise.
266 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
269 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
270 _ZNSt12system_errorC* symbols which are not exported on any target.
272 2014-03-12 Roland McGrath <mcgrathr@google.com>
273 Mark Seaborn <mseaborn@google.com>
276 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
277 the address of a null pointer, not with a null pointer to pointer.
278 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
279 * testsuite/18_support/bad_exception/59392.cc: New file.
281 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
284 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
286 * include/debug/map (map::operator=(map&&)): Likewise.
287 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
288 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
289 * include/debug/set (set::operator=(set&&)): Likewise.
290 * include/debug/unordered_map
291 (unordered_map::operator=(unordered_map&&)): Likewise.
292 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
293 * include/debug/unordered_set
294 (unordered_set::operator=(unordered_set&&)): Likewise.
295 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
296 * include/debug/vector (vector::operator=(vector&&)): Likewise.
297 * testsuite/23_containers/forward_list/debug/60499.cc: New
298 * testsuite/23_containers/map/debug/60499.cc: New
299 * testsuite/23_containers/multimap/debug/60499.cc: New
300 * testsuite/23_containers/multiset/debug/60499.cc: New
301 * testsuite/23_containers/set/debug/60499.cc: New
302 * testsuite/23_containers/unordered_map/debug/60499.cc: New
303 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
304 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
305 * testsuite/23_containers/unordered_set/debug/60499.cc: New
306 * testsuite/23_containers/vector/debug/60499.cc: New
308 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
310 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
311 for filesystem and fundamentals TS work items.
313 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
316 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
317 Adjust dg-error directives.
319 2014-02-26 Tim Shen <timshen91@gmail.com>
321 * include/bits/regex.tcc (match_results<>::format,
322 regex_replace<>): Update __out after calling std::copy.
323 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
325 * testsuite/28_regex/match_results/format.cc: Likewise.
327 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
330 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
331 allocator_type&)): Remove redundant call to _M_initialize_map.
332 (deque::deque(const allocator_type&)): Initialize _Base with a
333 constructor that calls _M_initialize_map.
337 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
339 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
342 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
344 Rename testsuite directory shared_mutex to shared_timed_mutex
346 * testsuite/30_threads/shared_mutex: Moved to...
347 * testsuite/30_threads/shared_timed_mutex: ...here
349 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
351 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
352 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
353 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
354 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
355 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
356 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
357 * testsuite/30_threads/shared_lock/requirements/
358 explicit_instantiation.cc: Ditto.
359 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
360 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
361 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
362 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
363 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
364 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
365 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
366 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
367 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
368 * testsuite/30_threads/shared_mutex/requirements/
369 standard_layout.cc: Ditto.
370 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
371 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
372 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
373 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
374 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
376 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
378 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
379 execution on i?86-*-solaris2.9, remove comment.
380 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
382 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
384 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
385 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
386 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
388 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
390 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
391 not use varargs when argument could be non-POD.
392 (__alloctr_rebind_helper): Eliminate static const bool member by
393 using true_type and false_type.
394 (allocator_traits::__allocate_helper): Likewise.
395 (allocator_traits::__construct_helper): Likewise.
396 (allocator_traits::__destroy_helper): Likewise.
397 (allocator_traits::__maxsize_helper): Likewise.
398 (allocator_traits::__select_helper): Likewise.
399 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
400 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
401 Remove redundant condition.
402 * include/bits/stl_vector.h (vector::operator=(const vector&)):
404 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
405 indirection through __alloc_traits.
406 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
407 Eliminate static const bool members by using true_type and false_type.
408 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
409 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
410 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
412 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
415 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
416 (vector::_M_data_ptr): New overloaded functions to ensure empty
417 vectors do not dereference the pointer.
418 * testsuite/23_containers/vector/59829.cc: New.
419 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
420 Adjust dg-error line number.
421 * testsuite/23_containers/vector/requirements/dr438/
422 constructor_1_neg.cc: Likewise.
423 * testsuite/23_containers/vector/requirements/dr438/
424 constructor_2_neg.cc: Likewise.
425 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
429 * include/ext/array_allocator.h: Add deprecated attribute.
432 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
433 installation and use of python printers.
434 * doc/xml/manual/status_cxx2011.xml: Update.
435 * doc/html/*: Regenerate.
437 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
438 Kyle Lippincott <spectral@google.com>
441 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
442 constructor and grant friendship to weak_ptr.
443 (weak_ptr::lock()): Use new constructor.
444 * include/bits/shared_ptr_base.h
445 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
446 and define specializations.
447 (__shared_count): Add new non-throwing constructor.
448 (__shared_ptr): Add new non-throwing constructor and grant friendship
450 (__weak_ptr::lock()): Use new constructor.
451 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
452 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
454 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
457 * include/bits/shared_ptr_base.h
458 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
461 2014-01-27 Jason Merrill <jason@redhat.com>
466 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
467 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
468 (__cxa_allocate_exception): Don't set it here.
470 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
472 * include/bits/stl_map.h: Remove anachronistic comment.
473 * include/bits/stl_multimap.h: Add whitespace.
474 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
475 -std=gnu++11 instead of -std=c++11.
476 * testsuite/23_containers/map/operators/2.cc: Likewise.
477 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
478 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
479 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
481 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
482 * configure: Regenerate.
484 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
487 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
488 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
490 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
491 Peter A. Bigot <pab@pabigot.com>
494 * include/experimental/string_view
495 (copy(_CharT*, size_type, size_type) const): Correct throw string.
496 Correct copy start location.
498 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
499 Peter A. Bigot <pab@pabigot.com>
502 * include/experimental/string_view (operator[](size_type) const):
503 Fix one-off index error in debug check.
504 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
505 test basic_string_view at size().
506 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
508 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
509 Peter A. Bigot <pab@pabigot.com>
512 * include/experimental/string_view
513 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
514 * testsuite/experimental/string_view/operations/substr/char/1.cc:
515 Comment out catch of out_of_range; No terminating null
516 in basic_string_view. Check begin == end.
517 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
520 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
523 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
524 constructor to prevent it being implicitly defined as deleted, but
525 do not copy anything.
526 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
527 Define copy and move constructors similar to _Safe_sequence_base's.
528 * testsuite/23_containers/unordered_map/59548.cc: New.
530 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
531 Steve Ellcey <sellcey@mips.com>
533 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
535 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
536 * (configure, config.h.in): Regenerate.
537 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
539 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
541 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
542 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
545 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
546 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
548 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
550 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
551 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
552 functions to perform moving or copying of elements from rvalue tree.
553 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
554 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
555 * testsuite/23_containers/map/59872.cc: New.
556 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
558 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
560 * include/bits/stl_deque.h (_Deque_impl): Move comment.
563 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
564 Split into separate default constructor and constructor taking
566 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
567 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
569 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
570 * include/debug/list (list::list(const _Allocator&)): Likewise.
571 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
573 * include/debug/multimap.h
574 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
575 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
577 * include/debug/multiset.h
578 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
579 * include/debug/vector (vector::vector(const allocator_type&)):
581 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
582 * include/profile/list (list::list(const _Allocator&)): Likewise.
583 * include/profile/map.h
584 (map::map(const _Compare&, const _Allocator&)): Likewise.
585 * include/profile/multimap.h
586 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
587 * include/profile/set.h
588 (set::set(const _Compare&, const _Allocator&)): Likewise.
589 * include/profile/multiset.h
590 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
591 * include/profile/vector (vector::vector(const _Allocator&)):
593 * testsuite/23_containers/deque/58764.cc: New.
594 * testsuite/23_containers/list/58764.cc: New.
595 * testsuite/23_containers/map/58764.cc: New.
596 * testsuite/23_containers/multimap/58764.cc: New.
597 * testsuite/23_containers/set/58764.cc: New.
598 * testsuite/23_containers/multiset/58764.cc: New.
599 * testsuite/23_containers/vector/58764.cc: New.
600 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
601 Adjust dg-error line number.
602 * testsuite/23_containers/deque/requirements/dr438/
603 constructor_1_neg.cc: Likewise.
604 * testsuite/23_containers/deque/requirements/dr438/
605 constructor_2_neg.cc: Likewise.
606 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
608 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
610 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
612 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
614 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
616 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
618 * testsuite/23_containers/vector/requirements/dr438/
619 constructor_1_neg.cc: Likewise.
620 * testsuite/23_containers/vector/requirements/dr438/
621 constructor_2_neg.cc: Likewise.
622 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
625 PR libstdc++/58764 (again)
626 * include/bits/stl_list.h (list): Make default constructor's exception
627 specification conditional.
628 * include/bits/stl_vector.h (vector): Likewise.
629 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
630 to default constructor.
631 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
632 Adjust dg-error line number.
633 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
635 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
637 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
639 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
641 * testsuite/23_containers/vector/requirements/dr438/
642 constructor_1_neg.cc: Likewise.
643 * testsuite/23_containers/vector/requirements/dr438/
644 constructor_2_neg.cc: Likewise.
645 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
648 2014-01-21 Tim Shen <timshen91@gmail.com>
650 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
651 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
652 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
654 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
657 * include/bits/hashtable.h (__cache_default): Do not depend on
658 whether the hash function is DefaultConstructible or CopyAssignable.
659 (_Hashtable): Adjust static assertions.
660 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
661 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
662 dg-error line number.
663 * testsuite/23_containers/unordered_set/
664 not_default_constructible_hash_neg.cc: Remove.
666 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
668 * scripts/create_testsuite_files: Add testsuite/experimental in
669 the list of folders to search for tests.
670 * include/experimental/string_view
671 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
672 incompatible with constexpr qualifier.
673 (basic_string_view<>::front()): Likewise.
674 (basic_string_view<>::back()): Likewise.
675 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
676 Merge dg-options directives into one.
677 * testsuite/experimental/string_view/element_access/char/2.cc:
678 Likewise. Remove invalid experimental namespace scope on
681 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
684 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
685 friendship to _Local_iterator_base<..., false>.
686 (_Local_iterator_base): Give protected access to all existing members.
687 (_Local_iterator_base::_M_curr()): New public accessor.
688 (_Local_iterator_base::_M_get_bucket()): New public accessor.
689 (_Local_iterator_base<..., false>::_M_init()): New function to manage
690 the lifetime of the _Hash_code_base explicitly.
691 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
692 (_Local_iterator_base<..., false>): Define copy constructor and copy
693 assignment operator that use new functions to manage _Hash_code_base.
694 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
695 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
696 Use public API for _Local_iterator_base.
697 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
698 * include/debug/unordered_map (__debug::unordered_map::erase(),
699 __debug::unordered_multimap::erase()): Likewise.
700 * include/debug/unordered_set (__debug::unordered_set::erase(),
701 __debug::unordered_multiset::erase()): Likewise.
702 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
704 2014-01-19 Tim Shen <timshen91@gmail.com>
706 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
707 Fix parse error of multiple consecutive quantifiers like "a**".
708 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
710 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
712 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
714 * include/profile/set.h (set): Implement C++11 allocator-aware
715 container requirements.
716 * include/profile/map.h (map): Likewise.
717 * include/profile/multiset.h (multiset): Likewise.
718 * include/profile/multimap.h (multimap): Likewise.
719 * include/profile/set.h
720 (set::operator=(const set&)): Define as default in C++11 mode.
721 (set::operator=(set&&)): Likewise.
722 * include/profile/map.h
723 (map::operator=(const map&)): Likewise.
724 (map::operator=(map&&)): Likewise.
725 * include/profile/multiset.h
726 (multiset::operator=(const multiset&)): Likewise.
727 (multiset::operator=(multiset&&)): Likewise.
728 * include/profile/multimap.h
729 (multimap::operator=(const multimap&)): Likewise.
730 (multimap::operator=(multimap&&)): Likewise.
731 * include/profile/set.h (set::operator=(std::initializer_list<>)):
732 Rely on the same operator from normal mode.
733 * include/profile/map.h (map::operator=(std::initializer_list<>)):
735 * include/profile/multiset.h
736 (multiset::operator=(std::initializer_list<>)): Likewise.
737 * include/profile/multimap.h
738 (multimap::operator=(std::initializer_list<>)): Likewise.
739 * include/profile/set.h (set::swap(set&)): Add noexcept
741 * include/profile/map.h (map::swap(map&)): Likewise.
742 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
743 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
745 2014-01-17 Tim Shen <timshen91@gmail.com>
747 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
749 * include/bits/regex_automaton.h: Do not use std::set.
750 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
751 _BracketMatcher<>::_M_add_collating_element(),
752 _BracketMatcher<>::_M_add_equivalence_class(),
753 _BracketMatcher<>::_M_make_range()): Likewise.
754 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
756 * include/bits/regex_executor.h: Do not use std::queue.
757 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
758 _Executor<>::_M_dfs()): Likewise.
759 * include/std/regex: Remove <map>, <set> and <queue>.
761 2014-01-17 Tim Shen <timshen91@gmail.com>
763 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
764 basic_regex<>::assign()): Change __compile_nfa to accept
766 * include/bits/regex_compiler.h: Change _Compiler's template
767 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
768 * include/bits/regex_compiler.tcc: Likewise.
770 2014-01-17 Tim Shen <timshen91@gmail.com>
772 * include/bits/regex_compiler.h: Change _ScannerT into char-type
774 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
775 _ScannerBase from _Scanner; Change _Scanner's template argument from
776 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
778 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
779 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
780 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
782 * include/std/regex: Add <cstring> for using strchr.
784 2014-01-17 Tim Shen <timshen91@gmail.com>
786 * bits/regex_automaton.tcc: Indentation fix.
787 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
788 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
789 _BracketMatcher<>): Add bool option template parameters and
790 specializations to make matching more efficient and space saving.
791 * bits/regex_compiler.tcc: Likewise.
793 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
796 * include/bits/hashtable_policy.h: Fix some long lines.
797 * include/bits/hashtable.h (__hash_code_base_access): Define and
798 use it to check its _M_bucket_index noexcept qualification. Use
800 (__access_protected_ctor): ...this.
801 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
803 * testsuite/23_containers/unordered_set/
804 not_default_constructible_hash_neg.cc: Likewise.
806 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
808 * include/debug/set.h (set): Implement C++11 allocator-aware
809 container requirements.
810 * include/debug/map.h (map): Likewise.
811 * include/debug/multiset.h (multiset): Likewise.
812 * include/debug/multimap.h (multimap): Likewise.
813 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
814 fix implementation regarding management of safe iterators.
815 * include/debug/map.h (map::operator=(map&&)): Likewise.
816 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
817 * include/debug/multimap.h (multimap::operator=(multimap&&)):
819 * include/debug/set.h (set::operator=(std::initializer_list<>)):
820 Rely on the same operator from normal mode.
821 * include/debug/map.h (map::operator=(std::initializer_list<>)):
823 * include/debug/multiset.h
824 (multiset::operator=(std::initializer_list<>)): Likewise.
825 * include/debug/multimap.h
826 (multimap::operator=(std::initializer_list<>)): Likewise.
827 * include/debug/set.h (set::swap(set&)): Add noexcept
828 specification, add allocator equality check.
829 * include/debug/map.h (map::swap(map&)): Likewise.
830 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
831 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
833 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
836 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
837 and stylistic improvements.
838 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
839 and update for C++11.
840 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
843 * doc/xml/manual/backwards_compatibility.xml
844 (backwards.third.nocreate_noreplace): Correct and expand.
847 * doc/xml/manual/support.xml (std.support.types.null): Update links.
849 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
852 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
853 support for non-Movable types.
856 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
858 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
860 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
861 *this allocator instance when building temporary vector instance
862 so that *this allocator does not get moved.
863 * include/debug/safe_base.h
864 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
865 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
866 move constructor from _Safe_sequence_base.
867 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
868 safe iterators if the instance is moved.
869 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
870 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
871 check on a vector iterator.
872 * testsuite/23_containers/vector/allocator/move_assign.cc
874 (test03): New, test with a non-propagating allocator.
875 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
877 2014-01-07 Tim Shen <timshen91@gmail.com>
879 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
880 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
881 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
882 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
883 _BracketMatcher<>::_M_add_char(),
884 _BracketMatcher<>::_M_add_collating_element(),
885 _BracketMatcher<>::_M_add_equivalence_class(),
886 _BracketMatcher<>::_M_add_character_class(),
887 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
888 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
889 Fix _AnyMatcher behavior of POSIX style and move _M_flags
890 to template parameter; Add cache for _BracketMatcher. Adjust
891 declarations from here...
892 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
893 imbuing a regex will trigger a recompilation to rebuild the cache.
894 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
895 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
896 different template bool parameters.
897 * include/bits/regex_executor.h: Remove unnecessary declarations.
898 * include/std/regex: Adjust including orders.
899 * testsuite/28_regex/traits/char/user_defined.cc: New.
900 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
902 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
904 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
905 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
906 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
907 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
908 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
910 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
912 Update copyright years
914 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
916 * testsuite/18_support/new_handler.cc,
917 testsuite/18_support/terminate_handler.cc,
918 testsuite/18_support/unexpected_handler.cc: Use the standard form for
919 the copyright notice.
921 Copyright (C) 2014 Free Software Foundation, Inc.
923 Copying and distribution of this file, with or without modification,
924 are permitted in any medium without royalty provided the copyright
925 notice and this notice are preserved.