1 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
5 (deque::emplace_front, deque::emplace_back): Use allocator traits.
6 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
7 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
8 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
9 (_Deque_iterator): Handle allocators with custom pointers.
10 (_Deque_base): Likewise. Use allocator traits.
11 (deque): Likewise. Add allocator-extended constructors.
12 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
13 assignment via tag dispatching.
14 (deque::_M_replace_map): Replace existing data.
15 * include/debug/deque (deque): Add allocator-extended constructors.
16 * include/profile/deque (deque): Likewise.
17 * testsuite/23_containers/deque/allocator/copy.cc: New.
18 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
19 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
20 * testsuite/23_containers/deque/allocator/minimal.cc: New.
21 * testsuite/23_containers/deque/allocator/move.cc: New.
22 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
23 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
24 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
25 * testsuite/23_containers/deque/allocator/swap.cc: New.
26 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
27 Adjust dg-error line number.
28 * testsuite/23_containers/deque/requirements/dr438/
29 constructor_1_neg.cc: Likewise.
30 * testsuite/23_containers/deque/requirements/dr438/
31 constructor_2_neg.cc: Likewise.
32 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
34 * testsuite/23_containers/vector/52591.cc: Test both the propagating
35 and always-equal cases.
37 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
39 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
41 (_Hash_code_base<>): All specialization default constructible if
43 (_Hashtable_base<>): Likewise.
44 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
45 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
46 implementation defaulted.
47 (unordered_multimap<>::unordered_multimap()): Likewise.
48 * include/bits/unordered_set.h
49 (unordered_set<>::unordered_set()): Likewise.
50 (unordered_multiset<>::unordered_multiset()): Likewise.
51 * include/debug/unordered_map: Likewise.
52 * include/debug/unordered_set: Likewise.
53 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
55 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
57 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
59 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
62 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
64 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
66 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
68 * include/std/complex (complex): Define copy constructor and
69 assignment operator as defaulted. Improve Doxygen comments.
71 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
73 * testsuite/ext/random/*: Fix incorrect standard references in
76 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
79 * include/Makefile.am (install-freestanding-headers): Add missing
81 * include/Makefile.in: Regenerate.
83 2014-08-21 Tony Wang <tony.wang@arm.com>
85 * testsuite/18_support/nested_exception/62154.cc: Disable when the
86 target doesn't provide atomic builtins.
88 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
89 Kai Tietz <ktietz@redhat.com>
91 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
93 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
95 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
97 (struct elt): Add dll member.
98 (run): Decrement dll refcount.
99 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
101 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
104 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
105 Rewrite to conform to C++11 requirements.
106 * testsuite/18_support/nested_exception/62154.cc: New.
108 2014-08-14 Matthias Klose <doko@ubuntu.com>
110 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
111 Remove empty directory.
113 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
115 * testsuite/26_numerics/random/linear_congruential_engine/
116 requirements/non_uint_neg.cc: Adjust for parser change.
117 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
118 requirements/non_uint_neg.cc: Likewise.
120 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
123 * include/std/thread (thread::_M_start_thread): Declare new overload.
124 (thread::thread<_Callable, _Args...>): Call new overload with an
125 explicit reference to pthread_create.
126 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
127 * config/abi/pre/gnu.ver: Export new function.
129 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
131 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
133 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
135 * Fix thinko in the last commit.
137 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
140 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
141 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
143 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
145 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
146 and add overloads for rvalue streams.
147 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
149 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
152 * include/bits/basic_string.h (getline): Declare inline.
154 2014-08-09 Ulrich Drepper <drepper@gmail.com>
156 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
157 (uniform_on_sphere_distribution::operator()): Use the new helper
158 class for the implementation.
160 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
161 equal.cc: Remove bogus part of comment.
162 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
163 inequal.cc: Likewise.
164 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
165 serialize.cc: Add check to verify result of serialzation and
167 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
168 generate.cc: New file.
170 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
172 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
173 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
175 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
178 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
179 _M_need_rehash to initialize the rehash policy and check if a rehash is
181 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
183 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
185 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
187 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
188 Adjust dg-error line number.
189 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
191 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
193 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
196 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
198 (_State_baseV2::_M_do_set): Change parameters to pointers.
199 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
200 (_State_baseV2::__setter): Initialize _Setter with pointers.
201 (_State_baseV2::__setter(promise<void>*)): Remove overload.
202 (promise::set_value, promise::set_exception): Pass setter directly
204 (_State_baseV2::_Task_setter): Add template parameter for callable
205 type and replace std::function member with pointer to that type.
206 Change _M_result member from reference to pointer.
207 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
208 and initialize _Task_setter with pointers.
209 (__location_invariant): Specialize for _Setter and _Task_setter.
211 * include/std/future (__location_invariant): Move specializations
212 after preprocessor condition.
214 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
217 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
219 2014-08-01 Zifei Tong <zifeitong@gmail.com>
221 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
222 _GLIBCXX_ prefix to macro.
224 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
226 * python/libstdcxx/v6/printers.py
227 (SingleObjContainerPrinter._contained): Use compatibility mixin.
229 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
231 * testsuite/util/testsuite_allocator.h
232 (tracker_allocator_counter::allocate): Remove new invocation, only
234 (tracker_allocator_counter::deallocate): Remove delete invocation, only
236 (check_inconsistent_alloc_value_type): New.
237 (tracker_allocator): Transform as a facade for any allocator type.
238 (uneq_allocator): Likewise.
239 (propagating_allocator): Likewise.
240 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
241 explicitly non propagating allocator.
242 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
243 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
244 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
245 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
246 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
248 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
250 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
252 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
254 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
256 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
259 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
260 const allocator_type&)): Pass non-const allocator to
262 * testsuite/ext/rope/61946.cc: New.
265 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
266 disambiguate unary constructors.
267 (_Tuple_impl): Pass allocator_arg_t arguments.
268 * testsuite/20_util/tuple/61947.cc: New.
269 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
271 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
273 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
274 * include/bits/random.h (_Adaptor): static_assert for non floating-point
276 * include/bits/random.tcc (generate_canonical): Ditto.
277 * include/ext/random.tcc (hypergeometric_distribution::operator()):
278 Use double as a rng result type.
279 * testsuite/26_numerics/random/pr60037-neg.cc: New.
280 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
282 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
284 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
286 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
288 * include/experimental/string_view: Make the literal operators
289 constexpr like the ctors they call.
291 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
293 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
295 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
297 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
298 to string instead of using gdb.Type.name attribute.
300 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
302 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
305 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
308 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
310 (SingleObjContainerPrinter): Check if type printers are in use.
312 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
314 * include/ext/random: Minor formatting and cosmetic tweaks.
315 (uniform_on_sphere_distribution<>::operator==
316 (const uniform_on_sphere_distribution&,
317 const uniform_on_sphere_distribution&)): Compare the _M_nds.
318 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
319 (operator!=(const uniform_on_sphere_distribution&,
320 const uniform_on_sphere_distribution&)): Adjust.
321 * include/ext/random.tcc: Minor cosmetc tweaks.
323 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
325 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
326 printer for class templates.
327 (register_type_printers): Use TemplateTypePrinter for containers
328 and other class templates with default template arguments.
329 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
331 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
332 base class for experimental::any and experimental::optional printers.
333 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
334 New printers for Fundamentals TS types.
335 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
337 2014-07-15 Tim Shen <timshen@google.com>
340 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
341 Clear match queue for next use.
342 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
344 2014-07-14 Ulrich Drepper <drepper@gmail.com>
346 * include/ext/random.tcc: Unfortunately more fixes for
347 operator>> and operator<< for uniform_on_sphere_distribution.
349 2014-07-13 Ulrich Drepper <drepper@gmail.com>
351 * include/ext/random.tcc: Fix operator>> and operator<< for
352 uniform_on_sphere_distribution.
354 2014-07-12 Ulrich Drepper <drepper@gmail.com>
356 * include/ext/random: Add uniform_on_sphere_distribution definition.
357 * include/ext/random.tcc: Add out-of-band member function definitions
358 for uniform_on_sphere_distribution.
359 * testsuite/ext/random/uniform_on_sphere_distribution/
360 cons/default.cc: New file.
361 * testsuite/ext/random/uniform_on_sphere_distribution/
362 operators/equal.cc: New file.
363 * testsuite/ext/random/uniform_on_sphere_distribution/
364 operators/inequal.cc: New file.
365 * testsuite/ext/random/uniform_on_sphere_distribution/
366 operators/serialize.cc: New file.
368 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
370 Add the logistic_distribution as an extension.
371 * include/ext/random: Add the logistic_distribution.
372 * include/ext/random.tcc: Add the logistic_distribution.
373 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
374 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
375 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
377 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
378 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
379 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
382 2014-07-11 Samuel Bronson <naesten@gmail.com>
384 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
385 instead of insisting that GCC understand -fdiagnostics-color=never
387 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
390 2014-07-11 Samuel Bronson <naesten@gmail.com>
391 Matthias Klose <doko@ubuntu.com>
394 * python/libstdcxx/v6/printers.py: Port to Python 2+3
395 (imap): New compat function.
397 (Iterator): New mixin to allow writing iterators in Python 3 style
398 regardless of which version we're running on.
399 [Python3] (long) New compat alias for "int".
400 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
402 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
404 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
405 tuple members to simplify pretty printing.
406 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
408 * testsuite/experimental/any/cons/4.cc: New.
410 2014-07-09 Jason Merrill <jason@redhat.com>
413 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
414 * libsupc++/tinfo.h: Not here.
416 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
418 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
420 * include/experimental/any: Remove unused header.
421 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
422 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
423 * testsuite/util/testsuite_regex.h: Move include guard.
425 2014-07-01 Tim Shen <timshen@google.com>
429 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
430 a NFA state limit. If it's exceeded, regex_constants::error_space
432 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
433 map (which is sparse) instead of vector. This reduce n times clones'
434 cost from O(n^2) to O(n).
435 * include/std/regex: Add map dependency.
436 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
439 2014-07-01 Tim Shen <timshen@google.com>
442 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
443 not just regex containing back-references.
444 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
445 exchange _M_next and _M_alt for alternative operator,
446 making matching from left to right.
447 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
448 Add position tracking fom DFS.
449 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
450 _Executor<>::_M_dfs): Likewise.
451 * include/bits/regex_scanner.h: Remove unused enum entry.
452 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
455 2014-06-30 Jason Merrill <jason@redhat.com>
457 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
460 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
463 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
464 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
467 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
469 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
471 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
473 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
475 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
478 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
480 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
481 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
482 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
484 * include/ext/alloc_traits.h: Fix comment.
486 * include/Makefile.am: Add new header.
487 * include/Makefile.in: Regenerate.
488 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
489 New RAII utilities for working with allocators.
490 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
491 __allocator_type typedef and use new __allocated_ptr type.
492 (_Sp_counted_ptr_inplace): Likewise.
493 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
494 __allocate_guarded to to simplify exception handling.
495 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
496 * include/std/future (_Result_alloc::_M_destroy): Likewise.
497 (_Result_alloc::_S_allocate_result): Likewise.
498 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
499 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
500 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
501 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
503 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
505 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
507 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
508 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
510 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
512 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
513 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
514 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
515 Remove unused typedef.
516 (time_get::do_get_monthname): Likewise.
517 * include/bits/stl_tree.h: Add system_header pragma.
518 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
519 redundant const-qualifier.
520 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
521 instead of _GLIBCXX_USE_CONSTEXPR.
523 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
525 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
526 * include/std/chrono (_Checked_integral_constant): Allow zero.
527 * testsuite/20_util/duration/literals/values.cc: Test non-positive
528 values and digit separators.
529 * include/experimental/any
532 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
533 apply the signed specifier to wchar_t.
534 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
535 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
536 cv-qualifier and size.
537 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
540 * include/experimental/any (any_v1): Rename namespace to
541 fundamentals_v1. Change string returned by bad_any_cast::what().
542 * include/experimental/optional (fundamentals_v1): Add namespace.
543 * include/experimental/string_view (fundamentals_v1): Likewise.
544 * testsuite/experimental/any/typedefs.cc: New.
545 * testsuite/experimental/optional/typedefs.cc: New.
546 * testsuite/experimental/string_view/typedefs.cc: New.
548 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
549 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
552 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
554 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
556 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
557 * include/Makefile.am: Add new header.
558 * include/Makefile.in: Regenerate.
559 * include/experimental/any: New.
560 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
562 * testsuite/experimental/any/assign/1.cc: New.
563 * testsuite/experimental/any/assign/2.cc: New.
564 * testsuite/experimental/any/cons/1.cc: New.
565 * testsuite/experimental/any/cons/2.cc: New.
566 * testsuite/experimental/any/cons/3.cc: New.
567 * testsuite/experimental/any/misc/any_cast.cc: New.
568 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
569 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
570 * testsuite/experimental/any/misc/swap.cc: New.
571 * testsuite/experimental/any/modifiers/1.cc: New.
572 * testsuite/experimental/any/observers/type.cc: New.
574 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
575 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
577 * include/bits/shared_ptr.h (shared_ptr): Likewise.
578 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
580 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
582 * include/parallel/list_partition.h (__parallel::list_partition):
584 * include/std/iomanip (quoted): Likewise.
585 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
587 * doc/xml/api.xml: Link to more recent API docs.
588 * include/bits/allocator.h: Fix link in doxygen comment.
589 * include/bits/char_traits.h: Likewise.
590 * include/bits/ios_base.h: Likewise.
591 * include/bits/stl_map.h: Likewise.
592 * include/bits/stl_multimap.h: Likewise.
593 * include/bits/stl_multiset.h: Likewise.
594 * include/bits/stl_set.h: Likewise.
595 * include/bits/unordered_map.h: Likewise.
596 * include/bits/unordered_set.h: Likewise.
597 * include/ext/mt_allocator.h: Likewise.
598 * include/std/fstream: Likewise.
599 * include/std/iosfwd: Likewise.
600 * include/std/ostream: Likewise.
601 * include/std/sstream: Likewise.
602 * include/std/streambuf: Likewise.
603 * doc/html/*: Regenerate.
605 * include/experimental/any (any_cast): Combine duplicate doxygen
607 * include/experimental/string_view (basic_string_view): Update
609 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
610 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
611 (dynamic_bitset): Improve Doxygen comments.
612 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
615 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
617 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
618 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
620 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
623 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
624 (bin_search_tree_traits): Do not redeclare template-parameters.
625 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
627 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
629 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
630 parameter for DocBook HTML generation.
631 * doc/Makefile.in: Regenerate.
632 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
633 * doc/xml/faq.xml: Update content and improve formatting.
634 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
635 * doc/xml/manual/allocator.xml: Add stable ID attribute.
636 * doc/xml/manual/bitmap_allocator.xml: Likewise.
637 * doc/xml/manual/build_hacking.xml: Likewise.
638 * doc/xml/manual/codecvt.xml: Change URL.
639 * doc/xml/manual/ctype.xml: Add stable ID attribute.
640 * doc/xml/manual/debug_mode.xml: Likewise.
641 * doc/xml/manual/documentation_hacking.xml: Likewise.
642 * doc/xml/manual/evolution.xml: Likewise.
643 * doc/xml/manual/extensions.xml: Likewise.
644 * doc/xml/manual/locale.xml: Likewise.
645 * doc/xml/manual/messages.xml: Make section id consistent, improve
647 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
648 * doc/xml/manual/profile_mode.xml: Likewise.
649 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
650 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
651 * doc/xml/manual/status_cxx2011.xml: Likewise.
652 * doc/xml/manual/status_cxx2014.xml: Likewise.
653 * doc/xml/manual/status_cxxtr1.xml: Likewise.
654 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
655 * doc/xml/manual/using.xml: Likewise.
656 * doc/html/*: Regenerate.
658 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
660 * include/tr1/beta_function.tcc: Fix spelling of include guard in
663 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
665 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
667 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
669 DR 2344 - std::quoted doesn't respect padding
670 * include/std/iomanip: Allow for padding in quoted inserters.
671 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
672 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
674 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
676 * testsuite/23_containers/map/operators/1.cc: Simplify test.
678 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
680 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
682 * doc/xml/manual/backwards_compatibility.xml
683 (backwards.second.stringstreams): Likewise.
684 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
686 * doc/xml/manual/containers.xml (associative.bitset.type_string):
687 Replace <quote> in code example.
688 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
689 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
690 fix typos, improve markup.
691 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
692 <emphasis> with <replaceable>.
693 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
694 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
695 and remove newlines in string literal.
697 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
701 * testsuite/20_util/is_assignable/value.cc: Update.
703 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
705 * include/std/condition_variable (condition_variable_any::_Unlock): Do
706 not swallow __forced_unwind.
707 * include/std/future (__future_base::_Task_setter): Likewise.
708 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
710 * include/std/mutex (try_lock): Likewise.
711 * testsuite/30_threads/async/forced_unwind.cc: New.
712 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
714 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
715 members to avoid wasted space when not using a cache.
716 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
717 * include/bits/regex_compiler.tcc
718 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
720 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
721 New enumeration type to indicate match mode.
722 (__detail::_Executor::_State_info): New type holding members only
723 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
725 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
726 Replace template parameter with run-time function parameter.
727 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
728 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
729 implement DFS and BFS mode.
730 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
731 Split implementation into ...
732 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
733 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
734 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
735 argument instead of template argument.
736 (__detail::_Executor::_M_dfs): Likewise.
737 * include/bits/regex_scanner.tcc: Fix typos in comments.
738 * testsuite/performance/28_regex/range.cc: New.
740 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
741 Jonathan Wakely <jwakely@redhat.com>
743 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
745 (aligned_union): New struct (C++11).
746 (aligned_union_t): New type alias (C++14).
747 * doc/xml/manual/status_cxx2011.xml: Update.
748 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
749 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
752 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
755 * include/experimental/string_view (operator basic_string): Correct
757 (to_string): Replace with member function.
758 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
759 allow _M_str to be null.
760 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
761 default constructor semantics.
762 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
763 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
764 copyright dates. Remove unused header.
765 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
767 * testsuite/experimental/string_view/operations/data/char/1.cc:
768 Fix copyright dates. Adjust to new default constructor semantics.
769 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
771 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
773 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
774 (__uses_allocator_arg): Remove unused type.
775 (__uses_alloc0): Turn into a trivial type.
776 (__uses_alloc): Add missing template parameter in primary template.
777 (__uses_alloc_impl): Rename to __uses_alloc_t.
779 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
781 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
782 work with previous versions of Tcl.
784 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
785 Benjamin's old email address.
787 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
790 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
792 * include/tr2/bool_set: Use UTF-8 for accented characters.
793 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
794 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
795 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
797 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
800 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
802 (_State_base::_M_dot): Likewise.
804 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
806 * include/profile/map.h: Fix typo in comment; minor formatting fix.
807 * include/profile/multimap.h: Likewise.
808 * include/profile/set.h: Likewise.
809 * include/profile/multiset.h: Likewise.
811 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
813 * include/profile/array: Clean useless white chars.
814 * include/profile/base.h: Likewise.
815 * include/profile/iterator_tracker.h: Likewise.
816 * include/profile/bitset: Code cleanup and remove not instrumented code.
817 * include/profile/deque: Likewise.
818 * include/profile/forward_list: Likewise.
819 * include/profile/list (std::__profile::_List_profile<>): New.
820 (std::__profile::list<>): Inherit from latter and adapt.
821 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
822 advise to match any ordered to unordered container conversion.
823 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
825 * include/Makefile.am: Add latter.
826 * include/Makefile.in: Regenerate.
827 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
828 remove not instrumented code.
829 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
830 * include/profile/set.h (std::__profile::set<>): Likewise.
831 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
832 * include/profile/unordered_base.h: Add some line feed.
833 * include/profile/unordered_map: Clean useless white chars and replace
835 * include/profile/unordered_set: Likewise.
836 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
837 (std::__profile::_Vector_profile_post<>): New.
838 (std::__profile::vector<>): Inherit from latter and adapt.
840 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
843 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
844 dragonfly target selector to all tests that run on freebsd.
846 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
848 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
849 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
851 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
853 * testsuite/30_threads/call_once/60497.cc: Likewise.
854 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
855 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
856 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
857 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
858 * testsuite/30_threads/promise/60966.cc: Likewise.
859 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
860 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
861 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
862 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
863 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
864 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
865 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
866 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
867 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
868 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
869 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
870 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
871 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
872 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
873 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
874 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
875 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
877 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
880 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
882 * testsuite/23_containers/unordered_set/61143.cc: New.
883 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
885 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
888 * include/std/type_traits: Move include outside namespace std.
889 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
890 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
891 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
894 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
897 2014-05-21 John Marino <gnugcc@marino.st>
899 * acinclude.m4 (*-*-dragonfly*): New target.
900 * configure: Regenerate.
901 * configure.host (*-*-dragonfly*): New target.
902 * config/locale/dragonfly/c_locale.cc: New.
903 * config/locale/dragonfly/ctype_members.cc: New.
904 * config/os/bsd/dragonfly/ctype_base.h: New.
905 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
906 * config/os/bsd/dragonfly/ctype_inline.h: New.
907 * config/os/bsd/dragonfly/os_defines.h: New.
909 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
911 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
912 libstdc++.exp imports those flags via getenv.
913 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
914 CXXFLAGS contains a '-O' flag.
916 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
920 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
923 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
924 and add unwind directives.
926 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
928 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
930 2014-05-20 Tim Shen <timshen91@gmail.com>
933 * include/bits/regex_compiler.h
934 (_BracketMatcher<>::_M_add_character_class): Add negative character
936 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
938 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
941 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
943 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
945 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
947 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
948 * libsupc++/new_opnt.cc: Likewise.
950 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
953 * include/std/future (__future_base::_State_baseV2::_M_set_result):
954 Pass lock into _M_do_set and hold it until the function returns.
955 Signal condition variable after call_once completes.
956 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
958 * testsuite/30_threads/promise/60966.cc: New.
960 2014-05-16 Iain Sandoe <iain@codesourcery.com>
961 Sandra Loosemore <sandra@codesourcery.com>
963 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
964 until after checking that the test is eligible to be run.
966 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
968 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
969 test for 32-bit target.
970 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
972 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
975 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
978 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
979 and add unwind directives.
981 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
983 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
985 * include/std/chrono (chrono_literals::__select_type::_Select_type):
987 (chrono_literals::_Checked_integral_constant): Define.
988 Simplify UDL operator templates and check for overflow.
989 * testsuite/20_util/duration/literals/range.cc: New.
991 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
992 Jonathan Wakely <jwakely@redhat.com>
995 * include/bits/parse_numbers.h: Use integral_constant to remove
996 duplication and simplify.
997 * testsuite/20_util/duration/literals/61166.cc: New.
999 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1002 * include/std/type_traits (__make_unsigned, __make_signed): Define
1003 specializations for wchar_t, char16_t and char32_t.
1004 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1005 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1006 test for make_unsigned<volatile wchar_t>.
1007 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1009 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1011 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1013 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1016 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1018 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1019 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1020 * include/std/utility (tuple_size, tuple_element): Likewise.
1021 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1022 Adjust dg-error line number.
1024 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1026 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1027 (__tuple_element_t): Define.
1028 (tuple_element): Use __tuple_element_t.
1029 (__cv_tuple_size): Define.
1030 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1031 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1032 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1033 (__tuple_compare): Remove size check, re-order parameters.
1034 (operator==, operator<): Use static_assert to check requirements.
1035 * include/std/functional (__volget): use __tuple_element_t.
1036 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1037 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1039 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1042 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1043 prevent ADL. Cast comparison results to bool.
1044 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1045 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1048 * include/debug/array (get): Qualify call to other get overload.
1049 * include/profile/array (get): Likewise.
1050 * include/std/array (get): Likewise.
1051 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1052 * include/std/mutex (unique_lock, call_once): Use __addressof.
1053 (__unlock_impl): Remove unused template.
1054 (__try_to_lock): Declare inline.
1055 (__try_lock_impl::__do_try_lock): Qualify function calls.
1056 (lock): Avoid narrowing conversion.
1057 * testsuite/20_util/bind/60497.cc: New.
1058 * testsuite/23_containers/array/element_access/60497.cc: New.
1059 * testsuite/30_threads/call_once/60497.cc: New.
1060 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1062 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1064 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1065 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1066 * acinclude.m4 (libtool_VERSION): Bump.
1067 * configure: Regenerate.
1068 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1069 * testsuite/28_regex/regex_error/base.cc: New.
1071 2014-05-08 Joshua Gay <jgay@gnu.org>
1074 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1075 source" with "free software".
1076 * doc/html/faq.html: Likewise.
1078 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1081 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1083 (operator=(const ios_base&)): Likewise.
1084 * include/std/streambuf: Remove trailing whitespace.
1085 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1086 _M_out_end. Define as defaulted for C++11.
1087 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1088 (swap(basic_streambuf&)): Define for C++11.
1089 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1092 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1094 * include/std/iostream: Fix URL in comment.
1095 * src/c++98/ios_init.cc: Fix path in comment.
1097 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1099 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1100 * configure: Regenerate.
1102 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1105 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1106 comparison function.
1107 * testsuite/23_containers/set/cons/61023.cc: New.
1110 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1112 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1113 arithmetic to obtain a mutable iterator from const_iterator.
1114 * include/bits/vector.tcc (vector::insert): Likewise.
1115 * include/debug/vector (vector::erase): Likewise.
1116 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1117 Adjust dg-error line number.
1118 * testsuite/23_containers/vector/requirements/dr438/
1119 constructor_1_neg.cc: Likewise.
1120 * testsuite/23_containers/vector/requirements/dr438/
1121 constructor_2_neg.cc: Likewise.
1122 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1125 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1127 * include/Makefile.in: Regenerate.
1129 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1131 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1132 parameter to pass the 2 instances to check allocator equality.
1133 * include/debug/safe_container.h: New, define _Safe_container<>.
1134 * include/Makefile.am: Add previous.
1135 * include/debug/deque (std::__debug::deque<>): Inherit
1136 _Safe_container<>. Use default implementation for all special
1138 * include/debug/forward_list (std::__debug::forward_list<>):
1140 * include/debug/list (std::__debug::list<>): Likewise.
1141 * include/debug/map.h (std::__debug::map<>): Likewise.
1142 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1143 * include/debug/set.h (std::__debug::set<>): Likewise.
1144 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1145 * include/debug/string (std::__debug::basic_string<>): Likewise.
1146 * include/debug/unordered_map
1147 (std::__debug::unordered_map<>): Likewise.
1148 (std::__debug::unordered_multimap<>): Likewise.
1149 * include/debug/unordered_set
1150 (std::__debug::unordered_set<>): Likewise.
1151 (std::__debug::unordered_multiset<>): Likewise.
1152 * include/debug/vector (std::__debug::vector<>): Likewise.
1153 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1155 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1156 (~_Safe_sequence_base()): Add noexcept.
1157 * include/debug/safe_sequence.h
1158 (std::__debug::_Safe_node_sequence<>): New.
1159 * include/debug/safe_unordered_base.h
1160 (_Safe_unordered_container_base()): Add noexcept.
1161 (~_Safe_unordered_container_base()): Likewise.
1162 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1163 * include/debug/safe_unordered_container.h:
1164 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1165 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1166 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1168 * testsuite/util/debug/checks.h (check_construct1): Just implement
1169 an invalid constructor invocation and no other operations
1170 potentially not supported by some types of container.
1171 (check_construct2): Likewise.
1172 (check_construct3): Likewise.
1173 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1174 check on iterators to make sure they are correctly moved in debug
1176 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1178 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1179 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1180 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1181 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1183 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1184 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1186 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1187 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1188 * testsuite/23_containers/unordered_map/allocator/move.cc:
1190 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1192 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1194 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1196 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1198 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1200 * testsuite/23_containers/unordered_set/allocator/move.cc:
1202 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1204 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1206 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1208 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1210 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1212 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1214 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1215 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1216 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1217 * testsuite/23_containers/map/debug/move_neg.cc: New.
1218 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1219 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1220 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1221 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1222 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1223 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1224 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1225 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1226 * testsuite/23_containers/set/debug/move_neg.cc: New.
1227 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1229 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1231 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1232 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1234 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1236 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1238 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1240 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1242 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1244 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1246 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1248 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1249 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1251 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1253 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1254 (CXXABI_1.3.9): Remove __float128 symbols.
1256 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1259 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1260 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1261 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1262 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1264 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1267 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1268 Check the correct type in the static assertion.
1269 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1271 2014-04-27 Tim Shen <timshen91@gmail.com>
1273 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1274 Add _S_opcode_repeat support to distingush a loop from
1275 _S_opcode_alternative.
1276 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1277 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1278 _StateSeq<>::_M_clone): Likewise.
1279 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1281 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1282 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1283 Uglify local variable __i.
1284 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1285 Use size_t instead of int to compare with vector::size().
1287 2014-04-27 Tim Shen <timshen91@gmail.com>
1289 * include/bits/regex_executor.h: Add _M_rep_count to track how
1290 many times this repeat node are visited.
1291 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1292 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1295 2014-04-27 Tim Shen <timshen91@gmail.com>
1297 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1298 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1299 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1300 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1301 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1302 Adjust debug NFA dump.
1304 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1307 * include/experimental/optional (operator!=): Implement in terms of
1309 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1310 * testsuite/experimental/optional/relops/2.cc: Likewise.
1311 * testsuite/experimental/optional/relops/3.cc: Likewise.
1312 * testsuite/experimental/optional/relops/4.cc: Likewise.
1313 * testsuite/experimental/optional/relops/5.cc: Likewise.
1314 * testsuite/experimental/optional/relops/6.cc: Likewise.
1316 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1319 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1320 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1323 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1325 * testsuite/util/testsuite_abi.cc (check_version): Update for
1328 2014-04-24 Tim Shen <timshen91@gmail.com>
1330 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1331 Do _M_alt before _M_next.
1332 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1334 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1337 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1338 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1339 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1341 2014-04-24 Andreas Schwab <schwab@suse.de>
1343 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1344 new CXXABI_1.3.9 symbols.
1346 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1348 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1349 (CXXABI_1.3.9): New version.
1351 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1354 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1355 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1356 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1358 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1360 * configure.host: Remove solaris2.9 handling.
1361 Change os_include_dir to os/solaris/solaris2.10.
1362 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1363 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1364 * configure: Regenerate.
1365 * config/abi/post/solaris2.9: Remove.
1366 * config/os/solaris/solaris2.9: Rename to ...
1367 * config/os/solaris/solaris2.10: ... this.
1368 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1371 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1372 Remove Solaris 9 reference.
1373 * doc/html/manual/configure.html: Regenerate.
1375 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1376 Remove *-*-solaris2.9 xfail.
1377 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1380 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1383 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1385 * include/std/functional (__is_location_invariant): Use __or_ helper.
1387 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1390 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1393 * include/std/atomic (atomic<_Tp>): Add static assertion.
1394 * testsuite/29_atomics/atomic/60695.cc: New.
1397 * include/std/functional (function::_Callable): Exclude own type
1398 from the callable checks.
1399 * testsuite/20_util/function/60594.cc: New.
1401 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1402 const to constexpr member functions.
1404 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1405 delegating constructor.
1406 * include/bits/shared_ptr_base.h
1407 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1409 * include/std/atomic: Uglify parameter names.
1412 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1413 1.cc: Fix invalid explicit instantiations with unqualified names.
1414 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1416 * testsuite/20_util/tuple/53648.cc: Likweise.
1417 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1419 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1421 * testsuite/23_containers/unordered_map/requirements/
1422 debug_container.cc: Likewise.
1423 * testsuite/23_containers/unordered_map/requirements/
1424 explicit_instantiation/3.cc: Likewise.
1425 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1427 * testsuite/23_containers/unordered_multimap/requirements/
1428 explicit_instantiation/3.cc: Likewise.
1429 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1431 * testsuite/23_containers/unordered_multiset/requirements/
1432 explicit_instantiation/3.cc: Likewise.
1433 * testsuite/23_containers/unordered_set/requirements/
1434 debug_container.cc: Likewise.
1435 * testsuite/23_containers/unordered_set/requirements/
1436 explicit_instantiation/3.cc: Likewise.
1438 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1439 not use uninitialized members in mem-initializers.
1440 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1441 * testsuite/util/testsuite_common_types.h: Update comment.
1443 * include/experimental/string_view: Fix inconsistent exception specs.
1445 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1446 Remove name of unused parameter.
1448 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1450 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1451 _Vector_base::_M_allocate): NullablePointer requirements do not
1452 include initialization from literal zero, use value-initialization.
1453 * include/bits/vector.tcc (vector::_M_insert_aux,
1454 vector::_M_explace_back_aux): Likewise for assignment.
1456 * include/bits/allocator.h (operator==, operator!=): Add exception
1460 * include/std/tuple (get): Qualify calls to prevent ADL.
1461 * testsuite/20_util/tuple/60497.cc: New.
1463 * include/std/tuple (tuple_element_t): Define.
1464 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1466 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1468 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1471 * include/bits/stl_iterator.h (move_iterator::reference,
1472 move_iterator::operator*): Implement LWG 2106.
1473 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1475 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1477 * include/std/complex (__complex_exp, pow): Specify the template
1478 parameter in calls to std::polar, for expression templates.
1480 2014-04-10 Andreas Schwab <schwab@suse.de>
1482 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1484 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1485 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1487 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1489 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1491 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1492 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1493 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1496 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1497 Jack Howarth <howarth@bromo.med.uc.edu>
1500 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1503 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1505 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1507 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1509 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1510 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1511 * doc/xml/manual/concurrency_extensions.xml
1512 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1513 * doc/html/*: Regenerate.
1515 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1516 Jonathan Wakely <jwakely@redhat.com>
1519 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1520 string if input is not quoted.
1521 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1523 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1525 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1527 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1529 * testsuite/18_support/exception_ptr/60612-terminate.cc
1530 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1531 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1533 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1535 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1537 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1538 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1540 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1542 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1544 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1545 Fix bad s/part/chapter/ substitutions.
1546 * doc/xml/manual/io.xml (std.io): Likewise.
1547 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1548 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1550 * doc/html/*: Regenerate.
1552 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1555 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1556 compatible with __cxa_exception.
1557 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1558 Fix typos in comments.
1559 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1560 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1562 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1565 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1566 Use sizeof pointer type not the element type.
1567 * testsuite/29_atomics/atomic/60658.cc: New.
1569 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1571 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1572 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1573 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1574 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1575 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1576 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1577 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1578 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1579 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1580 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1583 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1585 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1587 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1589 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1590 to delegated constructor.
1591 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1592 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1595 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1597 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1600 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1602 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1605 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1606 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1608 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1609 from different types of debug container. Use _Is_contiguous_sequence
1610 instead of is_lvalue_reference.
1611 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1612 dereferencing past-the-end iterator.
1613 (__foreign_iterator_aux4): Use const value_type* instead of
1614 potentially user-defined const_pointer type.
1615 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1616 and pass end iterator to __gnu_debug::__foreign_iterator.
1617 (__glibcxx_check_insert_range_after): Likewise.
1618 (__glibcxx_check_max_load_factor): Fix comment.
1619 * include/debug/vector (_Is_contiguous_sequence): Define partial
1621 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1622 -std=gnu++11 option and unused header.
1623 * testsuite/23_containers/vector/debug/60587.cc: New.
1624 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1626 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1628 * crossconfig.m4: Support spu-*-elf* targets.
1629 * configure: Regenerate.
1631 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1634 * include/std/future (__future_base::_Task_state<>): Change
1635 constructors to template functions using perfect forwarding.
1636 (__create_task_state): Use decayed type as stored task.
1637 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1638 * testsuite/30_threads/packaged_task/60564.cc: New.
1640 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1642 * scripts/create_testsuite_files: Add testsuite/experimental in
1643 the list of folders to search for tests.
1645 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1647 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1649 2014-03-15 Tim Shen <timshen91@gmail.com>
1651 * include/bits/regex.h: Add/modify comments.
1652 * include/bits/regex_compiler.h: Likewise.
1653 * include/bits/regex_executor.h: Likewise.
1654 * include/bits/regex_executor.tcc: Likewise.
1655 * include/bits/regex_scanner.h: Likewise.
1657 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1660 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1661 _ZNSt12system_errorC* symbols which are not exported on any target.
1663 2014-03-12 Roland McGrath <mcgrathr@google.com>
1664 Mark Seaborn <mseaborn@google.com>
1667 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1668 the address of a null pointer, not with a null pointer to pointer.
1669 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1670 * testsuite/18_support/bad_exception/59392.cc: New file.
1672 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1675 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1677 * include/debug/map (map::operator=(map&&)): Likewise.
1678 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1679 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1680 * include/debug/set (set::operator=(set&&)): Likewise.
1681 * include/debug/unordered_map
1682 (unordered_map::operator=(unordered_map&&)): Likewise.
1683 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1684 * include/debug/unordered_set
1685 (unordered_set::operator=(unordered_set&&)): Likewise.
1686 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1687 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1688 * testsuite/23_containers/forward_list/debug/60499.cc: New
1689 * testsuite/23_containers/map/debug/60499.cc: New
1690 * testsuite/23_containers/multimap/debug/60499.cc: New
1691 * testsuite/23_containers/multiset/debug/60499.cc: New
1692 * testsuite/23_containers/set/debug/60499.cc: New
1693 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1694 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1695 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1696 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1697 * testsuite/23_containers/vector/debug/60499.cc: New
1699 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1701 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1702 for filesystem and fundamentals TS work items.
1704 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1707 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1708 Adjust dg-error directives.
1710 2014-02-26 Tim Shen <timshen91@gmail.com>
1712 * include/bits/regex.tcc (match_results<>::format,
1713 regex_replace<>): Update __out after calling std::copy.
1714 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1716 * testsuite/28_regex/match_results/format.cc: Likewise.
1718 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1721 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1722 allocator_type&)): Remove redundant call to _M_initialize_map.
1723 (deque::deque(const allocator_type&)): Initialize _Base with a
1724 constructor that calls _M_initialize_map.
1728 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1730 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1733 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1735 Rename testsuite directory shared_mutex to shared_timed_mutex
1737 * testsuite/30_threads/shared_mutex: Moved to...
1738 * testsuite/30_threads/shared_timed_mutex: ...here
1740 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1742 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1743 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1744 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1745 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1746 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1747 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1748 * testsuite/30_threads/shared_lock/requirements/
1749 explicit_instantiation.cc: Ditto.
1750 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1751 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1752 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1753 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1754 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1755 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1756 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1757 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1758 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1759 * testsuite/30_threads/shared_mutex/requirements/
1760 standard_layout.cc: Ditto.
1761 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1762 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1763 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1764 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1765 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1767 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1769 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1770 execution on i?86-*-solaris2.9, remove comment.
1771 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1773 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1775 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1776 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1777 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1779 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1781 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1782 not use varargs when argument could be non-POD.
1783 (__alloctr_rebind_helper): Eliminate static const bool member by
1784 using true_type and false_type.
1785 (allocator_traits::__allocate_helper): Likewise.
1786 (allocator_traits::__construct_helper): Likewise.
1787 (allocator_traits::__destroy_helper): Likewise.
1788 (allocator_traits::__maxsize_helper): Likewise.
1789 (allocator_traits::__select_helper): Likewise.
1790 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1791 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1792 Remove redundant condition.
1793 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1795 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1796 indirection through __alloc_traits.
1797 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1798 Eliminate static const bool members by using true_type and false_type.
1799 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1800 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1801 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1803 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1806 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1807 (vector::_M_data_ptr): New overloaded functions to ensure empty
1808 vectors do not dereference the pointer.
1809 * testsuite/23_containers/vector/59829.cc: New.
1810 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1811 Adjust dg-error line number.
1812 * testsuite/23_containers/vector/requirements/dr438/
1813 constructor_1_neg.cc: Likewise.
1814 * testsuite/23_containers/vector/requirements/dr438/
1815 constructor_2_neg.cc: Likewise.
1816 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1820 * include/ext/array_allocator.h: Add deprecated attribute.
1823 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1824 installation and use of python printers.
1825 * doc/xml/manual/status_cxx2011.xml: Update.
1826 * doc/html/*: Regenerate.
1828 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1829 Kyle Lippincott <spectral@google.com>
1832 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1833 constructor and grant friendship to weak_ptr.
1834 (weak_ptr::lock()): Use new constructor.
1835 * include/bits/shared_ptr_base.h
1836 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1837 and define specializations.
1838 (__shared_count): Add new non-throwing constructor.
1839 (__shared_ptr): Add new non-throwing constructor and grant friendship
1841 (__weak_ptr::lock()): Use new constructor.
1842 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1843 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1845 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1848 * include/bits/shared_ptr_base.h
1849 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1852 2014-01-27 Jason Merrill <jason@redhat.com>
1857 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1858 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1859 (__cxa_allocate_exception): Don't set it here.
1861 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1863 * include/bits/stl_map.h: Remove anachronistic comment.
1864 * include/bits/stl_multimap.h: Add whitespace.
1865 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1866 -std=gnu++11 instead of -std=c++11.
1867 * testsuite/23_containers/map/operators/2.cc: Likewise.
1868 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1869 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1870 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1872 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1873 * configure: Regenerate.
1875 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1878 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1879 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1881 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1882 Peter A. Bigot <pab@pabigot.com>
1885 * include/experimental/string_view
1886 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1887 Correct copy start location.
1889 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1890 Peter A. Bigot <pab@pabigot.com>
1893 * include/experimental/string_view (operator[](size_type) const):
1894 Fix one-off index error in debug check.
1895 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1896 test basic_string_view at size().
1897 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1899 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1900 Peter A. Bigot <pab@pabigot.com>
1903 * include/experimental/string_view
1904 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1905 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1906 Comment out catch of out_of_range; No terminating null
1907 in basic_string_view. Check begin == end.
1908 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1911 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1914 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1915 constructor to prevent it being implicitly defined as deleted, but
1916 do not copy anything.
1917 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1918 Define copy and move constructors similar to _Safe_sequence_base's.
1919 * testsuite/23_containers/unordered_map/59548.cc: New.
1921 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1922 Steve Ellcey <sellcey@mips.com>
1924 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1926 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1927 * (configure, config.h.in): Regenerate.
1928 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1930 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1932 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1933 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1936 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1937 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1939 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1941 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1942 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1943 functions to perform moving or copying of elements from rvalue tree.
1944 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1945 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1946 * testsuite/23_containers/map/59872.cc: New.
1947 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1949 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1951 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1954 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1955 Split into separate default constructor and constructor taking
1957 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1958 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1960 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1961 * include/debug/list (list::list(const _Allocator&)): Likewise.
1962 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1964 * include/debug/multimap.h
1965 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1966 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1968 * include/debug/multiset.h
1969 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1970 * include/debug/vector (vector::vector(const allocator_type&)):
1972 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1973 * include/profile/list (list::list(const _Allocator&)): Likewise.
1974 * include/profile/map.h
1975 (map::map(const _Compare&, const _Allocator&)): Likewise.
1976 * include/profile/multimap.h
1977 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1978 * include/profile/set.h
1979 (set::set(const _Compare&, const _Allocator&)): Likewise.
1980 * include/profile/multiset.h
1981 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1982 * include/profile/vector (vector::vector(const _Allocator&)):
1984 * testsuite/23_containers/deque/58764.cc: New.
1985 * testsuite/23_containers/list/58764.cc: New.
1986 * testsuite/23_containers/map/58764.cc: New.
1987 * testsuite/23_containers/multimap/58764.cc: New.
1988 * testsuite/23_containers/set/58764.cc: New.
1989 * testsuite/23_containers/multiset/58764.cc: New.
1990 * testsuite/23_containers/vector/58764.cc: New.
1991 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1992 Adjust dg-error line number.
1993 * testsuite/23_containers/deque/requirements/dr438/
1994 constructor_1_neg.cc: Likewise.
1995 * testsuite/23_containers/deque/requirements/dr438/
1996 constructor_2_neg.cc: Likewise.
1997 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1999 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2001 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2003 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2005 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2007 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2009 * testsuite/23_containers/vector/requirements/dr438/
2010 constructor_1_neg.cc: Likewise.
2011 * testsuite/23_containers/vector/requirements/dr438/
2012 constructor_2_neg.cc: Likewise.
2013 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2016 PR libstdc++/58764 (again)
2017 * include/bits/stl_list.h (list): Make default constructor's exception
2018 specification conditional.
2019 * include/bits/stl_vector.h (vector): Likewise.
2020 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2021 to default constructor.
2022 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2023 Adjust dg-error line number.
2024 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2026 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2028 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2030 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2032 * testsuite/23_containers/vector/requirements/dr438/
2033 constructor_1_neg.cc: Likewise.
2034 * testsuite/23_containers/vector/requirements/dr438/
2035 constructor_2_neg.cc: Likewise.
2036 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2039 2014-01-21 Tim Shen <timshen91@gmail.com>
2041 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2042 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2043 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2045 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2048 * include/bits/hashtable.h (__cache_default): Do not depend on
2049 whether the hash function is DefaultConstructible or CopyAssignable.
2050 (_Hashtable): Adjust static assertions.
2051 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2052 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2053 dg-error line number.
2054 * testsuite/23_containers/unordered_set/
2055 not_default_constructible_hash_neg.cc: Remove.
2057 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2059 * scripts/create_testsuite_files: Add testsuite/experimental in
2060 the list of folders to search for tests.
2061 * include/experimental/string_view
2062 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2063 incompatible with constexpr qualifier.
2064 (basic_string_view<>::front()): Likewise.
2065 (basic_string_view<>::back()): Likewise.
2066 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2067 Merge dg-options directives into one.
2068 * testsuite/experimental/string_view/element_access/char/2.cc:
2069 Likewise. Remove invalid experimental namespace scope on
2072 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2075 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2076 friendship to _Local_iterator_base<..., false>.
2077 (_Local_iterator_base): Give protected access to all existing members.
2078 (_Local_iterator_base::_M_curr()): New public accessor.
2079 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2080 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2081 the lifetime of the _Hash_code_base explicitly.
2082 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2083 (_Local_iterator_base<..., false>): Define copy constructor and copy
2084 assignment operator that use new functions to manage _Hash_code_base.
2085 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2086 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2087 Use public API for _Local_iterator_base.
2088 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2089 * include/debug/unordered_map (__debug::unordered_map::erase(),
2090 __debug::unordered_multimap::erase()): Likewise.
2091 * include/debug/unordered_set (__debug::unordered_set::erase(),
2092 __debug::unordered_multiset::erase()): Likewise.
2093 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2095 2014-01-19 Tim Shen <timshen91@gmail.com>
2097 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2098 Fix parse error of multiple consecutive quantifiers like "a**".
2099 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2101 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2103 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2105 * include/profile/set.h (set): Implement C++11 allocator-aware
2106 container requirements.
2107 * include/profile/map.h (map): Likewise.
2108 * include/profile/multiset.h (multiset): Likewise.
2109 * include/profile/multimap.h (multimap): Likewise.
2110 * include/profile/set.h
2111 (set::operator=(const set&)): Define as default in C++11 mode.
2112 (set::operator=(set&&)): Likewise.
2113 * include/profile/map.h
2114 (map::operator=(const map&)): Likewise.
2115 (map::operator=(map&&)): Likewise.
2116 * include/profile/multiset.h
2117 (multiset::operator=(const multiset&)): Likewise.
2118 (multiset::operator=(multiset&&)): Likewise.
2119 * include/profile/multimap.h
2120 (multimap::operator=(const multimap&)): Likewise.
2121 (multimap::operator=(multimap&&)): Likewise.
2122 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2123 Rely on the same operator from normal mode.
2124 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2126 * include/profile/multiset.h
2127 (multiset::operator=(std::initializer_list<>)): Likewise.
2128 * include/profile/multimap.h
2129 (multimap::operator=(std::initializer_list<>)): Likewise.
2130 * include/profile/set.h (set::swap(set&)): Add noexcept
2132 * include/profile/map.h (map::swap(map&)): Likewise.
2133 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2134 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2136 2014-01-17 Tim Shen <timshen91@gmail.com>
2138 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2140 * include/bits/regex_automaton.h: Do not use std::set.
2141 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2142 _BracketMatcher<>::_M_add_collating_element(),
2143 _BracketMatcher<>::_M_add_equivalence_class(),
2144 _BracketMatcher<>::_M_make_range()): Likewise.
2145 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2147 * include/bits/regex_executor.h: Do not use std::queue.
2148 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2149 _Executor<>::_M_dfs()): Likewise.
2150 * include/std/regex: Remove <map>, <set> and <queue>.
2152 2014-01-17 Tim Shen <timshen91@gmail.com>
2154 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2155 basic_regex<>::assign()): Change __compile_nfa to accept
2157 * include/bits/regex_compiler.h: Change _Compiler's template
2158 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2159 * include/bits/regex_compiler.tcc: Likewise.
2161 2014-01-17 Tim Shen <timshen91@gmail.com>
2163 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2165 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2166 _ScannerBase from _Scanner; Change _Scanner's template argument from
2167 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2169 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2170 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2171 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2173 * include/std/regex: Add <cstring> for using strchr.
2175 2014-01-17 Tim Shen <timshen91@gmail.com>
2177 * bits/regex_automaton.tcc: Indentation fix.
2178 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2179 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2180 _BracketMatcher<>): Add bool option template parameters and
2181 specializations to make matching more efficient and space saving.
2182 * bits/regex_compiler.tcc: Likewise.
2184 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2187 * include/bits/hashtable_policy.h: Fix some long lines.
2188 * include/bits/hashtable.h (__hash_code_base_access): Define and
2189 use it to check its _M_bucket_index noexcept qualification. Use
2191 (__access_protected_ctor): ...this.
2192 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2194 * testsuite/23_containers/unordered_set/
2195 not_default_constructible_hash_neg.cc: Likewise.
2197 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2199 * include/debug/set.h (set): Implement C++11 allocator-aware
2200 container requirements.
2201 * include/debug/map.h (map): Likewise.
2202 * include/debug/multiset.h (multiset): Likewise.
2203 * include/debug/multimap.h (multimap): Likewise.
2204 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2205 fix implementation regarding management of safe iterators.
2206 * include/debug/map.h (map::operator=(map&&)): Likewise.
2207 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2208 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2210 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2211 Rely on the same operator from normal mode.
2212 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2214 * include/debug/multiset.h
2215 (multiset::operator=(std::initializer_list<>)): Likewise.
2216 * include/debug/multimap.h
2217 (multimap::operator=(std::initializer_list<>)): Likewise.
2218 * include/debug/set.h (set::swap(set&)): Add noexcept
2219 specification, add allocator equality check.
2220 * include/debug/map.h (map::swap(map&)): Likewise.
2221 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2222 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2224 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2227 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2228 and stylistic improvements.
2229 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2230 and update for C++11.
2231 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2234 * doc/xml/manual/backwards_compatibility.xml
2235 (backwards.third.nocreate_noreplace): Correct and expand.
2238 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2240 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2243 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2244 support for non-Movable types.
2247 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2249 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2251 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2252 *this allocator instance when building temporary vector instance
2253 so that *this allocator does not get moved.
2254 * include/debug/safe_base.h
2255 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2256 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2257 move constructor from _Safe_sequence_base.
2258 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2259 safe iterators if the instance is moved.
2260 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2261 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2262 check on a vector iterator.
2263 * testsuite/23_containers/vector/allocator/move_assign.cc
2265 (test03): New, test with a non-propagating allocator.
2266 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2268 2014-01-07 Tim Shen <timshen91@gmail.com>
2270 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2271 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2272 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2273 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2274 _BracketMatcher<>::_M_add_char(),
2275 _BracketMatcher<>::_M_add_collating_element(),
2276 _BracketMatcher<>::_M_add_equivalence_class(),
2277 _BracketMatcher<>::_M_add_character_class(),
2278 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2279 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2280 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2281 to template parameter; Add cache for _BracketMatcher. Adjust
2282 declarations from here...
2283 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2284 imbuing a regex will trigger a recompilation to rebuild the cache.
2285 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2286 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2287 different template bool parameters.
2288 * include/bits/regex_executor.h: Remove unnecessary declarations.
2289 * include/std/regex: Adjust including orders.
2290 * testsuite/28_regex/traits/char/user_defined.cc: New.
2291 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2293 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2295 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2296 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2297 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2298 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2299 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2301 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2303 Update copyright years
2305 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2307 * testsuite/18_support/new_handler.cc,
2308 testsuite/18_support/terminate_handler.cc,
2309 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2310 the copyright notice.
2312 Copyright (C) 2014 Free Software Foundation, Inc.
2314 Copying and distribution of this file, with or without modification,
2315 are permitted in any medium without royalty provided the copyright
2316 notice and this notice are preserved.