1 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
4 * include/bits/stl_iterator.h (move_iterator::reference,
5 move_iterator::operator*): Implement LWG 2106.
6 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
8 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
10 * include/std/complex (__complex_exp, pow): Specify the template
11 parameter in calls to std::polar, for expression templates.
13 2014-04-10 Andreas Schwab <schwab@suse.de>
15 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
17 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
18 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
20 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
22 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
24 * testsuite/20_util/exchange/1.cc: Add missing return statements.
25 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
26 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
29 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
30 Jack Howarth <howarth@bromo.med.uc.edu>
33 * testsuite/30_threads/condition_variable/54185.cc: Skip for
36 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
38 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
40 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
42 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
43 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
44 * doc/xml/manual/concurrency_extensions.xml
45 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
46 * doc/html/*: Regenerate.
48 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
49 Jonathan Wakely <jwakely@redhat.com>
52 * include/std/iomanip (_Quoted_string operator>>): Do not clear
53 string if input is not quoted.
54 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
56 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
58 * libsupc++/eh_ptr.cc: Improve static_assert messages.
60 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
62 * testsuite/18_support/exception_ptr/60612-terminate.cc
63 (terminate, f): Wrap in _GLIBCXX_USE_C99.
64 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
66 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
68 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
70 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
71 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
73 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
75 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
77 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
78 Fix bad s/part/chapter/ substitutions.
79 * doc/xml/manual/io.xml (std.io): Likewise.
80 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
81 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
83 * doc/html/*: Regenerate.
85 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
88 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
89 compatible with __cxa_exception.
90 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
91 Fix typos in comments.
92 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
93 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
95 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
98 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
99 Use sizeof pointer type not the element type.
100 * testsuite/29_atomics/atomic/60658.cc: New.
102 2014-03-24 Jakub Jelinek <jakub@redhat.com>
104 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
105 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
106 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
107 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
108 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
109 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
110 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
111 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
112 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
113 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
116 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
118 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
120 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
122 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
123 to delegated constructor.
124 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
125 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
128 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
130 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
133 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
135 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
138 * include/debug/functions.h (_Is_contiguous_sequence): Define.
139 (__foreign_iterator): Accept additional iterator. Do not dispatch on
141 (__foreign_iterator_aux2): Likewise. Add overload for iterators
142 from different types of debug container. Use _Is_contiguous_sequence
143 instead of is_lvalue_reference.
144 (__foreign_iterator_aux3): Accept additional iterator. Avoid
145 dereferencing past-the-end iterator.
146 (__foreign_iterator_aux4): Use const value_type* instead of
147 potentially user-defined const_pointer type.
148 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
149 and pass end iterator to __gnu_debug::__foreign_iterator.
150 (__glibcxx_check_insert_range_after): Likewise.
151 (__glibcxx_check_max_load_factor): Fix comment.
152 * include/debug/vector (_Is_contiguous_sequence): Define partial
154 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
155 -std=gnu++11 option and unused header.
156 * testsuite/23_containers/vector/debug/60587.cc: New.
157 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
159 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
161 * crossconfig.m4: Support spu-*-elf* targets.
162 * configure: Regenerate.
164 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
167 * include/std/future (__future_base::_Task_state<>): Change
168 constructors to template functions using perfect forwarding.
169 (__create_task_state): Use decayed type as stored task.
170 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
171 * testsuite/30_threads/packaged_task/60564.cc: New.
173 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
175 * scripts/create_testsuite_files: Add testsuite/experimental in
176 the list of folders to search for tests.
178 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
180 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
182 2014-03-15 Tim Shen <timshen91@gmail.com>
184 * include/bits/regex.h: Add/modify comments.
185 * include/bits/regex_compiler.h: Likewise.
186 * include/bits/regex_executor.h: Likewise.
187 * include/bits/regex_executor.tcc: Likewise.
188 * include/bits/regex_scanner.h: Likewise.
190 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
193 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
194 _ZNSt12system_errorC* symbols which are not exported on any target.
196 2014-03-12 Roland McGrath <mcgrathr@google.com>
197 Mark Seaborn <mseaborn@google.com>
200 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
201 the address of a null pointer, not with a null pointer to pointer.
202 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
203 * testsuite/18_support/bad_exception/59392.cc: New file.
205 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
208 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
210 * include/debug/map (map::operator=(map&&)): Likewise.
211 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
212 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
213 * include/debug/set (set::operator=(set&&)): Likewise.
214 * include/debug/unordered_map
215 (unordered_map::operator=(unordered_map&&)): Likewise.
216 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
217 * include/debug/unordered_set
218 (unordered_set::operator=(unordered_set&&)): Likewise.
219 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
220 * include/debug/vector (vector::operator=(vector&&)): Likewise.
221 * testsuite/23_containers/forward_list/debug/60499.cc: New
222 * testsuite/23_containers/map/debug/60499.cc: New
223 * testsuite/23_containers/multimap/debug/60499.cc: New
224 * testsuite/23_containers/multiset/debug/60499.cc: New
225 * testsuite/23_containers/set/debug/60499.cc: New
226 * testsuite/23_containers/unordered_map/debug/60499.cc: New
227 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
228 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
229 * testsuite/23_containers/unordered_set/debug/60499.cc: New
230 * testsuite/23_containers/vector/debug/60499.cc: New
232 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
234 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
235 for filesystem and fundamentals TS work items.
237 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
240 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
241 Adjust dg-error directives.
243 2014-02-26 Tim Shen <timshen91@gmail.com>
245 * include/bits/regex.tcc (match_results<>::format,
246 regex_replace<>): Update __out after calling std::copy.
247 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
249 * testsuite/28_regex/match_results/format.cc: Likewise.
251 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
254 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
255 allocator_type&)): Remove redundant call to _M_initialize_map.
256 (deque::deque(const allocator_type&)): Initialize _Base with a
257 constructor that calls _M_initialize_map.
261 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
263 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
266 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
268 Rename testsuite directory shared_mutex to shared_timed_mutex
270 * testsuite/30_threads/shared_mutex: Moved to...
271 * testsuite/30_threads/shared_timed_mutex: ...here
273 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
275 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
276 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
277 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
278 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
279 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
280 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
281 * testsuite/30_threads/shared_lock/requirements/
282 explicit_instantiation.cc: Ditto.
283 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
284 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
285 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
286 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
287 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
288 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
289 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
290 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
291 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
292 * testsuite/30_threads/shared_mutex/requirements/
293 standard_layout.cc: Ditto.
294 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
295 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
296 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
297 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
298 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
300 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
302 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
303 execution on i?86-*-solaris2.9, remove comment.
304 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
306 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
308 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
309 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
310 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
312 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
314 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
315 not use varargs when argument could be non-POD.
316 (__alloctr_rebind_helper): Eliminate static const bool member by
317 using true_type and false_type.
318 (allocator_traits::__allocate_helper): Likewise.
319 (allocator_traits::__construct_helper): Likewise.
320 (allocator_traits::__destroy_helper): Likewise.
321 (allocator_traits::__maxsize_helper): Likewise.
322 (allocator_traits::__select_helper): Likewise.
323 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
324 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
325 Remove redundant condition.
326 * include/bits/stl_vector.h (vector::operator=(const vector&)):
328 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
329 indirection through __alloc_traits.
330 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
331 Eliminate static const bool members by using true_type and false_type.
332 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
333 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
334 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
336 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
339 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
340 (vector::_M_data_ptr): New overloaded functions to ensure empty
341 vectors do not dereference the pointer.
342 * testsuite/23_containers/vector/59829.cc: New.
343 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
344 Adjust dg-error line number.
345 * testsuite/23_containers/vector/requirements/dr438/
346 constructor_1_neg.cc: Likewise.
347 * testsuite/23_containers/vector/requirements/dr438/
348 constructor_2_neg.cc: Likewise.
349 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
353 * include/ext/array_allocator.h: Add deprecated attribute.
356 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
357 installation and use of python printers.
358 * doc/xml/manual/status_cxx2011.xml: Update.
359 * doc/html/*: Regenerate.
361 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
362 Kyle Lippincott <spectral@google.com>
365 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
366 constructor and grant friendship to weak_ptr.
367 (weak_ptr::lock()): Use new constructor.
368 * include/bits/shared_ptr_base.h
369 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
370 and define specializations.
371 (__shared_count): Add new non-throwing constructor.
372 (__shared_ptr): Add new non-throwing constructor and grant friendship
374 (__weak_ptr::lock()): Use new constructor.
375 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
376 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
378 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
381 * include/bits/shared_ptr_base.h
382 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
385 2014-01-27 Jason Merrill <jason@redhat.com>
390 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
391 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
392 (__cxa_allocate_exception): Don't set it here.
394 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
396 * include/bits/stl_map.h: Remove anachronistic comment.
397 * include/bits/stl_multimap.h: Add whitespace.
398 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
399 -std=gnu++11 instead of -std=c++11.
400 * testsuite/23_containers/map/operators/2.cc: Likewise.
401 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
402 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
403 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
405 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
406 * configure: Regenerate.
408 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
411 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
412 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
414 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
415 Peter A. Bigot <pab@pabigot.com>
418 * include/experimental/string_view
419 (copy(_CharT*, size_type, size_type) const): Correct throw string.
420 Correct copy start location.
422 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
423 Peter A. Bigot <pab@pabigot.com>
426 * include/experimental/string_view (operator[](size_type) const):
427 Fix one-off index error in debug check.
428 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
429 test basic_string_view at size().
430 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
432 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
433 Peter A. Bigot <pab@pabigot.com>
436 * include/experimental/string_view
437 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
438 * testsuite/experimental/string_view/operations/substr/char/1.cc:
439 Comment out catch of out_of_range; No terminating null
440 in basic_string_view. Check begin == end.
441 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
444 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
447 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
448 constructor to prevent it being implicitly defined as deleted, but
449 do not copy anything.
450 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
451 Define copy and move constructors similar to _Safe_sequence_base's.
452 * testsuite/23_containers/unordered_map/59548.cc: New.
454 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
455 Steve Ellcey <sellcey@mips.com>
457 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
459 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
460 * (configure, config.h.in): Regenerate.
461 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
463 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
465 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
466 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
469 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
470 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
472 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
474 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
475 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
476 functions to perform moving or copying of elements from rvalue tree.
477 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
478 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
479 * testsuite/23_containers/map/59872.cc: New.
480 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
482 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
484 * include/bits/stl_deque.h (_Deque_impl): Move comment.
487 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
488 Split into separate default constructor and constructor taking
490 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
491 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
493 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
494 * include/debug/list (list::list(const _Allocator&)): Likewise.
495 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
497 * include/debug/multimap.h
498 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
499 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
501 * include/debug/multiset.h
502 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
503 * include/debug/vector (vector::vector(const allocator_type&)):
505 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
506 * include/profile/list (list::list(const _Allocator&)): Likewise.
507 * include/profile/map.h
508 (map::map(const _Compare&, const _Allocator&)): Likewise.
509 * include/profile/multimap.h
510 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
511 * include/profile/set.h
512 (set::set(const _Compare&, const _Allocator&)): Likewise.
513 * include/profile/multiset.h
514 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
515 * include/profile/vector (vector::vector(const _Allocator&)):
517 * testsuite/23_containers/deque/58764.cc: New.
518 * testsuite/23_containers/list/58764.cc: New.
519 * testsuite/23_containers/map/58764.cc: New.
520 * testsuite/23_containers/multimap/58764.cc: New.
521 * testsuite/23_containers/set/58764.cc: New.
522 * testsuite/23_containers/multiset/58764.cc: New.
523 * testsuite/23_containers/vector/58764.cc: New.
524 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
525 Adjust dg-error line number.
526 * testsuite/23_containers/deque/requirements/dr438/
527 constructor_1_neg.cc: Likewise.
528 * testsuite/23_containers/deque/requirements/dr438/
529 constructor_2_neg.cc: Likewise.
530 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
532 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
534 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
536 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
538 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
540 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
542 * testsuite/23_containers/vector/requirements/dr438/
543 constructor_1_neg.cc: Likewise.
544 * testsuite/23_containers/vector/requirements/dr438/
545 constructor_2_neg.cc: Likewise.
546 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
549 PR libstdc++/58764 (again)
550 * include/bits/stl_list.h (list): Make default constructor's exception
551 specification conditional.
552 * include/bits/stl_vector.h (vector): Likewise.
553 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
554 to default constructor.
555 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
556 Adjust dg-error line number.
557 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
559 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
561 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
563 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
565 * testsuite/23_containers/vector/requirements/dr438/
566 constructor_1_neg.cc: Likewise.
567 * testsuite/23_containers/vector/requirements/dr438/
568 constructor_2_neg.cc: Likewise.
569 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
572 2014-01-21 Tim Shen <timshen91@gmail.com>
574 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
575 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
576 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
578 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
581 * include/bits/hashtable.h (__cache_default): Do not depend on
582 whether the hash function is DefaultConstructible or CopyAssignable.
583 (_Hashtable): Adjust static assertions.
584 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
585 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
586 dg-error line number.
587 * testsuite/23_containers/unordered_set/
588 not_default_constructible_hash_neg.cc: Remove.
590 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
592 * scripts/create_testsuite_files: Add testsuite/experimental in
593 the list of folders to search for tests.
594 * include/experimental/string_view
595 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
596 incompatible with constexpr qualifier.
597 (basic_string_view<>::front()): Likewise.
598 (basic_string_view<>::back()): Likewise.
599 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
600 Merge dg-options directives into one.
601 * testsuite/experimental/string_view/element_access/char/2.cc:
602 Likewise. Remove invalid experimental namespace scope on
605 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
608 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
609 friendship to _Local_iterator_base<..., false>.
610 (_Local_iterator_base): Give protected access to all existing members.
611 (_Local_iterator_base::_M_curr()): New public accessor.
612 (_Local_iterator_base::_M_get_bucket()): New public accessor.
613 (_Local_iterator_base<..., false>::_M_init()): New function to manage
614 the lifetime of the _Hash_code_base explicitly.
615 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
616 (_Local_iterator_base<..., false>): Define copy constructor and copy
617 assignment operator that use new functions to manage _Hash_code_base.
618 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
619 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
620 Use public API for _Local_iterator_base.
621 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
622 * include/debug/unordered_map (__debug::unordered_map::erase(),
623 __debug::unordered_multimap::erase()): Likewise.
624 * include/debug/unordered_set (__debug::unordered_set::erase(),
625 __debug::unordered_multiset::erase()): Likewise.
626 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
628 2014-01-19 Tim Shen <timshen91@gmail.com>
630 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
631 Fix parse error of multiple consecutive quantifiers like "a**".
632 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
634 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
636 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
638 * include/profile/set.h (set): Implement C++11 allocator-aware
639 container requirements.
640 * include/profile/map.h (map): Likewise.
641 * include/profile/multiset.h (multiset): Likewise.
642 * include/profile/multimap.h (multimap): Likewise.
643 * include/profile/set.h
644 (set::operator=(const set&)): Define as default in C++11 mode.
645 (set::operator=(set&&)): Likewise.
646 * include/profile/map.h
647 (map::operator=(const map&)): Likewise.
648 (map::operator=(map&&)): Likewise.
649 * include/profile/multiset.h
650 (multiset::operator=(const multiset&)): Likewise.
651 (multiset::operator=(multiset&&)): Likewise.
652 * include/profile/multimap.h
653 (multimap::operator=(const multimap&)): Likewise.
654 (multimap::operator=(multimap&&)): Likewise.
655 * include/profile/set.h (set::operator=(std::initializer_list<>)):
656 Rely on the same operator from normal mode.
657 * include/profile/map.h (map::operator=(std::initializer_list<>)):
659 * include/profile/multiset.h
660 (multiset::operator=(std::initializer_list<>)): Likewise.
661 * include/profile/multimap.h
662 (multimap::operator=(std::initializer_list<>)): Likewise.
663 * include/profile/set.h (set::swap(set&)): Add noexcept
665 * include/profile/map.h (map::swap(map&)): Likewise.
666 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
667 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
669 2014-01-17 Tim Shen <timshen91@gmail.com>
671 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
673 * include/bits/regex_automaton.h: Do not use std::set.
674 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
675 _BracketMatcher<>::_M_add_collating_element(),
676 _BracketMatcher<>::_M_add_equivalence_class(),
677 _BracketMatcher<>::_M_make_range()): Likewise.
678 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
680 * include/bits/regex_executor.h: Do not use std::queue.
681 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
682 _Executor<>::_M_dfs()): Likewise.
683 * include/std/regex: Remove <map>, <set> and <queue>.
685 2014-01-17 Tim Shen <timshen91@gmail.com>
687 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
688 basic_regex<>::assign()): Change __compile_nfa to accept
690 * include/bits/regex_compiler.h: Change _Compiler's template
691 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
692 * include/bits/regex_compiler.tcc: Likewise.
694 2014-01-17 Tim Shen <timshen91@gmail.com>
696 * include/bits/regex_compiler.h: Change _ScannerT into char-type
698 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
699 _ScannerBase from _Scanner; Change _Scanner's template argument from
700 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
702 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
703 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
704 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
706 * include/std/regex: Add <cstring> for using strchr.
708 2014-01-17 Tim Shen <timshen91@gmail.com>
710 * bits/regex_automaton.tcc: Indentation fix.
711 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
712 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
713 _BracketMatcher<>): Add bool option template parameters and
714 specializations to make matching more efficient and space saving.
715 * bits/regex_compiler.tcc: Likewise.
717 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
720 * include/bits/hashtable_policy.h: Fix some long lines.
721 * include/bits/hashtable.h (__hash_code_base_access): Define and
722 use it to check its _M_bucket_index noexcept qualification. Use
724 (__access_protected_ctor): ...this.
725 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
727 * testsuite/23_containers/unordered_set/
728 not_default_constructible_hash_neg.cc: Likewise.
730 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
732 * include/debug/set.h (set): Implement C++11 allocator-aware
733 container requirements.
734 * include/debug/map.h (map): Likewise.
735 * include/debug/multiset.h (multiset): Likewise.
736 * include/debug/multimap.h (multimap): Likewise.
737 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
738 fix implementation regarding management of safe iterators.
739 * include/debug/map.h (map::operator=(map&&)): Likewise.
740 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
741 * include/debug/multimap.h (multimap::operator=(multimap&&)):
743 * include/debug/set.h (set::operator=(std::initializer_list<>)):
744 Rely on the same operator from normal mode.
745 * include/debug/map.h (map::operator=(std::initializer_list<>)):
747 * include/debug/multiset.h
748 (multiset::operator=(std::initializer_list<>)): Likewise.
749 * include/debug/multimap.h
750 (multimap::operator=(std::initializer_list<>)): Likewise.
751 * include/debug/set.h (set::swap(set&)): Add noexcept
752 specification, add allocator equality check.
753 * include/debug/map.h (map::swap(map&)): Likewise.
754 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
755 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
757 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
760 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
761 and stylistic improvements.
762 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
763 and update for C++11.
764 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
767 * doc/xml/manual/backwards_compatibility.xml
768 (backwards.third.nocreate_noreplace): Correct and expand.
771 * doc/xml/manual/support.xml (std.support.types.null): Update links.
773 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
776 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
777 support for non-Movable types.
780 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
782 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
784 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
785 *this allocator instance when building temporary vector instance
786 so that *this allocator does not get moved.
787 * include/debug/safe_base.h
788 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
789 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
790 move constructor from _Safe_sequence_base.
791 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
792 safe iterators if the instance is moved.
793 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
794 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
795 check on a vector iterator.
796 * testsuite/23_containers/vector/allocator/move_assign.cc
798 (test03): New, test with a non-propagating allocator.
799 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
801 2014-01-07 Tim Shen <timshen91@gmail.com>
803 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
804 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
805 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
806 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
807 _BracketMatcher<>::_M_add_char(),
808 _BracketMatcher<>::_M_add_collating_element(),
809 _BracketMatcher<>::_M_add_equivalence_class(),
810 _BracketMatcher<>::_M_add_character_class(),
811 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
812 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
813 Fix _AnyMatcher behavior of POSIX style and move _M_flags
814 to template parameter; Add cache for _BracketMatcher. Adjust
815 declarations from here...
816 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
817 imbuing a regex will trigger a recompilation to rebuild the cache.
818 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
819 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
820 different template bool parameters.
821 * include/bits/regex_executor.h: Remove unnecessary declarations.
822 * include/std/regex: Adjust including orders.
823 * testsuite/28_regex/traits/char/user_defined.cc: New.
824 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
826 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
828 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
829 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
830 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
831 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
832 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
834 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
836 Update copyright years
838 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
840 * testsuite/18_support/new_handler.cc,
841 testsuite/18_support/terminate_handler.cc,
842 testsuite/18_support/unexpected_handler.cc: Use the standard form for
843 the copyright notice.
845 Copyright (C) 2014 Free Software Foundation, Inc.
847 Copying and distribution of this file, with or without modification,
848 are permitted in any medium without royalty provided the copyright
849 notice and this notice are preserved.