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 * include/experimental/string_view: Fix inconsistent exception specs.
59 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
60 Remove name of unused parameter.
62 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
64 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
65 _Vector_base::_M_allocate): NullablePointer requirements do not
66 include initialization from literal zero, use value-initialization.
67 * include/bits/vector.tcc (vector::_M_insert_aux,
68 vector::_M_explace_back_aux): Likewise for assignment.
70 * include/bits/allocator.h (operator==, operator!=): Add exception
74 * include/std/tuple (get): Qualify calls to prevent ADL.
75 * testsuite/20_util/tuple/60497.cc: New.
77 * include/std/tuple (tuple_element_t): Define.
78 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
80 * testsuite/20_util/tuple/tuple_element_t.cc: New.
82 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
85 * include/bits/stl_iterator.h (move_iterator::reference,
86 move_iterator::operator*): Implement LWG 2106.
87 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
89 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
91 * include/std/complex (__complex_exp, pow): Specify the template
92 parameter in calls to std::polar, for expression templates.
94 2014-04-10 Andreas Schwab <schwab@suse.de>
96 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
98 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
99 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
101 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
103 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
105 * testsuite/20_util/exchange/1.cc: Add missing return statements.
106 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
107 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
110 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
111 Jack Howarth <howarth@bromo.med.uc.edu>
114 * testsuite/30_threads/condition_variable/54185.cc: Skip for
117 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
119 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
121 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
123 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
124 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
125 * doc/xml/manual/concurrency_extensions.xml
126 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
127 * doc/html/*: Regenerate.
129 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
130 Jonathan Wakely <jwakely@redhat.com>
133 * include/std/iomanip (_Quoted_string operator>>): Do not clear
134 string if input is not quoted.
135 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
137 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
139 * libsupc++/eh_ptr.cc: Improve static_assert messages.
141 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
143 * testsuite/18_support/exception_ptr/60612-terminate.cc
144 (terminate, f): Wrap in _GLIBCXX_USE_C99.
145 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
147 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
149 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
151 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
152 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
154 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
156 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
158 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
159 Fix bad s/part/chapter/ substitutions.
160 * doc/xml/manual/io.xml (std.io): Likewise.
161 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
162 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
164 * doc/html/*: Regenerate.
166 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
169 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
170 compatible with __cxa_exception.
171 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
172 Fix typos in comments.
173 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
174 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
176 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
179 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
180 Use sizeof pointer type not the element type.
181 * testsuite/29_atomics/atomic/60658.cc: New.
183 2014-03-24 Jakub Jelinek <jakub@redhat.com>
185 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
186 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
187 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
188 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
189 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
190 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
191 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
192 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
193 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
194 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
197 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
199 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
201 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
203 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
204 to delegated constructor.
205 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
206 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
209 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
211 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
214 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
216 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
219 * include/debug/functions.h (_Is_contiguous_sequence): Define.
220 (__foreign_iterator): Accept additional iterator. Do not dispatch on
222 (__foreign_iterator_aux2): Likewise. Add overload for iterators
223 from different types of debug container. Use _Is_contiguous_sequence
224 instead of is_lvalue_reference.
225 (__foreign_iterator_aux3): Accept additional iterator. Avoid
226 dereferencing past-the-end iterator.
227 (__foreign_iterator_aux4): Use const value_type* instead of
228 potentially user-defined const_pointer type.
229 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
230 and pass end iterator to __gnu_debug::__foreign_iterator.
231 (__glibcxx_check_insert_range_after): Likewise.
232 (__glibcxx_check_max_load_factor): Fix comment.
233 * include/debug/vector (_Is_contiguous_sequence): Define partial
235 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
236 -std=gnu++11 option and unused header.
237 * testsuite/23_containers/vector/debug/60587.cc: New.
238 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
240 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
242 * crossconfig.m4: Support spu-*-elf* targets.
243 * configure: Regenerate.
245 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
248 * include/std/future (__future_base::_Task_state<>): Change
249 constructors to template functions using perfect forwarding.
250 (__create_task_state): Use decayed type as stored task.
251 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
252 * testsuite/30_threads/packaged_task/60564.cc: New.
254 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
256 * scripts/create_testsuite_files: Add testsuite/experimental in
257 the list of folders to search for tests.
259 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
261 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
263 2014-03-15 Tim Shen <timshen91@gmail.com>
265 * include/bits/regex.h: Add/modify comments.
266 * include/bits/regex_compiler.h: Likewise.
267 * include/bits/regex_executor.h: Likewise.
268 * include/bits/regex_executor.tcc: Likewise.
269 * include/bits/regex_scanner.h: Likewise.
271 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
274 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
275 _ZNSt12system_errorC* symbols which are not exported on any target.
277 2014-03-12 Roland McGrath <mcgrathr@google.com>
278 Mark Seaborn <mseaborn@google.com>
281 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
282 the address of a null pointer, not with a null pointer to pointer.
283 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
284 * testsuite/18_support/bad_exception/59392.cc: New file.
286 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
289 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
291 * include/debug/map (map::operator=(map&&)): Likewise.
292 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
293 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
294 * include/debug/set (set::operator=(set&&)): Likewise.
295 * include/debug/unordered_map
296 (unordered_map::operator=(unordered_map&&)): Likewise.
297 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
298 * include/debug/unordered_set
299 (unordered_set::operator=(unordered_set&&)): Likewise.
300 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
301 * include/debug/vector (vector::operator=(vector&&)): Likewise.
302 * testsuite/23_containers/forward_list/debug/60499.cc: New
303 * testsuite/23_containers/map/debug/60499.cc: New
304 * testsuite/23_containers/multimap/debug/60499.cc: New
305 * testsuite/23_containers/multiset/debug/60499.cc: New
306 * testsuite/23_containers/set/debug/60499.cc: New
307 * testsuite/23_containers/unordered_map/debug/60499.cc: New
308 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
309 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
310 * testsuite/23_containers/unordered_set/debug/60499.cc: New
311 * testsuite/23_containers/vector/debug/60499.cc: New
313 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
315 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
316 for filesystem and fundamentals TS work items.
318 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
321 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
322 Adjust dg-error directives.
324 2014-02-26 Tim Shen <timshen91@gmail.com>
326 * include/bits/regex.tcc (match_results<>::format,
327 regex_replace<>): Update __out after calling std::copy.
328 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
330 * testsuite/28_regex/match_results/format.cc: Likewise.
332 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
335 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
336 allocator_type&)): Remove redundant call to _M_initialize_map.
337 (deque::deque(const allocator_type&)): Initialize _Base with a
338 constructor that calls _M_initialize_map.
342 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
344 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
347 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
349 Rename testsuite directory shared_mutex to shared_timed_mutex
351 * testsuite/30_threads/shared_mutex: Moved to...
352 * testsuite/30_threads/shared_timed_mutex: ...here
354 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
356 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
357 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
358 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
359 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
360 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
361 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
362 * testsuite/30_threads/shared_lock/requirements/
363 explicit_instantiation.cc: Ditto.
364 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
365 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
366 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
367 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
368 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
369 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
370 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
371 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
372 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
373 * testsuite/30_threads/shared_mutex/requirements/
374 standard_layout.cc: Ditto.
375 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
376 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
377 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
378 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
379 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
381 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
383 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
384 execution on i?86-*-solaris2.9, remove comment.
385 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
387 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
389 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
390 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
391 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
393 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
395 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
396 not use varargs when argument could be non-POD.
397 (__alloctr_rebind_helper): Eliminate static const bool member by
398 using true_type and false_type.
399 (allocator_traits::__allocate_helper): Likewise.
400 (allocator_traits::__construct_helper): Likewise.
401 (allocator_traits::__destroy_helper): Likewise.
402 (allocator_traits::__maxsize_helper): Likewise.
403 (allocator_traits::__select_helper): Likewise.
404 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
405 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
406 Remove redundant condition.
407 * include/bits/stl_vector.h (vector::operator=(const vector&)):
409 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
410 indirection through __alloc_traits.
411 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
412 Eliminate static const bool members by using true_type and false_type.
413 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
414 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
415 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
417 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
420 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
421 (vector::_M_data_ptr): New overloaded functions to ensure empty
422 vectors do not dereference the pointer.
423 * testsuite/23_containers/vector/59829.cc: New.
424 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
425 Adjust dg-error line number.
426 * testsuite/23_containers/vector/requirements/dr438/
427 constructor_1_neg.cc: Likewise.
428 * testsuite/23_containers/vector/requirements/dr438/
429 constructor_2_neg.cc: Likewise.
430 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
434 * include/ext/array_allocator.h: Add deprecated attribute.
437 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
438 installation and use of python printers.
439 * doc/xml/manual/status_cxx2011.xml: Update.
440 * doc/html/*: Regenerate.
442 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
443 Kyle Lippincott <spectral@google.com>
446 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
447 constructor and grant friendship to weak_ptr.
448 (weak_ptr::lock()): Use new constructor.
449 * include/bits/shared_ptr_base.h
450 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
451 and define specializations.
452 (__shared_count): Add new non-throwing constructor.
453 (__shared_ptr): Add new non-throwing constructor and grant friendship
455 (__weak_ptr::lock()): Use new constructor.
456 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
457 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
459 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
462 * include/bits/shared_ptr_base.h
463 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
466 2014-01-27 Jason Merrill <jason@redhat.com>
471 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
472 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
473 (__cxa_allocate_exception): Don't set it here.
475 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
477 * include/bits/stl_map.h: Remove anachronistic comment.
478 * include/bits/stl_multimap.h: Add whitespace.
479 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
480 -std=gnu++11 instead of -std=c++11.
481 * testsuite/23_containers/map/operators/2.cc: Likewise.
482 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
483 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
484 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
486 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
487 * configure: Regenerate.
489 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
492 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
493 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
495 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
496 Peter A. Bigot <pab@pabigot.com>
499 * include/experimental/string_view
500 (copy(_CharT*, size_type, size_type) const): Correct throw string.
501 Correct copy start location.
503 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
504 Peter A. Bigot <pab@pabigot.com>
507 * include/experimental/string_view (operator[](size_type) const):
508 Fix one-off index error in debug check.
509 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
510 test basic_string_view at size().
511 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
513 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
514 Peter A. Bigot <pab@pabigot.com>
517 * include/experimental/string_view
518 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
519 * testsuite/experimental/string_view/operations/substr/char/1.cc:
520 Comment out catch of out_of_range; No terminating null
521 in basic_string_view. Check begin == end.
522 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
525 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
528 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
529 constructor to prevent it being implicitly defined as deleted, but
530 do not copy anything.
531 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
532 Define copy and move constructors similar to _Safe_sequence_base's.
533 * testsuite/23_containers/unordered_map/59548.cc: New.
535 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
536 Steve Ellcey <sellcey@mips.com>
538 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
540 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
541 * (configure, config.h.in): Regenerate.
542 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
544 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
546 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
547 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
550 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
551 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
553 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
555 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
556 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
557 functions to perform moving or copying of elements from rvalue tree.
558 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
559 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
560 * testsuite/23_containers/map/59872.cc: New.
561 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
563 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
565 * include/bits/stl_deque.h (_Deque_impl): Move comment.
568 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
569 Split into separate default constructor and constructor taking
571 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
572 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
574 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
575 * include/debug/list (list::list(const _Allocator&)): Likewise.
576 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
578 * include/debug/multimap.h
579 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
580 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
582 * include/debug/multiset.h
583 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
584 * include/debug/vector (vector::vector(const allocator_type&)):
586 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
587 * include/profile/list (list::list(const _Allocator&)): Likewise.
588 * include/profile/map.h
589 (map::map(const _Compare&, const _Allocator&)): Likewise.
590 * include/profile/multimap.h
591 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
592 * include/profile/set.h
593 (set::set(const _Compare&, const _Allocator&)): Likewise.
594 * include/profile/multiset.h
595 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
596 * include/profile/vector (vector::vector(const _Allocator&)):
598 * testsuite/23_containers/deque/58764.cc: New.
599 * testsuite/23_containers/list/58764.cc: New.
600 * testsuite/23_containers/map/58764.cc: New.
601 * testsuite/23_containers/multimap/58764.cc: New.
602 * testsuite/23_containers/set/58764.cc: New.
603 * testsuite/23_containers/multiset/58764.cc: New.
604 * testsuite/23_containers/vector/58764.cc: New.
605 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
606 Adjust dg-error line number.
607 * testsuite/23_containers/deque/requirements/dr438/
608 constructor_1_neg.cc: Likewise.
609 * testsuite/23_containers/deque/requirements/dr438/
610 constructor_2_neg.cc: Likewise.
611 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
613 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
615 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
617 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
619 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
621 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
623 * testsuite/23_containers/vector/requirements/dr438/
624 constructor_1_neg.cc: Likewise.
625 * testsuite/23_containers/vector/requirements/dr438/
626 constructor_2_neg.cc: Likewise.
627 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
630 PR libstdc++/58764 (again)
631 * include/bits/stl_list.h (list): Make default constructor's exception
632 specification conditional.
633 * include/bits/stl_vector.h (vector): Likewise.
634 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
635 to default constructor.
636 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
637 Adjust dg-error line number.
638 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
640 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
642 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
644 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
646 * testsuite/23_containers/vector/requirements/dr438/
647 constructor_1_neg.cc: Likewise.
648 * testsuite/23_containers/vector/requirements/dr438/
649 constructor_2_neg.cc: Likewise.
650 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
653 2014-01-21 Tim Shen <timshen91@gmail.com>
655 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
656 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
657 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
659 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
662 * include/bits/hashtable.h (__cache_default): Do not depend on
663 whether the hash function is DefaultConstructible or CopyAssignable.
664 (_Hashtable): Adjust static assertions.
665 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
666 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
667 dg-error line number.
668 * testsuite/23_containers/unordered_set/
669 not_default_constructible_hash_neg.cc: Remove.
671 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
673 * scripts/create_testsuite_files: Add testsuite/experimental in
674 the list of folders to search for tests.
675 * include/experimental/string_view
676 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
677 incompatible with constexpr qualifier.
678 (basic_string_view<>::front()): Likewise.
679 (basic_string_view<>::back()): Likewise.
680 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
681 Merge dg-options directives into one.
682 * testsuite/experimental/string_view/element_access/char/2.cc:
683 Likewise. Remove invalid experimental namespace scope on
686 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
689 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
690 friendship to _Local_iterator_base<..., false>.
691 (_Local_iterator_base): Give protected access to all existing members.
692 (_Local_iterator_base::_M_curr()): New public accessor.
693 (_Local_iterator_base::_M_get_bucket()): New public accessor.
694 (_Local_iterator_base<..., false>::_M_init()): New function to manage
695 the lifetime of the _Hash_code_base explicitly.
696 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
697 (_Local_iterator_base<..., false>): Define copy constructor and copy
698 assignment operator that use new functions to manage _Hash_code_base.
699 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
700 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
701 Use public API for _Local_iterator_base.
702 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
703 * include/debug/unordered_map (__debug::unordered_map::erase(),
704 __debug::unordered_multimap::erase()): Likewise.
705 * include/debug/unordered_set (__debug::unordered_set::erase(),
706 __debug::unordered_multiset::erase()): Likewise.
707 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
709 2014-01-19 Tim Shen <timshen91@gmail.com>
711 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
712 Fix parse error of multiple consecutive quantifiers like "a**".
713 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
715 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
717 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
719 * include/profile/set.h (set): Implement C++11 allocator-aware
720 container requirements.
721 * include/profile/map.h (map): Likewise.
722 * include/profile/multiset.h (multiset): Likewise.
723 * include/profile/multimap.h (multimap): Likewise.
724 * include/profile/set.h
725 (set::operator=(const set&)): Define as default in C++11 mode.
726 (set::operator=(set&&)): Likewise.
727 * include/profile/map.h
728 (map::operator=(const map&)): Likewise.
729 (map::operator=(map&&)): Likewise.
730 * include/profile/multiset.h
731 (multiset::operator=(const multiset&)): Likewise.
732 (multiset::operator=(multiset&&)): Likewise.
733 * include/profile/multimap.h
734 (multimap::operator=(const multimap&)): Likewise.
735 (multimap::operator=(multimap&&)): Likewise.
736 * include/profile/set.h (set::operator=(std::initializer_list<>)):
737 Rely on the same operator from normal mode.
738 * include/profile/map.h (map::operator=(std::initializer_list<>)):
740 * include/profile/multiset.h
741 (multiset::operator=(std::initializer_list<>)): Likewise.
742 * include/profile/multimap.h
743 (multimap::operator=(std::initializer_list<>)): Likewise.
744 * include/profile/set.h (set::swap(set&)): Add noexcept
746 * include/profile/map.h (map::swap(map&)): Likewise.
747 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
748 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
750 2014-01-17 Tim Shen <timshen91@gmail.com>
752 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
754 * include/bits/regex_automaton.h: Do not use std::set.
755 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
756 _BracketMatcher<>::_M_add_collating_element(),
757 _BracketMatcher<>::_M_add_equivalence_class(),
758 _BracketMatcher<>::_M_make_range()): Likewise.
759 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
761 * include/bits/regex_executor.h: Do not use std::queue.
762 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
763 _Executor<>::_M_dfs()): Likewise.
764 * include/std/regex: Remove <map>, <set> and <queue>.
766 2014-01-17 Tim Shen <timshen91@gmail.com>
768 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
769 basic_regex<>::assign()): Change __compile_nfa to accept
771 * include/bits/regex_compiler.h: Change _Compiler's template
772 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
773 * include/bits/regex_compiler.tcc: Likewise.
775 2014-01-17 Tim Shen <timshen91@gmail.com>
777 * include/bits/regex_compiler.h: Change _ScannerT into char-type
779 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
780 _ScannerBase from _Scanner; Change _Scanner's template argument from
781 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
783 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
784 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
785 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
787 * include/std/regex: Add <cstring> for using strchr.
789 2014-01-17 Tim Shen <timshen91@gmail.com>
791 * bits/regex_automaton.tcc: Indentation fix.
792 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
793 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
794 _BracketMatcher<>): Add bool option template parameters and
795 specializations to make matching more efficient and space saving.
796 * bits/regex_compiler.tcc: Likewise.
798 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
801 * include/bits/hashtable_policy.h: Fix some long lines.
802 * include/bits/hashtable.h (__hash_code_base_access): Define and
803 use it to check its _M_bucket_index noexcept qualification. Use
805 (__access_protected_ctor): ...this.
806 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
808 * testsuite/23_containers/unordered_set/
809 not_default_constructible_hash_neg.cc: Likewise.
811 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
813 * include/debug/set.h (set): Implement C++11 allocator-aware
814 container requirements.
815 * include/debug/map.h (map): Likewise.
816 * include/debug/multiset.h (multiset): Likewise.
817 * include/debug/multimap.h (multimap): Likewise.
818 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
819 fix implementation regarding management of safe iterators.
820 * include/debug/map.h (map::operator=(map&&)): Likewise.
821 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
822 * include/debug/multimap.h (multimap::operator=(multimap&&)):
824 * include/debug/set.h (set::operator=(std::initializer_list<>)):
825 Rely on the same operator from normal mode.
826 * include/debug/map.h (map::operator=(std::initializer_list<>)):
828 * include/debug/multiset.h
829 (multiset::operator=(std::initializer_list<>)): Likewise.
830 * include/debug/multimap.h
831 (multimap::operator=(std::initializer_list<>)): Likewise.
832 * include/debug/set.h (set::swap(set&)): Add noexcept
833 specification, add allocator equality check.
834 * include/debug/map.h (map::swap(map&)): Likewise.
835 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
836 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
838 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
841 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
842 and stylistic improvements.
843 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
844 and update for C++11.
845 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
848 * doc/xml/manual/backwards_compatibility.xml
849 (backwards.third.nocreate_noreplace): Correct and expand.
852 * doc/xml/manual/support.xml (std.support.types.null): Update links.
854 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
857 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
858 support for non-Movable types.
861 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
863 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
865 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
866 *this allocator instance when building temporary vector instance
867 so that *this allocator does not get moved.
868 * include/debug/safe_base.h
869 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
870 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
871 move constructor from _Safe_sequence_base.
872 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
873 safe iterators if the instance is moved.
874 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
875 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
876 check on a vector iterator.
877 * testsuite/23_containers/vector/allocator/move_assign.cc
879 (test03): New, test with a non-propagating allocator.
880 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
882 2014-01-07 Tim Shen <timshen91@gmail.com>
884 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
885 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
886 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
887 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
888 _BracketMatcher<>::_M_add_char(),
889 _BracketMatcher<>::_M_add_collating_element(),
890 _BracketMatcher<>::_M_add_equivalence_class(),
891 _BracketMatcher<>::_M_add_character_class(),
892 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
893 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
894 Fix _AnyMatcher behavior of POSIX style and move _M_flags
895 to template parameter; Add cache for _BracketMatcher. Adjust
896 declarations from here...
897 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
898 imbuing a regex will trigger a recompilation to rebuild the cache.
899 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
900 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
901 different template bool parameters.
902 * include/bits/regex_executor.h: Remove unnecessary declarations.
903 * include/std/regex: Adjust including orders.
904 * testsuite/28_regex/traits/char/user_defined.cc: New.
905 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
907 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
909 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
910 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
911 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
912 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
913 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
915 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
917 Update copyright years
919 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
921 * testsuite/18_support/new_handler.cc,
922 testsuite/18_support/terminate_handler.cc,
923 testsuite/18_support/unexpected_handler.cc: Use the standard form for
924 the copyright notice.
926 Copyright (C) 2014 Free Software Foundation, Inc.
928 Copying and distribution of this file, with or without modification,
929 are permitted in any medium without royalty provided the copyright
930 notice and this notice are preserved.