1 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
5 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
7 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
10 * include/bits/regex.h (match_results::format): Remove stray template
12 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
13 Remove parameter name to avoid -Wunused-parameter warning.
14 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
15 mem-initializers to avoid -Wreorder warning.
16 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
17 Remove parameter name to avoid -Wunused-parameter warning.
18 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
19 to avoid -Wempty-body warning when not in debug mode.
21 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
23 * python/hook.in: Load the xmethods.
24 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
25 * python/Makefile.in: Regenerated.
26 * python/libstdcxx/v6/xmethods.py: New file.
27 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
29 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
30 python script if LOAD_XMETHODS is true.
31 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
32 * testsuite/libstdc++-xmethods/vector.cc: New file.
33 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
35 2014-09-10 Tony Wang <tony.wang@arm.com>
38 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
39 Return with CONTINUE_UNWINDING when the state pattern
40 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
42 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
44 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
45 allocator propagation.
46 (deque::emplace_front, deque::emplace_back): Use allocator traits.
47 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
48 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
49 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
50 (_Deque_iterator): Handle allocators with custom pointers.
51 (_Deque_base): Likewise. Use allocator traits.
52 (deque): Likewise. Add allocator-extended constructors.
53 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
54 assignment via tag dispatching.
55 (deque::_M_replace_map): Replace existing data.
56 * include/debug/deque (deque): Add allocator-extended constructors.
57 * include/profile/deque (deque): Likewise.
58 * testsuite/23_containers/deque/allocator/copy.cc: New.
59 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
60 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
61 * testsuite/23_containers/deque/allocator/minimal.cc: New.
62 * testsuite/23_containers/deque/allocator/move.cc: New.
63 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
64 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
65 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
66 * testsuite/23_containers/deque/allocator/swap.cc: New.
67 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
68 Adjust dg-error line number.
69 * testsuite/23_containers/deque/requirements/dr438/
70 constructor_1_neg.cc: Likewise.
71 * testsuite/23_containers/deque/requirements/dr438/
72 constructor_2_neg.cc: Likewise.
73 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
75 * testsuite/23_containers/vector/52591.cc: Test both the propagating
76 and always-equal cases.
78 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
80 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
82 (_Hash_code_base<>): All specialization default constructible if
84 (_Hashtable_base<>): Likewise.
85 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
86 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
87 implementation defaulted.
88 (unordered_multimap<>::unordered_multimap()): Likewise.
89 * include/bits/unordered_set.h
90 (unordered_set<>::unordered_set()): Likewise.
91 (unordered_multiset<>::unordered_multiset()): Likewise.
92 * include/debug/unordered_map: Likewise.
93 * include/debug/unordered_set: Likewise.
94 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
96 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
98 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
100 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
103 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
105 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
107 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
109 * include/std/complex (complex): Define copy constructor and
110 assignment operator as defaulted. Improve Doxygen comments.
112 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
114 * testsuite/ext/random/*: Fix incorrect standard references in
117 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
120 * include/Makefile.am (install-freestanding-headers): Add missing
122 * include/Makefile.in: Regenerate.
124 2014-08-21 Tony Wang <tony.wang@arm.com>
126 * testsuite/18_support/nested_exception/62154.cc: Disable when the
127 target doesn't provide atomic builtins.
129 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
130 Kai Tietz <ktietz@redhat.com>
132 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
134 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
136 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
137 #include <windows.h>.
138 (struct elt): Add dll member.
139 (run): Decrement dll refcount.
140 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
142 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
145 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
146 Rewrite to conform to C++11 requirements.
147 * testsuite/18_support/nested_exception/62154.cc: New.
149 2014-08-14 Matthias Klose <doko@ubuntu.com>
151 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
152 Remove empty directory.
154 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
156 * testsuite/26_numerics/random/linear_congruential_engine/
157 requirements/non_uint_neg.cc: Adjust for parser change.
158 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
159 requirements/non_uint_neg.cc: Likewise.
161 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
164 * include/std/thread (thread::_M_start_thread): Declare new overload.
165 (thread::thread<_Callable, _Args...>): Call new overload with an
166 explicit reference to pthread_create.
167 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
168 * config/abi/pre/gnu.ver: Export new function.
170 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
172 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
174 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
176 * Fix thinko in the last commit.
178 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
181 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
182 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
184 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
186 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
187 and add overloads for rvalue streams.
188 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
190 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
193 * include/bits/basic_string.h (getline): Declare inline.
195 2014-08-09 Ulrich Drepper <drepper@gmail.com>
197 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
198 (uniform_on_sphere_distribution::operator()): Use the new helper
199 class for the implementation.
201 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
202 equal.cc: Remove bogus part of comment.
203 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
204 inequal.cc: Likewise.
205 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
206 serialize.cc: Add check to verify result of serialzation and
208 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
209 generate.cc: New file.
211 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
213 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
214 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
216 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
219 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
220 _M_need_rehash to initialize the rehash policy and check if a rehash is
222 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
224 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
226 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
228 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
229 Adjust dg-error line number.
230 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
232 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
234 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
237 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
239 (_State_baseV2::_M_do_set): Change parameters to pointers.
240 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
241 (_State_baseV2::__setter): Initialize _Setter with pointers.
242 (_State_baseV2::__setter(promise<void>*)): Remove overload.
243 (promise::set_value, promise::set_exception): Pass setter directly
245 (_State_baseV2::_Task_setter): Add template parameter for callable
246 type and replace std::function member with pointer to that type.
247 Change _M_result member from reference to pointer.
248 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
249 and initialize _Task_setter with pointers.
250 (__location_invariant): Specialize for _Setter and _Task_setter.
252 * include/std/future (__location_invariant): Move specializations
253 after preprocessor condition.
255 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
258 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
260 2014-08-01 Zifei Tong <zifeitong@gmail.com>
262 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
263 _GLIBCXX_ prefix to macro.
265 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
267 * python/libstdcxx/v6/printers.py
268 (SingleObjContainerPrinter._contained): Use compatibility mixin.
270 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
272 * testsuite/util/testsuite_allocator.h
273 (tracker_allocator_counter::allocate): Remove new invocation, only
275 (tracker_allocator_counter::deallocate): Remove delete invocation, only
277 (check_inconsistent_alloc_value_type): New.
278 (tracker_allocator): Transform as a facade for any allocator type.
279 (uneq_allocator): Likewise.
280 (propagating_allocator): Likewise.
281 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
282 explicitly non propagating allocator.
283 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
284 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
285 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
286 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
287 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
289 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
291 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
293 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
295 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
297 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
300 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
301 const allocator_type&)): Pass non-const allocator to
303 * testsuite/ext/rope/61946.cc: New.
306 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
307 disambiguate unary constructors.
308 (_Tuple_impl): Pass allocator_arg_t arguments.
309 * testsuite/20_util/tuple/61947.cc: New.
310 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
312 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
314 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
315 * include/bits/random.h (_Adaptor): static_assert for non floating-point
317 * include/bits/random.tcc (generate_canonical): Ditto.
318 * include/ext/random.tcc (hypergeometric_distribution::operator()):
319 Use double as a rng result type.
320 * testsuite/26_numerics/random/pr60037-neg.cc: New.
321 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
323 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
325 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
327 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
329 * include/experimental/string_view: Make the literal operators
330 constexpr like the ctors they call.
332 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
334 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
336 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
338 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
339 to string instead of using gdb.Type.name attribute.
341 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
343 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
346 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
349 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
351 (SingleObjContainerPrinter): Check if type printers are in use.
353 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
355 * include/ext/random: Minor formatting and cosmetic tweaks.
356 (uniform_on_sphere_distribution<>::operator==
357 (const uniform_on_sphere_distribution&,
358 const uniform_on_sphere_distribution&)): Compare the _M_nds.
359 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
360 (operator!=(const uniform_on_sphere_distribution&,
361 const uniform_on_sphere_distribution&)): Adjust.
362 * include/ext/random.tcc: Minor cosmetc tweaks.
364 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
366 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
367 printer for class templates.
368 (register_type_printers): Use TemplateTypePrinter for containers
369 and other class templates with default template arguments.
370 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
372 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
373 base class for experimental::any and experimental::optional printers.
374 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
375 New printers for Fundamentals TS types.
376 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
378 2014-07-15 Tim Shen <timshen@google.com>
381 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
382 Clear match queue for next use.
383 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
385 2014-07-14 Ulrich Drepper <drepper@gmail.com>
387 * include/ext/random.tcc: Unfortunately more fixes for
388 operator>> and operator<< for uniform_on_sphere_distribution.
390 2014-07-13 Ulrich Drepper <drepper@gmail.com>
392 * include/ext/random.tcc: Fix operator>> and operator<< for
393 uniform_on_sphere_distribution.
395 2014-07-12 Ulrich Drepper <drepper@gmail.com>
397 * include/ext/random: Add uniform_on_sphere_distribution definition.
398 * include/ext/random.tcc: Add out-of-band member function definitions
399 for uniform_on_sphere_distribution.
400 * testsuite/ext/random/uniform_on_sphere_distribution/
401 cons/default.cc: New file.
402 * testsuite/ext/random/uniform_on_sphere_distribution/
403 operators/equal.cc: New file.
404 * testsuite/ext/random/uniform_on_sphere_distribution/
405 operators/inequal.cc: New file.
406 * testsuite/ext/random/uniform_on_sphere_distribution/
407 operators/serialize.cc: New file.
409 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
411 Add the logistic_distribution as an extension.
412 * include/ext/random: Add the logistic_distribution.
413 * include/ext/random.tcc: Add the logistic_distribution.
414 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
415 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
416 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
418 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
419 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
420 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
423 2014-07-11 Samuel Bronson <naesten@gmail.com>
425 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
426 instead of insisting that GCC understand -fdiagnostics-color=never
428 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
431 2014-07-11 Samuel Bronson <naesten@gmail.com>
432 Matthias Klose <doko@ubuntu.com>
435 * python/libstdcxx/v6/printers.py: Port to Python 2+3
436 (imap): New compat function.
438 (Iterator): New mixin to allow writing iterators in Python 3 style
439 regardless of which version we're running on.
440 [Python3] (long) New compat alias for "int".
441 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
443 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
445 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
446 tuple members to simplify pretty printing.
447 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
449 * testsuite/experimental/any/cons/4.cc: New.
451 2014-07-09 Jason Merrill <jason@redhat.com>
454 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
455 * libsupc++/tinfo.h: Not here.
457 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
459 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
461 * include/experimental/any: Remove unused header.
462 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
463 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
464 * testsuite/util/testsuite_regex.h: Move include guard.
466 2014-07-01 Tim Shen <timshen@google.com>
470 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
471 a NFA state limit. If it's exceeded, regex_constants::error_space
473 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
474 map (which is sparse) instead of vector. This reduce n times clones'
475 cost from O(n^2) to O(n).
476 * include/std/regex: Add map dependency.
477 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
480 2014-07-01 Tim Shen <timshen@google.com>
483 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
484 not just regex containing back-references.
485 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
486 exchange _M_next and _M_alt for alternative operator,
487 making matching from left to right.
488 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
489 Add position tracking fom DFS.
490 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
491 _Executor<>::_M_dfs): Likewise.
492 * include/bits/regex_scanner.h: Remove unused enum entry.
493 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
496 2014-06-30 Jason Merrill <jason@redhat.com>
498 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
501 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
504 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
505 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
508 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
510 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
512 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
514 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
516 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
519 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
521 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
522 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
523 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
525 * include/ext/alloc_traits.h: Fix comment.
527 * include/Makefile.am: Add new header.
528 * include/Makefile.in: Regenerate.
529 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
530 New RAII utilities for working with allocators.
531 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
532 __allocator_type typedef and use new __allocated_ptr type.
533 (_Sp_counted_ptr_inplace): Likewise.
534 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
535 __allocate_guarded to to simplify exception handling.
536 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
537 * include/std/future (_Result_alloc::_M_destroy): Likewise.
538 (_Result_alloc::_S_allocate_result): Likewise.
539 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
540 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
541 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
542 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
544 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
546 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
548 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
549 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
551 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
553 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
554 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
555 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
556 Remove unused typedef.
557 (time_get::do_get_monthname): Likewise.
558 * include/bits/stl_tree.h: Add system_header pragma.
559 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
560 redundant const-qualifier.
561 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
562 instead of _GLIBCXX_USE_CONSTEXPR.
564 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
566 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
567 * include/std/chrono (_Checked_integral_constant): Allow zero.
568 * testsuite/20_util/duration/literals/values.cc: Test non-positive
569 values and digit separators.
570 * include/experimental/any
573 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
574 apply the signed specifier to wchar_t.
575 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
576 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
577 cv-qualifier and size.
578 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
581 * include/experimental/any (any_v1): Rename namespace to
582 fundamentals_v1. Change string returned by bad_any_cast::what().
583 * include/experimental/optional (fundamentals_v1): Add namespace.
584 * include/experimental/string_view (fundamentals_v1): Likewise.
585 * testsuite/experimental/any/typedefs.cc: New.
586 * testsuite/experimental/optional/typedefs.cc: New.
587 * testsuite/experimental/string_view/typedefs.cc: New.
589 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
590 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
593 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
595 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
597 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
598 * include/Makefile.am: Add new header.
599 * include/Makefile.in: Regenerate.
600 * include/experimental/any: New.
601 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
603 * testsuite/experimental/any/assign/1.cc: New.
604 * testsuite/experimental/any/assign/2.cc: New.
605 * testsuite/experimental/any/cons/1.cc: New.
606 * testsuite/experimental/any/cons/2.cc: New.
607 * testsuite/experimental/any/cons/3.cc: New.
608 * testsuite/experimental/any/misc/any_cast.cc: New.
609 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
610 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
611 * testsuite/experimental/any/misc/swap.cc: New.
612 * testsuite/experimental/any/modifiers/1.cc: New.
613 * testsuite/experimental/any/observers/type.cc: New.
615 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
616 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
618 * include/bits/shared_ptr.h (shared_ptr): Likewise.
619 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
621 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
623 * include/parallel/list_partition.h (__parallel::list_partition):
625 * include/std/iomanip (quoted): Likewise.
626 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
628 * doc/xml/api.xml: Link to more recent API docs.
629 * include/bits/allocator.h: Fix link in doxygen comment.
630 * include/bits/char_traits.h: Likewise.
631 * include/bits/ios_base.h: Likewise.
632 * include/bits/stl_map.h: Likewise.
633 * include/bits/stl_multimap.h: Likewise.
634 * include/bits/stl_multiset.h: Likewise.
635 * include/bits/stl_set.h: Likewise.
636 * include/bits/unordered_map.h: Likewise.
637 * include/bits/unordered_set.h: Likewise.
638 * include/ext/mt_allocator.h: Likewise.
639 * include/std/fstream: Likewise.
640 * include/std/iosfwd: Likewise.
641 * include/std/ostream: Likewise.
642 * include/std/sstream: Likewise.
643 * include/std/streambuf: Likewise.
644 * doc/html/*: Regenerate.
646 * include/experimental/any (any_cast): Combine duplicate doxygen
648 * include/experimental/string_view (basic_string_view): Update
650 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
651 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
652 (dynamic_bitset): Improve Doxygen comments.
653 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
656 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
658 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
659 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
661 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
664 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
665 (bin_search_tree_traits): Do not redeclare template-parameters.
666 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
668 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
670 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
671 parameter for DocBook HTML generation.
672 * doc/Makefile.in: Regenerate.
673 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
674 * doc/xml/faq.xml: Update content and improve formatting.
675 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
676 * doc/xml/manual/allocator.xml: Add stable ID attribute.
677 * doc/xml/manual/bitmap_allocator.xml: Likewise.
678 * doc/xml/manual/build_hacking.xml: Likewise.
679 * doc/xml/manual/codecvt.xml: Change URL.
680 * doc/xml/manual/ctype.xml: Add stable ID attribute.
681 * doc/xml/manual/debug_mode.xml: Likewise.
682 * doc/xml/manual/documentation_hacking.xml: Likewise.
683 * doc/xml/manual/evolution.xml: Likewise.
684 * doc/xml/manual/extensions.xml: Likewise.
685 * doc/xml/manual/locale.xml: Likewise.
686 * doc/xml/manual/messages.xml: Make section id consistent, improve
688 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
689 * doc/xml/manual/profile_mode.xml: Likewise.
690 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
691 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
692 * doc/xml/manual/status_cxx2011.xml: Likewise.
693 * doc/xml/manual/status_cxx2014.xml: Likewise.
694 * doc/xml/manual/status_cxxtr1.xml: Likewise.
695 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
696 * doc/xml/manual/using.xml: Likewise.
697 * doc/html/*: Regenerate.
699 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
701 * include/tr1/beta_function.tcc: Fix spelling of include guard in
704 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
706 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
708 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
710 DR 2344 - std::quoted doesn't respect padding
711 * include/std/iomanip: Allow for padding in quoted inserters.
712 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
713 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
715 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
717 * testsuite/23_containers/map/operators/1.cc: Simplify test.
719 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
721 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
723 * doc/xml/manual/backwards_compatibility.xml
724 (backwards.second.stringstreams): Likewise.
725 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
727 * doc/xml/manual/containers.xml (associative.bitset.type_string):
728 Replace <quote> in code example.
729 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
730 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
731 fix typos, improve markup.
732 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
733 <emphasis> with <replaceable>.
734 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
735 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
736 and remove newlines in string literal.
738 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
742 * testsuite/20_util/is_assignable/value.cc: Update.
744 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
746 * include/std/condition_variable (condition_variable_any::_Unlock): Do
747 not swallow __forced_unwind.
748 * include/std/future (__future_base::_Task_setter): Likewise.
749 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
751 * include/std/mutex (try_lock): Likewise.
752 * testsuite/30_threads/async/forced_unwind.cc: New.
753 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
755 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
756 members to avoid wasted space when not using a cache.
757 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
758 * include/bits/regex_compiler.tcc
759 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
761 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
762 New enumeration type to indicate match mode.
763 (__detail::_Executor::_State_info): New type holding members only
764 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
766 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
767 Replace template parameter with run-time function parameter.
768 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
769 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
770 implement DFS and BFS mode.
771 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
772 Split implementation into ...
773 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
774 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
775 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
776 argument instead of template argument.
777 (__detail::_Executor::_M_dfs): Likewise.
778 * include/bits/regex_scanner.tcc: Fix typos in comments.
779 * testsuite/performance/28_regex/range.cc: New.
781 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
782 Jonathan Wakely <jwakely@redhat.com>
784 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
786 (aligned_union): New struct (C++11).
787 (aligned_union_t): New type alias (C++14).
788 * doc/xml/manual/status_cxx2011.xml: Update.
789 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
790 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
793 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
796 * include/experimental/string_view (operator basic_string): Correct
798 (to_string): Replace with member function.
799 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
800 allow _M_str to be null.
801 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
802 default constructor semantics.
803 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
804 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
805 copyright dates. Remove unused header.
806 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
808 * testsuite/experimental/string_view/operations/data/char/1.cc:
809 Fix copyright dates. Adjust to new default constructor semantics.
810 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
812 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
814 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
815 (__uses_allocator_arg): Remove unused type.
816 (__uses_alloc0): Turn into a trivial type.
817 (__uses_alloc): Add missing template parameter in primary template.
818 (__uses_alloc_impl): Rename to __uses_alloc_t.
820 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
822 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
823 work with previous versions of Tcl.
825 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
826 Benjamin's old email address.
828 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
831 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
833 * include/tr2/bool_set: Use UTF-8 for accented characters.
834 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
835 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
836 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
838 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
841 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
843 (_State_base::_M_dot): Likewise.
845 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
847 * include/profile/map.h: Fix typo in comment; minor formatting fix.
848 * include/profile/multimap.h: Likewise.
849 * include/profile/set.h: Likewise.
850 * include/profile/multiset.h: Likewise.
852 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
854 * include/profile/array: Clean useless white chars.
855 * include/profile/base.h: Likewise.
856 * include/profile/iterator_tracker.h: Likewise.
857 * include/profile/bitset: Code cleanup and remove not instrumented code.
858 * include/profile/deque: Likewise.
859 * include/profile/forward_list: Likewise.
860 * include/profile/list (std::__profile::_List_profile<>): New.
861 (std::__profile::list<>): Inherit from latter and adapt.
862 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
863 advise to match any ordered to unordered container conversion.
864 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
866 * include/Makefile.am: Add latter.
867 * include/Makefile.in: Regenerate.
868 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
869 remove not instrumented code.
870 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
871 * include/profile/set.h (std::__profile::set<>): Likewise.
872 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
873 * include/profile/unordered_base.h: Add some line feed.
874 * include/profile/unordered_map: Clean useless white chars and replace
876 * include/profile/unordered_set: Likewise.
877 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
878 (std::__profile::_Vector_profile_post<>): New.
879 (std::__profile::vector<>): Inherit from latter and adapt.
881 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
884 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
885 dragonfly target selector to all tests that run on freebsd.
887 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
889 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
890 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
892 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
894 * testsuite/30_threads/call_once/60497.cc: Likewise.
895 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
896 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
897 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
898 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
899 * testsuite/30_threads/promise/60966.cc: Likewise.
900 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
901 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
902 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
903 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
904 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
905 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
906 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
907 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
908 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
909 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
910 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
911 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
912 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
913 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
914 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
915 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
916 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
918 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
921 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
923 * testsuite/23_containers/unordered_set/61143.cc: New.
924 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
926 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
929 * include/std/type_traits: Move include outside namespace std.
930 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
931 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
932 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
935 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
938 2014-05-21 John Marino <gnugcc@marino.st>
940 * acinclude.m4 (*-*-dragonfly*): New target.
941 * configure: Regenerate.
942 * configure.host (*-*-dragonfly*): New target.
943 * config/locale/dragonfly/c_locale.cc: New.
944 * config/locale/dragonfly/ctype_members.cc: New.
945 * config/os/bsd/dragonfly/ctype_base.h: New.
946 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
947 * config/os/bsd/dragonfly/ctype_inline.h: New.
948 * config/os/bsd/dragonfly/os_defines.h: New.
950 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
952 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
953 libstdc++.exp imports those flags via getenv.
954 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
955 CXXFLAGS contains a '-O' flag.
957 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
961 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
964 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
965 and add unwind directives.
967 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
969 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
971 2014-05-20 Tim Shen <timshen91@gmail.com>
974 * include/bits/regex_compiler.h
975 (_BracketMatcher<>::_M_add_character_class): Add negative character
977 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
979 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
982 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
984 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
986 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
988 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
989 * libsupc++/new_opnt.cc: Likewise.
991 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
994 * include/std/future (__future_base::_State_baseV2::_M_set_result):
995 Pass lock into _M_do_set and hold it until the function returns.
996 Signal condition variable after call_once completes.
997 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
999 * testsuite/30_threads/promise/60966.cc: New.
1001 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1002 Sandra Loosemore <sandra@codesourcery.com>
1004 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1005 until after checking that the test is eligible to be run.
1007 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1009 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1010 test for 32-bit target.
1011 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1013 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1016 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1019 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1020 and add unwind directives.
1022 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1024 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1026 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1028 (chrono_literals::_Checked_integral_constant): Define.
1029 Simplify UDL operator templates and check for overflow.
1030 * testsuite/20_util/duration/literals/range.cc: New.
1032 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1033 Jonathan Wakely <jwakely@redhat.com>
1036 * include/bits/parse_numbers.h: Use integral_constant to remove
1037 duplication and simplify.
1038 * testsuite/20_util/duration/literals/61166.cc: New.
1040 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1043 * include/std/type_traits (__make_unsigned, __make_signed): Define
1044 specializations for wchar_t, char16_t and char32_t.
1045 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1046 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1047 test for make_unsigned<volatile wchar_t>.
1048 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1050 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1052 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1054 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1057 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1059 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1060 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1061 * include/std/utility (tuple_size, tuple_element): Likewise.
1062 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1063 Adjust dg-error line number.
1065 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1067 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1068 (__tuple_element_t): Define.
1069 (tuple_element): Use __tuple_element_t.
1070 (__cv_tuple_size): Define.
1071 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1072 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1073 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1074 (__tuple_compare): Remove size check, re-order parameters.
1075 (operator==, operator<): Use static_assert to check requirements.
1076 * include/std/functional (__volget): use __tuple_element_t.
1077 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1078 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1080 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1083 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1084 prevent ADL. Cast comparison results to bool.
1085 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1086 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1089 * include/debug/array (get): Qualify call to other get overload.
1090 * include/profile/array (get): Likewise.
1091 * include/std/array (get): Likewise.
1092 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1093 * include/std/mutex (unique_lock, call_once): Use __addressof.
1094 (__unlock_impl): Remove unused template.
1095 (__try_to_lock): Declare inline.
1096 (__try_lock_impl::__do_try_lock): Qualify function calls.
1097 (lock): Avoid narrowing conversion.
1098 * testsuite/20_util/bind/60497.cc: New.
1099 * testsuite/23_containers/array/element_access/60497.cc: New.
1100 * testsuite/30_threads/call_once/60497.cc: New.
1101 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1103 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1105 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1106 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1107 * acinclude.m4 (libtool_VERSION): Bump.
1108 * configure: Regenerate.
1109 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1110 * testsuite/28_regex/regex_error/base.cc: New.
1112 2014-05-08 Joshua Gay <jgay@gnu.org>
1115 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1116 source" with "free software".
1117 * doc/html/faq.html: Likewise.
1119 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1122 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1124 (operator=(const ios_base&)): Likewise.
1125 * include/std/streambuf: Remove trailing whitespace.
1126 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1127 _M_out_end. Define as defaulted for C++11.
1128 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1129 (swap(basic_streambuf&)): Define for C++11.
1130 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1133 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1135 * include/std/iostream: Fix URL in comment.
1136 * src/c++98/ios_init.cc: Fix path in comment.
1138 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1140 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1141 * configure: Regenerate.
1143 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1146 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1147 comparison function.
1148 * testsuite/23_containers/set/cons/61023.cc: New.
1151 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1153 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1154 arithmetic to obtain a mutable iterator from const_iterator.
1155 * include/bits/vector.tcc (vector::insert): Likewise.
1156 * include/debug/vector (vector::erase): Likewise.
1157 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1158 Adjust dg-error line number.
1159 * testsuite/23_containers/vector/requirements/dr438/
1160 constructor_1_neg.cc: Likewise.
1161 * testsuite/23_containers/vector/requirements/dr438/
1162 constructor_2_neg.cc: Likewise.
1163 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1166 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1168 * include/Makefile.in: Regenerate.
1170 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1172 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1173 parameter to pass the 2 instances to check allocator equality.
1174 * include/debug/safe_container.h: New, define _Safe_container<>.
1175 * include/Makefile.am: Add previous.
1176 * include/debug/deque (std::__debug::deque<>): Inherit
1177 _Safe_container<>. Use default implementation for all special
1179 * include/debug/forward_list (std::__debug::forward_list<>):
1181 * include/debug/list (std::__debug::list<>): Likewise.
1182 * include/debug/map.h (std::__debug::map<>): Likewise.
1183 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1184 * include/debug/set.h (std::__debug::set<>): Likewise.
1185 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1186 * include/debug/string (std::__debug::basic_string<>): Likewise.
1187 * include/debug/unordered_map
1188 (std::__debug::unordered_map<>): Likewise.
1189 (std::__debug::unordered_multimap<>): Likewise.
1190 * include/debug/unordered_set
1191 (std::__debug::unordered_set<>): Likewise.
1192 (std::__debug::unordered_multiset<>): Likewise.
1193 * include/debug/vector (std::__debug::vector<>): Likewise.
1194 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1196 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1197 (~_Safe_sequence_base()): Add noexcept.
1198 * include/debug/safe_sequence.h
1199 (std::__debug::_Safe_node_sequence<>): New.
1200 * include/debug/safe_unordered_base.h
1201 (_Safe_unordered_container_base()): Add noexcept.
1202 (~_Safe_unordered_container_base()): Likewise.
1203 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1204 * include/debug/safe_unordered_container.h:
1205 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1206 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1207 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1209 * testsuite/util/debug/checks.h (check_construct1): Just implement
1210 an invalid constructor invocation and no other operations
1211 potentially not supported by some types of container.
1212 (check_construct2): Likewise.
1213 (check_construct3): Likewise.
1214 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1215 check on iterators to make sure they are correctly moved in debug
1217 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1219 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1220 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1221 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1222 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1224 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1225 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1227 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1228 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1229 * testsuite/23_containers/unordered_map/allocator/move.cc:
1231 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1233 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1235 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1237 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1239 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1241 * testsuite/23_containers/unordered_set/allocator/move.cc:
1243 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1245 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1247 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1249 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1251 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1253 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1255 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1256 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1257 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1258 * testsuite/23_containers/map/debug/move_neg.cc: New.
1259 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1260 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1261 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1262 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1263 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1264 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1265 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1266 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1267 * testsuite/23_containers/set/debug/move_neg.cc: New.
1268 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1270 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1272 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1273 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1275 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1277 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1279 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1281 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1283 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1285 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1287 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1289 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1290 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1292 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1294 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1295 (CXXABI_1.3.9): Remove __float128 symbols.
1297 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1300 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1301 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1302 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1303 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1305 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1308 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1309 Check the correct type in the static assertion.
1310 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1312 2014-04-27 Tim Shen <timshen91@gmail.com>
1314 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1315 Add _S_opcode_repeat support to distingush a loop from
1316 _S_opcode_alternative.
1317 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1318 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1319 _StateSeq<>::_M_clone): Likewise.
1320 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1322 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1323 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1324 Uglify local variable __i.
1325 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1326 Use size_t instead of int to compare with vector::size().
1328 2014-04-27 Tim Shen <timshen91@gmail.com>
1330 * include/bits/regex_executor.h: Add _M_rep_count to track how
1331 many times this repeat node are visited.
1332 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1333 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1336 2014-04-27 Tim Shen <timshen91@gmail.com>
1338 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1339 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1340 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1341 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1342 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1343 Adjust debug NFA dump.
1345 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1348 * include/experimental/optional (operator!=): Implement in terms of
1350 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1351 * testsuite/experimental/optional/relops/2.cc: Likewise.
1352 * testsuite/experimental/optional/relops/3.cc: Likewise.
1353 * testsuite/experimental/optional/relops/4.cc: Likewise.
1354 * testsuite/experimental/optional/relops/5.cc: Likewise.
1355 * testsuite/experimental/optional/relops/6.cc: Likewise.
1357 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1360 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1361 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1364 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1366 * testsuite/util/testsuite_abi.cc (check_version): Update for
1369 2014-04-24 Tim Shen <timshen91@gmail.com>
1371 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1372 Do _M_alt before _M_next.
1373 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1375 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1378 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1379 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1380 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1382 2014-04-24 Andreas Schwab <schwab@suse.de>
1384 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1385 new CXXABI_1.3.9 symbols.
1387 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1389 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1390 (CXXABI_1.3.9): New version.
1392 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1395 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1396 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1397 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1399 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1401 * configure.host: Remove solaris2.9 handling.
1402 Change os_include_dir to os/solaris/solaris2.10.
1403 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1404 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1405 * configure: Regenerate.
1406 * config/abi/post/solaris2.9: Remove.
1407 * config/os/solaris/solaris2.9: Rename to ...
1408 * config/os/solaris/solaris2.10: ... this.
1409 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1412 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1413 Remove Solaris 9 reference.
1414 * doc/html/manual/configure.html: Regenerate.
1416 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1417 Remove *-*-solaris2.9 xfail.
1418 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1421 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1424 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1426 * include/std/functional (__is_location_invariant): Use __or_ helper.
1428 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1431 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1434 * include/std/atomic (atomic<_Tp>): Add static assertion.
1435 * testsuite/29_atomics/atomic/60695.cc: New.
1438 * include/std/functional (function::_Callable): Exclude own type
1439 from the callable checks.
1440 * testsuite/20_util/function/60594.cc: New.
1442 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1443 const to constexpr member functions.
1445 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1446 delegating constructor.
1447 * include/bits/shared_ptr_base.h
1448 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1450 * include/std/atomic: Uglify parameter names.
1453 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1454 1.cc: Fix invalid explicit instantiations with unqualified names.
1455 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1457 * testsuite/20_util/tuple/53648.cc: Likweise.
1458 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1460 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1462 * testsuite/23_containers/unordered_map/requirements/
1463 debug_container.cc: Likewise.
1464 * testsuite/23_containers/unordered_map/requirements/
1465 explicit_instantiation/3.cc: Likewise.
1466 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1468 * testsuite/23_containers/unordered_multimap/requirements/
1469 explicit_instantiation/3.cc: Likewise.
1470 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1472 * testsuite/23_containers/unordered_multiset/requirements/
1473 explicit_instantiation/3.cc: Likewise.
1474 * testsuite/23_containers/unordered_set/requirements/
1475 debug_container.cc: Likewise.
1476 * testsuite/23_containers/unordered_set/requirements/
1477 explicit_instantiation/3.cc: Likewise.
1479 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1480 not use uninitialized members in mem-initializers.
1481 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1482 * testsuite/util/testsuite_common_types.h: Update comment.
1484 * include/experimental/string_view: Fix inconsistent exception specs.
1486 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1487 Remove name of unused parameter.
1489 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1491 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1492 _Vector_base::_M_allocate): NullablePointer requirements do not
1493 include initialization from literal zero, use value-initialization.
1494 * include/bits/vector.tcc (vector::_M_insert_aux,
1495 vector::_M_explace_back_aux): Likewise for assignment.
1497 * include/bits/allocator.h (operator==, operator!=): Add exception
1501 * include/std/tuple (get): Qualify calls to prevent ADL.
1502 * testsuite/20_util/tuple/60497.cc: New.
1504 * include/std/tuple (tuple_element_t): Define.
1505 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1507 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1509 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1512 * include/bits/stl_iterator.h (move_iterator::reference,
1513 move_iterator::operator*): Implement LWG 2106.
1514 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1516 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1518 * include/std/complex (__complex_exp, pow): Specify the template
1519 parameter in calls to std::polar, for expression templates.
1521 2014-04-10 Andreas Schwab <schwab@suse.de>
1523 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1525 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1526 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1528 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1530 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1532 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1533 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1534 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1537 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1538 Jack Howarth <howarth@bromo.med.uc.edu>
1541 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1544 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1546 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1548 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1550 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1551 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1552 * doc/xml/manual/concurrency_extensions.xml
1553 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1554 * doc/html/*: Regenerate.
1556 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1557 Jonathan Wakely <jwakely@redhat.com>
1560 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1561 string if input is not quoted.
1562 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1564 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1566 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1568 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1570 * testsuite/18_support/exception_ptr/60612-terminate.cc
1571 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1572 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1574 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1576 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1578 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1579 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1581 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1583 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1585 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1586 Fix bad s/part/chapter/ substitutions.
1587 * doc/xml/manual/io.xml (std.io): Likewise.
1588 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1589 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1591 * doc/html/*: Regenerate.
1593 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1596 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1597 compatible with __cxa_exception.
1598 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1599 Fix typos in comments.
1600 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1601 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1603 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1606 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1607 Use sizeof pointer type not the element type.
1608 * testsuite/29_atomics/atomic/60658.cc: New.
1610 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1612 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1613 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1614 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1615 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1616 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1617 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1618 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1619 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1620 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1621 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1624 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1626 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1628 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1630 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1631 to delegated constructor.
1632 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1633 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1636 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1638 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1641 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1643 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1646 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1647 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1649 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1650 from different types of debug container. Use _Is_contiguous_sequence
1651 instead of is_lvalue_reference.
1652 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1653 dereferencing past-the-end iterator.
1654 (__foreign_iterator_aux4): Use const value_type* instead of
1655 potentially user-defined const_pointer type.
1656 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1657 and pass end iterator to __gnu_debug::__foreign_iterator.
1658 (__glibcxx_check_insert_range_after): Likewise.
1659 (__glibcxx_check_max_load_factor): Fix comment.
1660 * include/debug/vector (_Is_contiguous_sequence): Define partial
1662 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1663 -std=gnu++11 option and unused header.
1664 * testsuite/23_containers/vector/debug/60587.cc: New.
1665 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1667 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1669 * crossconfig.m4: Support spu-*-elf* targets.
1670 * configure: Regenerate.
1672 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1675 * include/std/future (__future_base::_Task_state<>): Change
1676 constructors to template functions using perfect forwarding.
1677 (__create_task_state): Use decayed type as stored task.
1678 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1679 * testsuite/30_threads/packaged_task/60564.cc: New.
1681 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1683 * scripts/create_testsuite_files: Add testsuite/experimental in
1684 the list of folders to search for tests.
1686 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1688 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1690 2014-03-15 Tim Shen <timshen91@gmail.com>
1692 * include/bits/regex.h: Add/modify comments.
1693 * include/bits/regex_compiler.h: Likewise.
1694 * include/bits/regex_executor.h: Likewise.
1695 * include/bits/regex_executor.tcc: Likewise.
1696 * include/bits/regex_scanner.h: Likewise.
1698 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1701 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1702 _ZNSt12system_errorC* symbols which are not exported on any target.
1704 2014-03-12 Roland McGrath <mcgrathr@google.com>
1705 Mark Seaborn <mseaborn@google.com>
1708 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1709 the address of a null pointer, not with a null pointer to pointer.
1710 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1711 * testsuite/18_support/bad_exception/59392.cc: New file.
1713 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1716 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1718 * include/debug/map (map::operator=(map&&)): Likewise.
1719 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1720 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1721 * include/debug/set (set::operator=(set&&)): Likewise.
1722 * include/debug/unordered_map
1723 (unordered_map::operator=(unordered_map&&)): Likewise.
1724 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1725 * include/debug/unordered_set
1726 (unordered_set::operator=(unordered_set&&)): Likewise.
1727 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1728 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1729 * testsuite/23_containers/forward_list/debug/60499.cc: New
1730 * testsuite/23_containers/map/debug/60499.cc: New
1731 * testsuite/23_containers/multimap/debug/60499.cc: New
1732 * testsuite/23_containers/multiset/debug/60499.cc: New
1733 * testsuite/23_containers/set/debug/60499.cc: New
1734 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1735 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1736 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1737 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1738 * testsuite/23_containers/vector/debug/60499.cc: New
1740 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1742 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1743 for filesystem and fundamentals TS work items.
1745 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1748 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1749 Adjust dg-error directives.
1751 2014-02-26 Tim Shen <timshen91@gmail.com>
1753 * include/bits/regex.tcc (match_results<>::format,
1754 regex_replace<>): Update __out after calling std::copy.
1755 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1757 * testsuite/28_regex/match_results/format.cc: Likewise.
1759 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1762 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1763 allocator_type&)): Remove redundant call to _M_initialize_map.
1764 (deque::deque(const allocator_type&)): Initialize _Base with a
1765 constructor that calls _M_initialize_map.
1769 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1771 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1774 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1776 Rename testsuite directory shared_mutex to shared_timed_mutex
1778 * testsuite/30_threads/shared_mutex: Moved to...
1779 * testsuite/30_threads/shared_timed_mutex: ...here
1781 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1783 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1784 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1785 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1786 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1787 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1788 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1789 * testsuite/30_threads/shared_lock/requirements/
1790 explicit_instantiation.cc: Ditto.
1791 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1792 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1793 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1794 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1795 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1796 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1797 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1798 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1799 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1800 * testsuite/30_threads/shared_mutex/requirements/
1801 standard_layout.cc: Ditto.
1802 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1803 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1804 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1805 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1806 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1808 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1810 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1811 execution on i?86-*-solaris2.9, remove comment.
1812 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1814 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1816 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1817 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1818 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1820 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1822 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1823 not use varargs when argument could be non-POD.
1824 (__alloctr_rebind_helper): Eliminate static const bool member by
1825 using true_type and false_type.
1826 (allocator_traits::__allocate_helper): Likewise.
1827 (allocator_traits::__construct_helper): Likewise.
1828 (allocator_traits::__destroy_helper): Likewise.
1829 (allocator_traits::__maxsize_helper): Likewise.
1830 (allocator_traits::__select_helper): Likewise.
1831 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1832 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1833 Remove redundant condition.
1834 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1836 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1837 indirection through __alloc_traits.
1838 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1839 Eliminate static const bool members by using true_type and false_type.
1840 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1841 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1842 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1844 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1847 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1848 (vector::_M_data_ptr): New overloaded functions to ensure empty
1849 vectors do not dereference the pointer.
1850 * testsuite/23_containers/vector/59829.cc: New.
1851 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1852 Adjust dg-error line number.
1853 * testsuite/23_containers/vector/requirements/dr438/
1854 constructor_1_neg.cc: Likewise.
1855 * testsuite/23_containers/vector/requirements/dr438/
1856 constructor_2_neg.cc: Likewise.
1857 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1861 * include/ext/array_allocator.h: Add deprecated attribute.
1864 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1865 installation and use of python printers.
1866 * doc/xml/manual/status_cxx2011.xml: Update.
1867 * doc/html/*: Regenerate.
1869 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1870 Kyle Lippincott <spectral@google.com>
1873 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1874 constructor and grant friendship to weak_ptr.
1875 (weak_ptr::lock()): Use new constructor.
1876 * include/bits/shared_ptr_base.h
1877 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1878 and define specializations.
1879 (__shared_count): Add new non-throwing constructor.
1880 (__shared_ptr): Add new non-throwing constructor and grant friendship
1882 (__weak_ptr::lock()): Use new constructor.
1883 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1884 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1886 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1889 * include/bits/shared_ptr_base.h
1890 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1893 2014-01-27 Jason Merrill <jason@redhat.com>
1898 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1899 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1900 (__cxa_allocate_exception): Don't set it here.
1902 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1904 * include/bits/stl_map.h: Remove anachronistic comment.
1905 * include/bits/stl_multimap.h: Add whitespace.
1906 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1907 -std=gnu++11 instead of -std=c++11.
1908 * testsuite/23_containers/map/operators/2.cc: Likewise.
1909 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1910 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1911 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1913 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1914 * configure: Regenerate.
1916 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1919 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1920 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1922 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1923 Peter A. Bigot <pab@pabigot.com>
1926 * include/experimental/string_view
1927 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1928 Correct copy start location.
1930 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1931 Peter A. Bigot <pab@pabigot.com>
1934 * include/experimental/string_view (operator[](size_type) const):
1935 Fix one-off index error in debug check.
1936 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1937 test basic_string_view at size().
1938 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1940 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1941 Peter A. Bigot <pab@pabigot.com>
1944 * include/experimental/string_view
1945 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1946 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1947 Comment out catch of out_of_range; No terminating null
1948 in basic_string_view. Check begin == end.
1949 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1952 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1955 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1956 constructor to prevent it being implicitly defined as deleted, but
1957 do not copy anything.
1958 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1959 Define copy and move constructors similar to _Safe_sequence_base's.
1960 * testsuite/23_containers/unordered_map/59548.cc: New.
1962 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1963 Steve Ellcey <sellcey@mips.com>
1965 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1967 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1968 * (configure, config.h.in): Regenerate.
1969 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1971 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1973 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1974 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1977 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1978 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1980 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1982 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1983 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1984 functions to perform moving or copying of elements from rvalue tree.
1985 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1986 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1987 * testsuite/23_containers/map/59872.cc: New.
1988 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1990 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1992 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1995 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1996 Split into separate default constructor and constructor taking
1998 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1999 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2001 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2002 * include/debug/list (list::list(const _Allocator&)): Likewise.
2003 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2005 * include/debug/multimap.h
2006 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2007 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2009 * include/debug/multiset.h
2010 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2011 * include/debug/vector (vector::vector(const allocator_type&)):
2013 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2014 * include/profile/list (list::list(const _Allocator&)): Likewise.
2015 * include/profile/map.h
2016 (map::map(const _Compare&, const _Allocator&)): Likewise.
2017 * include/profile/multimap.h
2018 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2019 * include/profile/set.h
2020 (set::set(const _Compare&, const _Allocator&)): Likewise.
2021 * include/profile/multiset.h
2022 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2023 * include/profile/vector (vector::vector(const _Allocator&)):
2025 * testsuite/23_containers/deque/58764.cc: New.
2026 * testsuite/23_containers/list/58764.cc: New.
2027 * testsuite/23_containers/map/58764.cc: New.
2028 * testsuite/23_containers/multimap/58764.cc: New.
2029 * testsuite/23_containers/set/58764.cc: New.
2030 * testsuite/23_containers/multiset/58764.cc: New.
2031 * testsuite/23_containers/vector/58764.cc: New.
2032 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2033 Adjust dg-error line number.
2034 * testsuite/23_containers/deque/requirements/dr438/
2035 constructor_1_neg.cc: Likewise.
2036 * testsuite/23_containers/deque/requirements/dr438/
2037 constructor_2_neg.cc: Likewise.
2038 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2040 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2042 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2044 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2046 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2048 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2050 * testsuite/23_containers/vector/requirements/dr438/
2051 constructor_1_neg.cc: Likewise.
2052 * testsuite/23_containers/vector/requirements/dr438/
2053 constructor_2_neg.cc: Likewise.
2054 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2057 PR libstdc++/58764 (again)
2058 * include/bits/stl_list.h (list): Make default constructor's exception
2059 specification conditional.
2060 * include/bits/stl_vector.h (vector): Likewise.
2061 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2062 to default constructor.
2063 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2064 Adjust dg-error line number.
2065 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2067 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2069 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2071 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2073 * testsuite/23_containers/vector/requirements/dr438/
2074 constructor_1_neg.cc: Likewise.
2075 * testsuite/23_containers/vector/requirements/dr438/
2076 constructor_2_neg.cc: Likewise.
2077 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2080 2014-01-21 Tim Shen <timshen91@gmail.com>
2082 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2083 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2084 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2086 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2089 * include/bits/hashtable.h (__cache_default): Do not depend on
2090 whether the hash function is DefaultConstructible or CopyAssignable.
2091 (_Hashtable): Adjust static assertions.
2092 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2093 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2094 dg-error line number.
2095 * testsuite/23_containers/unordered_set/
2096 not_default_constructible_hash_neg.cc: Remove.
2098 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2100 * scripts/create_testsuite_files: Add testsuite/experimental in
2101 the list of folders to search for tests.
2102 * include/experimental/string_view
2103 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2104 incompatible with constexpr qualifier.
2105 (basic_string_view<>::front()): Likewise.
2106 (basic_string_view<>::back()): Likewise.
2107 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2108 Merge dg-options directives into one.
2109 * testsuite/experimental/string_view/element_access/char/2.cc:
2110 Likewise. Remove invalid experimental namespace scope on
2113 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2116 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2117 friendship to _Local_iterator_base<..., false>.
2118 (_Local_iterator_base): Give protected access to all existing members.
2119 (_Local_iterator_base::_M_curr()): New public accessor.
2120 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2121 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2122 the lifetime of the _Hash_code_base explicitly.
2123 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2124 (_Local_iterator_base<..., false>): Define copy constructor and copy
2125 assignment operator that use new functions to manage _Hash_code_base.
2126 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2127 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2128 Use public API for _Local_iterator_base.
2129 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2130 * include/debug/unordered_map (__debug::unordered_map::erase(),
2131 __debug::unordered_multimap::erase()): Likewise.
2132 * include/debug/unordered_set (__debug::unordered_set::erase(),
2133 __debug::unordered_multiset::erase()): Likewise.
2134 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2136 2014-01-19 Tim Shen <timshen91@gmail.com>
2138 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2139 Fix parse error of multiple consecutive quantifiers like "a**".
2140 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2142 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2144 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2146 * include/profile/set.h (set): Implement C++11 allocator-aware
2147 container requirements.
2148 * include/profile/map.h (map): Likewise.
2149 * include/profile/multiset.h (multiset): Likewise.
2150 * include/profile/multimap.h (multimap): Likewise.
2151 * include/profile/set.h
2152 (set::operator=(const set&)): Define as default in C++11 mode.
2153 (set::operator=(set&&)): Likewise.
2154 * include/profile/map.h
2155 (map::operator=(const map&)): Likewise.
2156 (map::operator=(map&&)): Likewise.
2157 * include/profile/multiset.h
2158 (multiset::operator=(const multiset&)): Likewise.
2159 (multiset::operator=(multiset&&)): Likewise.
2160 * include/profile/multimap.h
2161 (multimap::operator=(const multimap&)): Likewise.
2162 (multimap::operator=(multimap&&)): Likewise.
2163 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2164 Rely on the same operator from normal mode.
2165 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2167 * include/profile/multiset.h
2168 (multiset::operator=(std::initializer_list<>)): Likewise.
2169 * include/profile/multimap.h
2170 (multimap::operator=(std::initializer_list<>)): Likewise.
2171 * include/profile/set.h (set::swap(set&)): Add noexcept
2173 * include/profile/map.h (map::swap(map&)): Likewise.
2174 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2175 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2177 2014-01-17 Tim Shen <timshen91@gmail.com>
2179 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2181 * include/bits/regex_automaton.h: Do not use std::set.
2182 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2183 _BracketMatcher<>::_M_add_collating_element(),
2184 _BracketMatcher<>::_M_add_equivalence_class(),
2185 _BracketMatcher<>::_M_make_range()): Likewise.
2186 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2188 * include/bits/regex_executor.h: Do not use std::queue.
2189 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2190 _Executor<>::_M_dfs()): Likewise.
2191 * include/std/regex: Remove <map>, <set> and <queue>.
2193 2014-01-17 Tim Shen <timshen91@gmail.com>
2195 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2196 basic_regex<>::assign()): Change __compile_nfa to accept
2198 * include/bits/regex_compiler.h: Change _Compiler's template
2199 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2200 * include/bits/regex_compiler.tcc: Likewise.
2202 2014-01-17 Tim Shen <timshen91@gmail.com>
2204 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2206 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2207 _ScannerBase from _Scanner; Change _Scanner's template argument from
2208 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2210 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2211 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2212 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2214 * include/std/regex: Add <cstring> for using strchr.
2216 2014-01-17 Tim Shen <timshen91@gmail.com>
2218 * bits/regex_automaton.tcc: Indentation fix.
2219 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2220 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2221 _BracketMatcher<>): Add bool option template parameters and
2222 specializations to make matching more efficient and space saving.
2223 * bits/regex_compiler.tcc: Likewise.
2225 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2228 * include/bits/hashtable_policy.h: Fix some long lines.
2229 * include/bits/hashtable.h (__hash_code_base_access): Define and
2230 use it to check its _M_bucket_index noexcept qualification. Use
2232 (__access_protected_ctor): ...this.
2233 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2235 * testsuite/23_containers/unordered_set/
2236 not_default_constructible_hash_neg.cc: Likewise.
2238 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2240 * include/debug/set.h (set): Implement C++11 allocator-aware
2241 container requirements.
2242 * include/debug/map.h (map): Likewise.
2243 * include/debug/multiset.h (multiset): Likewise.
2244 * include/debug/multimap.h (multimap): Likewise.
2245 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2246 fix implementation regarding management of safe iterators.
2247 * include/debug/map.h (map::operator=(map&&)): Likewise.
2248 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2249 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2251 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2252 Rely on the same operator from normal mode.
2253 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2255 * include/debug/multiset.h
2256 (multiset::operator=(std::initializer_list<>)): Likewise.
2257 * include/debug/multimap.h
2258 (multimap::operator=(std::initializer_list<>)): Likewise.
2259 * include/debug/set.h (set::swap(set&)): Add noexcept
2260 specification, add allocator equality check.
2261 * include/debug/map.h (map::swap(map&)): Likewise.
2262 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2263 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2265 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2268 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2269 and stylistic improvements.
2270 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2271 and update for C++11.
2272 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2275 * doc/xml/manual/backwards_compatibility.xml
2276 (backwards.third.nocreate_noreplace): Correct and expand.
2279 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2281 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2284 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2285 support for non-Movable types.
2288 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2290 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2292 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2293 *this allocator instance when building temporary vector instance
2294 so that *this allocator does not get moved.
2295 * include/debug/safe_base.h
2296 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2297 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2298 move constructor from _Safe_sequence_base.
2299 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2300 safe iterators if the instance is moved.
2301 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2302 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2303 check on a vector iterator.
2304 * testsuite/23_containers/vector/allocator/move_assign.cc
2306 (test03): New, test with a non-propagating allocator.
2307 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2309 2014-01-07 Tim Shen <timshen91@gmail.com>
2311 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2312 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2313 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2314 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2315 _BracketMatcher<>::_M_add_char(),
2316 _BracketMatcher<>::_M_add_collating_element(),
2317 _BracketMatcher<>::_M_add_equivalence_class(),
2318 _BracketMatcher<>::_M_add_character_class(),
2319 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2320 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2321 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2322 to template parameter; Add cache for _BracketMatcher. Adjust
2323 declarations from here...
2324 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2325 imbuing a regex will trigger a recompilation to rebuild the cache.
2326 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2327 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2328 different template bool parameters.
2329 * include/bits/regex_executor.h: Remove unnecessary declarations.
2330 * include/std/regex: Adjust including orders.
2331 * testsuite/28_regex/traits/char/user_defined.cc: New.
2332 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2334 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2336 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2337 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2338 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2339 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2340 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2342 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2344 Update copyright years
2346 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2348 * testsuite/18_support/new_handler.cc,
2349 testsuite/18_support/terminate_handler.cc,
2350 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2351 the copyright notice.
2353 Copyright (C) 2014 Free Software Foundation, Inc.
2355 Copying and distribution of this file, with or without modification,
2356 are permitted in any medium without royalty provided the copyright
2357 notice and this notice are preserved.