1 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
3 * include/debug/deque (__gnu_debug::deque): Make base class C++11
6 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
9 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
10 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
12 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
15 * include/bits/regex.h (match_results::format): Remove stray template
17 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
18 Remove parameter name to avoid -Wunused-parameter warning.
19 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
20 mem-initializers to avoid -Wreorder warning.
21 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
22 Remove parameter name to avoid -Wunused-parameter warning.
23 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
24 to avoid -Wempty-body warning when not in debug mode.
26 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
28 * python/hook.in: Load the xmethods.
29 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
30 * python/Makefile.in: Regenerated.
31 * python/libstdcxx/v6/xmethods.py: New file.
32 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
34 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
35 python script if LOAD_XMETHODS is true.
36 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
37 * testsuite/libstdc++-xmethods/vector.cc: New file.
38 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
40 2014-09-10 Tony Wang <tony.wang@arm.com>
43 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
44 Return with CONTINUE_UNWINDING when the state pattern
45 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
47 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
49 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
50 allocator propagation.
51 (deque::emplace_front, deque::emplace_back): Use allocator traits.
52 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
53 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
54 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
55 (_Deque_iterator): Handle allocators with custom pointers.
56 (_Deque_base): Likewise. Use allocator traits.
57 (deque): Likewise. Add allocator-extended constructors.
58 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
59 assignment via tag dispatching.
60 (deque::_M_replace_map): Replace existing data.
61 * include/debug/deque (deque): Add allocator-extended constructors.
62 * include/profile/deque (deque): Likewise.
63 * testsuite/23_containers/deque/allocator/copy.cc: New.
64 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
65 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
66 * testsuite/23_containers/deque/allocator/minimal.cc: New.
67 * testsuite/23_containers/deque/allocator/move.cc: New.
68 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
69 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
70 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
71 * testsuite/23_containers/deque/allocator/swap.cc: New.
72 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
73 Adjust dg-error line number.
74 * testsuite/23_containers/deque/requirements/dr438/
75 constructor_1_neg.cc: Likewise.
76 * testsuite/23_containers/deque/requirements/dr438/
77 constructor_2_neg.cc: Likewise.
78 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
80 * testsuite/23_containers/vector/52591.cc: Test both the propagating
81 and always-equal cases.
83 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
85 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
87 (_Hash_code_base<>): All specialization default constructible if
89 (_Hashtable_base<>): Likewise.
90 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
91 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
92 implementation defaulted.
93 (unordered_multimap<>::unordered_multimap()): Likewise.
94 * include/bits/unordered_set.h
95 (unordered_set<>::unordered_set()): Likewise.
96 (unordered_multiset<>::unordered_multiset()): Likewise.
97 * include/debug/unordered_map: Likewise.
98 * include/debug/unordered_set: Likewise.
99 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
101 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
103 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
105 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
108 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
110 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
112 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
114 * include/std/complex (complex): Define copy constructor and
115 assignment operator as defaulted. Improve Doxygen comments.
117 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
119 * testsuite/ext/random/*: Fix incorrect standard references in
122 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
125 * include/Makefile.am (install-freestanding-headers): Add missing
127 * include/Makefile.in: Regenerate.
129 2014-08-21 Tony Wang <tony.wang@arm.com>
131 * testsuite/18_support/nested_exception/62154.cc: Disable when the
132 target doesn't provide atomic builtins.
134 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
135 Kai Tietz <ktietz@redhat.com>
137 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
139 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
141 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
142 #include <windows.h>.
143 (struct elt): Add dll member.
144 (run): Decrement dll refcount.
145 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
147 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
150 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
151 Rewrite to conform to C++11 requirements.
152 * testsuite/18_support/nested_exception/62154.cc: New.
154 2014-08-14 Matthias Klose <doko@ubuntu.com>
156 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
157 Remove empty directory.
159 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
161 * testsuite/26_numerics/random/linear_congruential_engine/
162 requirements/non_uint_neg.cc: Adjust for parser change.
163 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
164 requirements/non_uint_neg.cc: Likewise.
166 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
169 * include/std/thread (thread::_M_start_thread): Declare new overload.
170 (thread::thread<_Callable, _Args...>): Call new overload with an
171 explicit reference to pthread_create.
172 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
173 * config/abi/pre/gnu.ver: Export new function.
175 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
177 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
179 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
181 * Fix thinko in the last commit.
183 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
186 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
187 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
189 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
191 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
192 and add overloads for rvalue streams.
193 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
195 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
198 * include/bits/basic_string.h (getline): Declare inline.
200 2014-08-09 Ulrich Drepper <drepper@gmail.com>
202 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
203 (uniform_on_sphere_distribution::operator()): Use the new helper
204 class for the implementation.
206 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
207 equal.cc: Remove bogus part of comment.
208 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
209 inequal.cc: Likewise.
210 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
211 serialize.cc: Add check to verify result of serialzation and
213 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
214 generate.cc: New file.
216 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
218 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
219 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
221 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
224 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
225 _M_need_rehash to initialize the rehash policy and check if a rehash is
227 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
229 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
231 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
233 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
234 Adjust dg-error line number.
235 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
237 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
239 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
242 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
244 (_State_baseV2::_M_do_set): Change parameters to pointers.
245 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
246 (_State_baseV2::__setter): Initialize _Setter with pointers.
247 (_State_baseV2::__setter(promise<void>*)): Remove overload.
248 (promise::set_value, promise::set_exception): Pass setter directly
250 (_State_baseV2::_Task_setter): Add template parameter for callable
251 type and replace std::function member with pointer to that type.
252 Change _M_result member from reference to pointer.
253 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
254 and initialize _Task_setter with pointers.
255 (__location_invariant): Specialize for _Setter and _Task_setter.
257 * include/std/future (__location_invariant): Move specializations
258 after preprocessor condition.
260 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
263 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
265 2014-08-01 Zifei Tong <zifeitong@gmail.com>
267 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
268 _GLIBCXX_ prefix to macro.
270 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
272 * python/libstdcxx/v6/printers.py
273 (SingleObjContainerPrinter._contained): Use compatibility mixin.
275 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
277 * testsuite/util/testsuite_allocator.h
278 (tracker_allocator_counter::allocate): Remove new invocation, only
280 (tracker_allocator_counter::deallocate): Remove delete invocation, only
282 (check_inconsistent_alloc_value_type): New.
283 (tracker_allocator): Transform as a facade for any allocator type.
284 (uneq_allocator): Likewise.
285 (propagating_allocator): Likewise.
286 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
287 explicitly non propagating allocator.
288 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
289 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
290 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
291 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
292 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
294 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
296 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
298 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
300 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
302 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
305 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
306 const allocator_type&)): Pass non-const allocator to
308 * testsuite/ext/rope/61946.cc: New.
311 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
312 disambiguate unary constructors.
313 (_Tuple_impl): Pass allocator_arg_t arguments.
314 * testsuite/20_util/tuple/61947.cc: New.
315 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
317 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
319 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
320 * include/bits/random.h (_Adaptor): static_assert for non floating-point
322 * include/bits/random.tcc (generate_canonical): Ditto.
323 * include/ext/random.tcc (hypergeometric_distribution::operator()):
324 Use double as a rng result type.
325 * testsuite/26_numerics/random/pr60037-neg.cc: New.
326 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
328 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
330 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
332 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
334 * include/experimental/string_view: Make the literal operators
335 constexpr like the ctors they call.
337 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
339 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
341 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
343 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
344 to string instead of using gdb.Type.name attribute.
346 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
348 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
351 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
354 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
356 (SingleObjContainerPrinter): Check if type printers are in use.
358 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
360 * include/ext/random: Minor formatting and cosmetic tweaks.
361 (uniform_on_sphere_distribution<>::operator==
362 (const uniform_on_sphere_distribution&,
363 const uniform_on_sphere_distribution&)): Compare the _M_nds.
364 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
365 (operator!=(const uniform_on_sphere_distribution&,
366 const uniform_on_sphere_distribution&)): Adjust.
367 * include/ext/random.tcc: Minor cosmetc tweaks.
369 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
371 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
372 printer for class templates.
373 (register_type_printers): Use TemplateTypePrinter for containers
374 and other class templates with default template arguments.
375 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
377 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
378 base class for experimental::any and experimental::optional printers.
379 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
380 New printers for Fundamentals TS types.
381 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
383 2014-07-15 Tim Shen <timshen@google.com>
386 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
387 Clear match queue for next use.
388 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
390 2014-07-14 Ulrich Drepper <drepper@gmail.com>
392 * include/ext/random.tcc: Unfortunately more fixes for
393 operator>> and operator<< for uniform_on_sphere_distribution.
395 2014-07-13 Ulrich Drepper <drepper@gmail.com>
397 * include/ext/random.tcc: Fix operator>> and operator<< for
398 uniform_on_sphere_distribution.
400 2014-07-12 Ulrich Drepper <drepper@gmail.com>
402 * include/ext/random: Add uniform_on_sphere_distribution definition.
403 * include/ext/random.tcc: Add out-of-band member function definitions
404 for uniform_on_sphere_distribution.
405 * testsuite/ext/random/uniform_on_sphere_distribution/
406 cons/default.cc: New file.
407 * testsuite/ext/random/uniform_on_sphere_distribution/
408 operators/equal.cc: New file.
409 * testsuite/ext/random/uniform_on_sphere_distribution/
410 operators/inequal.cc: New file.
411 * testsuite/ext/random/uniform_on_sphere_distribution/
412 operators/serialize.cc: New file.
414 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
416 Add the logistic_distribution as an extension.
417 * include/ext/random: Add the logistic_distribution.
418 * include/ext/random.tcc: Add the logistic_distribution.
419 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
420 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
421 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
423 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
424 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
425 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
428 2014-07-11 Samuel Bronson <naesten@gmail.com>
430 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
431 instead of insisting that GCC understand -fdiagnostics-color=never
433 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
436 2014-07-11 Samuel Bronson <naesten@gmail.com>
437 Matthias Klose <doko@ubuntu.com>
440 * python/libstdcxx/v6/printers.py: Port to Python 2+3
441 (imap): New compat function.
443 (Iterator): New mixin to allow writing iterators in Python 3 style
444 regardless of which version we're running on.
445 [Python3] (long) New compat alias for "int".
446 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
448 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
450 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
451 tuple members to simplify pretty printing.
452 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
454 * testsuite/experimental/any/cons/4.cc: New.
456 2014-07-09 Jason Merrill <jason@redhat.com>
459 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
460 * libsupc++/tinfo.h: Not here.
462 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
464 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
466 * include/experimental/any: Remove unused header.
467 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
468 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
469 * testsuite/util/testsuite_regex.h: Move include guard.
471 2014-07-01 Tim Shen <timshen@google.com>
475 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
476 a NFA state limit. If it's exceeded, regex_constants::error_space
478 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
479 map (which is sparse) instead of vector. This reduce n times clones'
480 cost from O(n^2) to O(n).
481 * include/std/regex: Add map dependency.
482 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
485 2014-07-01 Tim Shen <timshen@google.com>
488 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
489 not just regex containing back-references.
490 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
491 exchange _M_next and _M_alt for alternative operator,
492 making matching from left to right.
493 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
494 Add position tracking fom DFS.
495 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
496 _Executor<>::_M_dfs): Likewise.
497 * include/bits/regex_scanner.h: Remove unused enum entry.
498 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
501 2014-06-30 Jason Merrill <jason@redhat.com>
503 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
506 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
509 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
510 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
513 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
515 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
517 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
519 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
521 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
524 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
526 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
527 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
528 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
530 * include/ext/alloc_traits.h: Fix comment.
532 * include/Makefile.am: Add new header.
533 * include/Makefile.in: Regenerate.
534 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
535 New RAII utilities for working with allocators.
536 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
537 __allocator_type typedef and use new __allocated_ptr type.
538 (_Sp_counted_ptr_inplace): Likewise.
539 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
540 __allocate_guarded to to simplify exception handling.
541 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
542 * include/std/future (_Result_alloc::_M_destroy): Likewise.
543 (_Result_alloc::_S_allocate_result): Likewise.
544 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
545 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
546 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
547 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
549 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
551 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
553 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
554 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
556 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
558 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
559 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
560 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
561 Remove unused typedef.
562 (time_get::do_get_monthname): Likewise.
563 * include/bits/stl_tree.h: Add system_header pragma.
564 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
565 redundant const-qualifier.
566 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
567 instead of _GLIBCXX_USE_CONSTEXPR.
569 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
571 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
572 * include/std/chrono (_Checked_integral_constant): Allow zero.
573 * testsuite/20_util/duration/literals/values.cc: Test non-positive
574 values and digit separators.
575 * include/experimental/any
578 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
579 apply the signed specifier to wchar_t.
580 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
581 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
582 cv-qualifier and size.
583 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
586 * include/experimental/any (any_v1): Rename namespace to
587 fundamentals_v1. Change string returned by bad_any_cast::what().
588 * include/experimental/optional (fundamentals_v1): Add namespace.
589 * include/experimental/string_view (fundamentals_v1): Likewise.
590 * testsuite/experimental/any/typedefs.cc: New.
591 * testsuite/experimental/optional/typedefs.cc: New.
592 * testsuite/experimental/string_view/typedefs.cc: New.
594 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
595 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
598 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
600 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
602 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
603 * include/Makefile.am: Add new header.
604 * include/Makefile.in: Regenerate.
605 * include/experimental/any: New.
606 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
608 * testsuite/experimental/any/assign/1.cc: New.
609 * testsuite/experimental/any/assign/2.cc: New.
610 * testsuite/experimental/any/cons/1.cc: New.
611 * testsuite/experimental/any/cons/2.cc: New.
612 * testsuite/experimental/any/cons/3.cc: New.
613 * testsuite/experimental/any/misc/any_cast.cc: New.
614 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
615 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
616 * testsuite/experimental/any/misc/swap.cc: New.
617 * testsuite/experimental/any/modifiers/1.cc: New.
618 * testsuite/experimental/any/observers/type.cc: New.
620 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
621 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
623 * include/bits/shared_ptr.h (shared_ptr): Likewise.
624 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
626 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
628 * include/parallel/list_partition.h (__parallel::list_partition):
630 * include/std/iomanip (quoted): Likewise.
631 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
633 * doc/xml/api.xml: Link to more recent API docs.
634 * include/bits/allocator.h: Fix link in doxygen comment.
635 * include/bits/char_traits.h: Likewise.
636 * include/bits/ios_base.h: Likewise.
637 * include/bits/stl_map.h: Likewise.
638 * include/bits/stl_multimap.h: Likewise.
639 * include/bits/stl_multiset.h: Likewise.
640 * include/bits/stl_set.h: Likewise.
641 * include/bits/unordered_map.h: Likewise.
642 * include/bits/unordered_set.h: Likewise.
643 * include/ext/mt_allocator.h: Likewise.
644 * include/std/fstream: Likewise.
645 * include/std/iosfwd: Likewise.
646 * include/std/ostream: Likewise.
647 * include/std/sstream: Likewise.
648 * include/std/streambuf: Likewise.
649 * doc/html/*: Regenerate.
651 * include/experimental/any (any_cast): Combine duplicate doxygen
653 * include/experimental/string_view (basic_string_view): Update
655 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
656 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
657 (dynamic_bitset): Improve Doxygen comments.
658 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
661 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
663 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
664 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
666 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
669 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
670 (bin_search_tree_traits): Do not redeclare template-parameters.
671 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
673 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
675 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
676 parameter for DocBook HTML generation.
677 * doc/Makefile.in: Regenerate.
678 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
679 * doc/xml/faq.xml: Update content and improve formatting.
680 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
681 * doc/xml/manual/allocator.xml: Add stable ID attribute.
682 * doc/xml/manual/bitmap_allocator.xml: Likewise.
683 * doc/xml/manual/build_hacking.xml: Likewise.
684 * doc/xml/manual/codecvt.xml: Change URL.
685 * doc/xml/manual/ctype.xml: Add stable ID attribute.
686 * doc/xml/manual/debug_mode.xml: Likewise.
687 * doc/xml/manual/documentation_hacking.xml: Likewise.
688 * doc/xml/manual/evolution.xml: Likewise.
689 * doc/xml/manual/extensions.xml: Likewise.
690 * doc/xml/manual/locale.xml: Likewise.
691 * doc/xml/manual/messages.xml: Make section id consistent, improve
693 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
694 * doc/xml/manual/profile_mode.xml: Likewise.
695 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
696 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
697 * doc/xml/manual/status_cxx2011.xml: Likewise.
698 * doc/xml/manual/status_cxx2014.xml: Likewise.
699 * doc/xml/manual/status_cxxtr1.xml: Likewise.
700 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
701 * doc/xml/manual/using.xml: Likewise.
702 * doc/html/*: Regenerate.
704 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
706 * include/tr1/beta_function.tcc: Fix spelling of include guard in
709 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
711 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
713 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
715 DR 2344 - std::quoted doesn't respect padding
716 * include/std/iomanip: Allow for padding in quoted inserters.
717 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
718 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
720 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
722 * testsuite/23_containers/map/operators/1.cc: Simplify test.
724 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
726 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
728 * doc/xml/manual/backwards_compatibility.xml
729 (backwards.second.stringstreams): Likewise.
730 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
732 * doc/xml/manual/containers.xml (associative.bitset.type_string):
733 Replace <quote> in code example.
734 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
735 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
736 fix typos, improve markup.
737 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
738 <emphasis> with <replaceable>.
739 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
740 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
741 and remove newlines in string literal.
743 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
747 * testsuite/20_util/is_assignable/value.cc: Update.
749 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
751 * include/std/condition_variable (condition_variable_any::_Unlock): Do
752 not swallow __forced_unwind.
753 * include/std/future (__future_base::_Task_setter): Likewise.
754 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
756 * include/std/mutex (try_lock): Likewise.
757 * testsuite/30_threads/async/forced_unwind.cc: New.
758 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
760 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
761 members to avoid wasted space when not using a cache.
762 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
763 * include/bits/regex_compiler.tcc
764 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
766 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
767 New enumeration type to indicate match mode.
768 (__detail::_Executor::_State_info): New type holding members only
769 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
771 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
772 Replace template parameter with run-time function parameter.
773 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
774 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
775 implement DFS and BFS mode.
776 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
777 Split implementation into ...
778 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
779 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
780 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
781 argument instead of template argument.
782 (__detail::_Executor::_M_dfs): Likewise.
783 * include/bits/regex_scanner.tcc: Fix typos in comments.
784 * testsuite/performance/28_regex/range.cc: New.
786 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
787 Jonathan Wakely <jwakely@redhat.com>
789 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
791 (aligned_union): New struct (C++11).
792 (aligned_union_t): New type alias (C++14).
793 * doc/xml/manual/status_cxx2011.xml: Update.
794 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
795 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
798 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
801 * include/experimental/string_view (operator basic_string): Correct
803 (to_string): Replace with member function.
804 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
805 allow _M_str to be null.
806 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
807 default constructor semantics.
808 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
809 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
810 copyright dates. Remove unused header.
811 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
813 * testsuite/experimental/string_view/operations/data/char/1.cc:
814 Fix copyright dates. Adjust to new default constructor semantics.
815 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
817 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
819 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
820 (__uses_allocator_arg): Remove unused type.
821 (__uses_alloc0): Turn into a trivial type.
822 (__uses_alloc): Add missing template parameter in primary template.
823 (__uses_alloc_impl): Rename to __uses_alloc_t.
825 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
827 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
828 work with previous versions of Tcl.
830 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
831 Benjamin's old email address.
833 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
836 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
838 * include/tr2/bool_set: Use UTF-8 for accented characters.
839 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
840 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
841 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
843 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
846 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
848 (_State_base::_M_dot): Likewise.
850 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
852 * include/profile/map.h: Fix typo in comment; minor formatting fix.
853 * include/profile/multimap.h: Likewise.
854 * include/profile/set.h: Likewise.
855 * include/profile/multiset.h: Likewise.
857 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
859 * include/profile/array: Clean useless white chars.
860 * include/profile/base.h: Likewise.
861 * include/profile/iterator_tracker.h: Likewise.
862 * include/profile/bitset: Code cleanup and remove not instrumented code.
863 * include/profile/deque: Likewise.
864 * include/profile/forward_list: Likewise.
865 * include/profile/list (std::__profile::_List_profile<>): New.
866 (std::__profile::list<>): Inherit from latter and adapt.
867 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
868 advise to match any ordered to unordered container conversion.
869 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
871 * include/Makefile.am: Add latter.
872 * include/Makefile.in: Regenerate.
873 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
874 remove not instrumented code.
875 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
876 * include/profile/set.h (std::__profile::set<>): Likewise.
877 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
878 * include/profile/unordered_base.h: Add some line feed.
879 * include/profile/unordered_map: Clean useless white chars and replace
881 * include/profile/unordered_set: Likewise.
882 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
883 (std::__profile::_Vector_profile_post<>): New.
884 (std::__profile::vector<>): Inherit from latter and adapt.
886 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
889 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
890 dragonfly target selector to all tests that run on freebsd.
892 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
894 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
895 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
897 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
899 * testsuite/30_threads/call_once/60497.cc: Likewise.
900 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
901 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
902 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
903 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
904 * testsuite/30_threads/promise/60966.cc: Likewise.
905 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
906 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
907 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
908 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
909 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
910 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
911 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
912 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
913 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
914 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
915 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
916 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
917 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
918 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
919 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
920 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
921 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
923 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
926 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
928 * testsuite/23_containers/unordered_set/61143.cc: New.
929 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
931 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
934 * include/std/type_traits: Move include outside namespace std.
935 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
936 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
937 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
940 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
943 2014-05-21 John Marino <gnugcc@marino.st>
945 * acinclude.m4 (*-*-dragonfly*): New target.
946 * configure: Regenerate.
947 * configure.host (*-*-dragonfly*): New target.
948 * config/locale/dragonfly/c_locale.cc: New.
949 * config/locale/dragonfly/ctype_members.cc: New.
950 * config/os/bsd/dragonfly/ctype_base.h: New.
951 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
952 * config/os/bsd/dragonfly/ctype_inline.h: New.
953 * config/os/bsd/dragonfly/os_defines.h: New.
955 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
957 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
958 libstdc++.exp imports those flags via getenv.
959 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
960 CXXFLAGS contains a '-O' flag.
962 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
966 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
969 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
970 and add unwind directives.
972 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
974 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
976 2014-05-20 Tim Shen <timshen91@gmail.com>
979 * include/bits/regex_compiler.h
980 (_BracketMatcher<>::_M_add_character_class): Add negative character
982 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
984 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
987 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
989 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
991 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
993 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
994 * libsupc++/new_opnt.cc: Likewise.
996 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
999 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1000 Pass lock into _M_do_set and hold it until the function returns.
1001 Signal condition variable after call_once completes.
1002 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1004 * testsuite/30_threads/promise/60966.cc: New.
1006 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1007 Sandra Loosemore <sandra@codesourcery.com>
1009 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1010 until after checking that the test is eligible to be run.
1012 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1014 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1015 test for 32-bit target.
1016 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1018 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1021 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1024 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1025 and add unwind directives.
1027 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1029 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1031 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1033 (chrono_literals::_Checked_integral_constant): Define.
1034 Simplify UDL operator templates and check for overflow.
1035 * testsuite/20_util/duration/literals/range.cc: New.
1037 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1038 Jonathan Wakely <jwakely@redhat.com>
1041 * include/bits/parse_numbers.h: Use integral_constant to remove
1042 duplication and simplify.
1043 * testsuite/20_util/duration/literals/61166.cc: New.
1045 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1048 * include/std/type_traits (__make_unsigned, __make_signed): Define
1049 specializations for wchar_t, char16_t and char32_t.
1050 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1051 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1052 test for make_unsigned<volatile wchar_t>.
1053 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1055 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1057 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1059 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1062 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1064 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1065 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1066 * include/std/utility (tuple_size, tuple_element): Likewise.
1067 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1068 Adjust dg-error line number.
1070 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1072 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1073 (__tuple_element_t): Define.
1074 (tuple_element): Use __tuple_element_t.
1075 (__cv_tuple_size): Define.
1076 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1077 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1078 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1079 (__tuple_compare): Remove size check, re-order parameters.
1080 (operator==, operator<): Use static_assert to check requirements.
1081 * include/std/functional (__volget): use __tuple_element_t.
1082 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1083 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1085 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1088 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1089 prevent ADL. Cast comparison results to bool.
1090 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1091 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1094 * include/debug/array (get): Qualify call to other get overload.
1095 * include/profile/array (get): Likewise.
1096 * include/std/array (get): Likewise.
1097 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1098 * include/std/mutex (unique_lock, call_once): Use __addressof.
1099 (__unlock_impl): Remove unused template.
1100 (__try_to_lock): Declare inline.
1101 (__try_lock_impl::__do_try_lock): Qualify function calls.
1102 (lock): Avoid narrowing conversion.
1103 * testsuite/20_util/bind/60497.cc: New.
1104 * testsuite/23_containers/array/element_access/60497.cc: New.
1105 * testsuite/30_threads/call_once/60497.cc: New.
1106 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1108 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1110 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1111 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1112 * acinclude.m4 (libtool_VERSION): Bump.
1113 * configure: Regenerate.
1114 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1115 * testsuite/28_regex/regex_error/base.cc: New.
1117 2014-05-08 Joshua Gay <jgay@gnu.org>
1120 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1121 source" with "free software".
1122 * doc/html/faq.html: Likewise.
1124 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1127 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1129 (operator=(const ios_base&)): Likewise.
1130 * include/std/streambuf: Remove trailing whitespace.
1131 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1132 _M_out_end. Define as defaulted for C++11.
1133 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1134 (swap(basic_streambuf&)): Define for C++11.
1135 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1138 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1140 * include/std/iostream: Fix URL in comment.
1141 * src/c++98/ios_init.cc: Fix path in comment.
1143 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1145 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1146 * configure: Regenerate.
1148 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1151 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1152 comparison function.
1153 * testsuite/23_containers/set/cons/61023.cc: New.
1156 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1158 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1159 arithmetic to obtain a mutable iterator from const_iterator.
1160 * include/bits/vector.tcc (vector::insert): Likewise.
1161 * include/debug/vector (vector::erase): Likewise.
1162 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1163 Adjust dg-error line number.
1164 * testsuite/23_containers/vector/requirements/dr438/
1165 constructor_1_neg.cc: Likewise.
1166 * testsuite/23_containers/vector/requirements/dr438/
1167 constructor_2_neg.cc: Likewise.
1168 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1171 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1173 * include/Makefile.in: Regenerate.
1175 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1177 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1178 parameter to pass the 2 instances to check allocator equality.
1179 * include/debug/safe_container.h: New, define _Safe_container<>.
1180 * include/Makefile.am: Add previous.
1181 * include/debug/deque (std::__debug::deque<>): Inherit
1182 _Safe_container<>. Use default implementation for all special
1184 * include/debug/forward_list (std::__debug::forward_list<>):
1186 * include/debug/list (std::__debug::list<>): Likewise.
1187 * include/debug/map.h (std::__debug::map<>): Likewise.
1188 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1189 * include/debug/set.h (std::__debug::set<>): Likewise.
1190 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1191 * include/debug/string (std::__debug::basic_string<>): Likewise.
1192 * include/debug/unordered_map
1193 (std::__debug::unordered_map<>): Likewise.
1194 (std::__debug::unordered_multimap<>): Likewise.
1195 * include/debug/unordered_set
1196 (std::__debug::unordered_set<>): Likewise.
1197 (std::__debug::unordered_multiset<>): Likewise.
1198 * include/debug/vector (std::__debug::vector<>): Likewise.
1199 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1201 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1202 (~_Safe_sequence_base()): Add noexcept.
1203 * include/debug/safe_sequence.h
1204 (std::__debug::_Safe_node_sequence<>): New.
1205 * include/debug/safe_unordered_base.h
1206 (_Safe_unordered_container_base()): Add noexcept.
1207 (~_Safe_unordered_container_base()): Likewise.
1208 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1209 * include/debug/safe_unordered_container.h:
1210 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1211 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1212 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1214 * testsuite/util/debug/checks.h (check_construct1): Just implement
1215 an invalid constructor invocation and no other operations
1216 potentially not supported by some types of container.
1217 (check_construct2): Likewise.
1218 (check_construct3): Likewise.
1219 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1220 check on iterators to make sure they are correctly moved in debug
1222 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1224 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1225 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1226 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1227 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1229 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1230 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1232 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1233 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1234 * testsuite/23_containers/unordered_map/allocator/move.cc:
1236 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1238 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1240 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1242 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1244 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1246 * testsuite/23_containers/unordered_set/allocator/move.cc:
1248 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1250 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1252 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1254 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1256 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1258 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1260 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1261 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1262 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1263 * testsuite/23_containers/map/debug/move_neg.cc: New.
1264 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1265 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1266 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1267 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1268 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1269 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1270 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1271 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1272 * testsuite/23_containers/set/debug/move_neg.cc: New.
1273 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1275 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1277 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1278 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1280 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1282 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1284 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1286 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1288 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1290 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1292 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1294 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1295 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1297 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1299 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1300 (CXXABI_1.3.9): Remove __float128 symbols.
1302 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1305 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1306 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1307 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1308 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1310 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1313 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1314 Check the correct type in the static assertion.
1315 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1317 2014-04-27 Tim Shen <timshen91@gmail.com>
1319 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1320 Add _S_opcode_repeat support to distingush a loop from
1321 _S_opcode_alternative.
1322 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1323 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1324 _StateSeq<>::_M_clone): Likewise.
1325 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1327 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1328 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1329 Uglify local variable __i.
1330 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1331 Use size_t instead of int to compare with vector::size().
1333 2014-04-27 Tim Shen <timshen91@gmail.com>
1335 * include/bits/regex_executor.h: Add _M_rep_count to track how
1336 many times this repeat node are visited.
1337 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1338 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1341 2014-04-27 Tim Shen <timshen91@gmail.com>
1343 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1344 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1345 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1346 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1347 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1348 Adjust debug NFA dump.
1350 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1353 * include/experimental/optional (operator!=): Implement in terms of
1355 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1356 * testsuite/experimental/optional/relops/2.cc: Likewise.
1357 * testsuite/experimental/optional/relops/3.cc: Likewise.
1358 * testsuite/experimental/optional/relops/4.cc: Likewise.
1359 * testsuite/experimental/optional/relops/5.cc: Likewise.
1360 * testsuite/experimental/optional/relops/6.cc: Likewise.
1362 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1365 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1366 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1369 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1371 * testsuite/util/testsuite_abi.cc (check_version): Update for
1374 2014-04-24 Tim Shen <timshen91@gmail.com>
1376 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1377 Do _M_alt before _M_next.
1378 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1380 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1383 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1384 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1385 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1387 2014-04-24 Andreas Schwab <schwab@suse.de>
1389 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1390 new CXXABI_1.3.9 symbols.
1392 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1394 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1395 (CXXABI_1.3.9): New version.
1397 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1400 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1401 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1402 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1404 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1406 * configure.host: Remove solaris2.9 handling.
1407 Change os_include_dir to os/solaris/solaris2.10.
1408 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1409 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1410 * configure: Regenerate.
1411 * config/abi/post/solaris2.9: Remove.
1412 * config/os/solaris/solaris2.9: Rename to ...
1413 * config/os/solaris/solaris2.10: ... this.
1414 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1417 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1418 Remove Solaris 9 reference.
1419 * doc/html/manual/configure.html: Regenerate.
1421 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1422 Remove *-*-solaris2.9 xfail.
1423 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1426 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1429 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1431 * include/std/functional (__is_location_invariant): Use __or_ helper.
1433 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1436 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1439 * include/std/atomic (atomic<_Tp>): Add static assertion.
1440 * testsuite/29_atomics/atomic/60695.cc: New.
1443 * include/std/functional (function::_Callable): Exclude own type
1444 from the callable checks.
1445 * testsuite/20_util/function/60594.cc: New.
1447 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1448 const to constexpr member functions.
1450 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1451 delegating constructor.
1452 * include/bits/shared_ptr_base.h
1453 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1455 * include/std/atomic: Uglify parameter names.
1458 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1459 1.cc: Fix invalid explicit instantiations with unqualified names.
1460 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1462 * testsuite/20_util/tuple/53648.cc: Likweise.
1463 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1465 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1467 * testsuite/23_containers/unordered_map/requirements/
1468 debug_container.cc: Likewise.
1469 * testsuite/23_containers/unordered_map/requirements/
1470 explicit_instantiation/3.cc: Likewise.
1471 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1473 * testsuite/23_containers/unordered_multimap/requirements/
1474 explicit_instantiation/3.cc: Likewise.
1475 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1477 * testsuite/23_containers/unordered_multiset/requirements/
1478 explicit_instantiation/3.cc: Likewise.
1479 * testsuite/23_containers/unordered_set/requirements/
1480 debug_container.cc: Likewise.
1481 * testsuite/23_containers/unordered_set/requirements/
1482 explicit_instantiation/3.cc: Likewise.
1484 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1485 not use uninitialized members in mem-initializers.
1486 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1487 * testsuite/util/testsuite_common_types.h: Update comment.
1489 * include/experimental/string_view: Fix inconsistent exception specs.
1491 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1492 Remove name of unused parameter.
1494 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1496 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1497 _Vector_base::_M_allocate): NullablePointer requirements do not
1498 include initialization from literal zero, use value-initialization.
1499 * include/bits/vector.tcc (vector::_M_insert_aux,
1500 vector::_M_explace_back_aux): Likewise for assignment.
1502 * include/bits/allocator.h (operator==, operator!=): Add exception
1506 * include/std/tuple (get): Qualify calls to prevent ADL.
1507 * testsuite/20_util/tuple/60497.cc: New.
1509 * include/std/tuple (tuple_element_t): Define.
1510 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1512 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1514 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1517 * include/bits/stl_iterator.h (move_iterator::reference,
1518 move_iterator::operator*): Implement LWG 2106.
1519 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1521 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1523 * include/std/complex (__complex_exp, pow): Specify the template
1524 parameter in calls to std::polar, for expression templates.
1526 2014-04-10 Andreas Schwab <schwab@suse.de>
1528 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1530 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1531 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1533 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1535 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1537 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1538 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1539 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1542 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1543 Jack Howarth <howarth@bromo.med.uc.edu>
1546 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1549 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1551 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1553 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1555 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1556 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1557 * doc/xml/manual/concurrency_extensions.xml
1558 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1559 * doc/html/*: Regenerate.
1561 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1562 Jonathan Wakely <jwakely@redhat.com>
1565 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1566 string if input is not quoted.
1567 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1569 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1571 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1573 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1575 * testsuite/18_support/exception_ptr/60612-terminate.cc
1576 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1577 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1579 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1581 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1583 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1584 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1586 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1588 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1590 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1591 Fix bad s/part/chapter/ substitutions.
1592 * doc/xml/manual/io.xml (std.io): Likewise.
1593 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1594 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1596 * doc/html/*: Regenerate.
1598 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1601 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1602 compatible with __cxa_exception.
1603 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1604 Fix typos in comments.
1605 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1606 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1608 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1611 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1612 Use sizeof pointer type not the element type.
1613 * testsuite/29_atomics/atomic/60658.cc: New.
1615 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1617 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1618 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1619 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1620 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1621 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1622 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1623 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1624 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1625 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1626 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1629 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1631 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1633 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1635 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1636 to delegated constructor.
1637 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1638 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1641 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1643 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1646 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1648 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1651 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1652 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1654 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1655 from different types of debug container. Use _Is_contiguous_sequence
1656 instead of is_lvalue_reference.
1657 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1658 dereferencing past-the-end iterator.
1659 (__foreign_iterator_aux4): Use const value_type* instead of
1660 potentially user-defined const_pointer type.
1661 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1662 and pass end iterator to __gnu_debug::__foreign_iterator.
1663 (__glibcxx_check_insert_range_after): Likewise.
1664 (__glibcxx_check_max_load_factor): Fix comment.
1665 * include/debug/vector (_Is_contiguous_sequence): Define partial
1667 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1668 -std=gnu++11 option and unused header.
1669 * testsuite/23_containers/vector/debug/60587.cc: New.
1670 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1672 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1674 * crossconfig.m4: Support spu-*-elf* targets.
1675 * configure: Regenerate.
1677 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1680 * include/std/future (__future_base::_Task_state<>): Change
1681 constructors to template functions using perfect forwarding.
1682 (__create_task_state): Use decayed type as stored task.
1683 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1684 * testsuite/30_threads/packaged_task/60564.cc: New.
1686 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1688 * scripts/create_testsuite_files: Add testsuite/experimental in
1689 the list of folders to search for tests.
1691 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1693 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1695 2014-03-15 Tim Shen <timshen91@gmail.com>
1697 * include/bits/regex.h: Add/modify comments.
1698 * include/bits/regex_compiler.h: Likewise.
1699 * include/bits/regex_executor.h: Likewise.
1700 * include/bits/regex_executor.tcc: Likewise.
1701 * include/bits/regex_scanner.h: Likewise.
1703 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1706 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1707 _ZNSt12system_errorC* symbols which are not exported on any target.
1709 2014-03-12 Roland McGrath <mcgrathr@google.com>
1710 Mark Seaborn <mseaborn@google.com>
1713 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1714 the address of a null pointer, not with a null pointer to pointer.
1715 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1716 * testsuite/18_support/bad_exception/59392.cc: New file.
1718 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1721 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1723 * include/debug/map (map::operator=(map&&)): Likewise.
1724 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1725 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1726 * include/debug/set (set::operator=(set&&)): Likewise.
1727 * include/debug/unordered_map
1728 (unordered_map::operator=(unordered_map&&)): Likewise.
1729 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1730 * include/debug/unordered_set
1731 (unordered_set::operator=(unordered_set&&)): Likewise.
1732 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1733 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1734 * testsuite/23_containers/forward_list/debug/60499.cc: New
1735 * testsuite/23_containers/map/debug/60499.cc: New
1736 * testsuite/23_containers/multimap/debug/60499.cc: New
1737 * testsuite/23_containers/multiset/debug/60499.cc: New
1738 * testsuite/23_containers/set/debug/60499.cc: New
1739 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1740 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1741 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1742 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1743 * testsuite/23_containers/vector/debug/60499.cc: New
1745 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1747 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1748 for filesystem and fundamentals TS work items.
1750 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1753 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1754 Adjust dg-error directives.
1756 2014-02-26 Tim Shen <timshen91@gmail.com>
1758 * include/bits/regex.tcc (match_results<>::format,
1759 regex_replace<>): Update __out after calling std::copy.
1760 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1762 * testsuite/28_regex/match_results/format.cc: Likewise.
1764 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1767 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1768 allocator_type&)): Remove redundant call to _M_initialize_map.
1769 (deque::deque(const allocator_type&)): Initialize _Base with a
1770 constructor that calls _M_initialize_map.
1774 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1776 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1779 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1781 Rename testsuite directory shared_mutex to shared_timed_mutex
1783 * testsuite/30_threads/shared_mutex: Moved to...
1784 * testsuite/30_threads/shared_timed_mutex: ...here
1786 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1788 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1789 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1790 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1791 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1792 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1793 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1794 * testsuite/30_threads/shared_lock/requirements/
1795 explicit_instantiation.cc: Ditto.
1796 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1797 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1798 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1799 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1800 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1801 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1802 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1803 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1804 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1805 * testsuite/30_threads/shared_mutex/requirements/
1806 standard_layout.cc: Ditto.
1807 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1808 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1809 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1810 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1811 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1813 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1815 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1816 execution on i?86-*-solaris2.9, remove comment.
1817 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1819 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1821 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1822 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1823 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1825 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1827 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1828 not use varargs when argument could be non-POD.
1829 (__alloctr_rebind_helper): Eliminate static const bool member by
1830 using true_type and false_type.
1831 (allocator_traits::__allocate_helper): Likewise.
1832 (allocator_traits::__construct_helper): Likewise.
1833 (allocator_traits::__destroy_helper): Likewise.
1834 (allocator_traits::__maxsize_helper): Likewise.
1835 (allocator_traits::__select_helper): Likewise.
1836 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1837 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1838 Remove redundant condition.
1839 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1841 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1842 indirection through __alloc_traits.
1843 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1844 Eliminate static const bool members by using true_type and false_type.
1845 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1846 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1847 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1849 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1852 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1853 (vector::_M_data_ptr): New overloaded functions to ensure empty
1854 vectors do not dereference the pointer.
1855 * testsuite/23_containers/vector/59829.cc: New.
1856 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1857 Adjust dg-error line number.
1858 * testsuite/23_containers/vector/requirements/dr438/
1859 constructor_1_neg.cc: Likewise.
1860 * testsuite/23_containers/vector/requirements/dr438/
1861 constructor_2_neg.cc: Likewise.
1862 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1866 * include/ext/array_allocator.h: Add deprecated attribute.
1869 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1870 installation and use of python printers.
1871 * doc/xml/manual/status_cxx2011.xml: Update.
1872 * doc/html/*: Regenerate.
1874 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1875 Kyle Lippincott <spectral@google.com>
1878 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1879 constructor and grant friendship to weak_ptr.
1880 (weak_ptr::lock()): Use new constructor.
1881 * include/bits/shared_ptr_base.h
1882 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1883 and define specializations.
1884 (__shared_count): Add new non-throwing constructor.
1885 (__shared_ptr): Add new non-throwing constructor and grant friendship
1887 (__weak_ptr::lock()): Use new constructor.
1888 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1889 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1891 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1894 * include/bits/shared_ptr_base.h
1895 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1898 2014-01-27 Jason Merrill <jason@redhat.com>
1903 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1904 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1905 (__cxa_allocate_exception): Don't set it here.
1907 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1909 * include/bits/stl_map.h: Remove anachronistic comment.
1910 * include/bits/stl_multimap.h: Add whitespace.
1911 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1912 -std=gnu++11 instead of -std=c++11.
1913 * testsuite/23_containers/map/operators/2.cc: Likewise.
1914 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1915 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1916 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1918 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1919 * configure: Regenerate.
1921 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1924 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1925 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1927 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1928 Peter A. Bigot <pab@pabigot.com>
1931 * include/experimental/string_view
1932 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1933 Correct copy start location.
1935 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1936 Peter A. Bigot <pab@pabigot.com>
1939 * include/experimental/string_view (operator[](size_type) const):
1940 Fix one-off index error in debug check.
1941 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1942 test basic_string_view at size().
1943 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1945 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1946 Peter A. Bigot <pab@pabigot.com>
1949 * include/experimental/string_view
1950 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1951 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1952 Comment out catch of out_of_range; No terminating null
1953 in basic_string_view. Check begin == end.
1954 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1957 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1960 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1961 constructor to prevent it being implicitly defined as deleted, but
1962 do not copy anything.
1963 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1964 Define copy and move constructors similar to _Safe_sequence_base's.
1965 * testsuite/23_containers/unordered_map/59548.cc: New.
1967 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1968 Steve Ellcey <sellcey@mips.com>
1970 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1972 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1973 * (configure, config.h.in): Regenerate.
1974 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1976 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1978 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1979 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1982 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1983 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1985 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1987 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1988 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1989 functions to perform moving or copying of elements from rvalue tree.
1990 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1991 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1992 * testsuite/23_containers/map/59872.cc: New.
1993 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1995 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1997 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2000 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2001 Split into separate default constructor and constructor taking
2003 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2004 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2006 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2007 * include/debug/list (list::list(const _Allocator&)): Likewise.
2008 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2010 * include/debug/multimap.h
2011 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2012 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2014 * include/debug/multiset.h
2015 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2016 * include/debug/vector (vector::vector(const allocator_type&)):
2018 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2019 * include/profile/list (list::list(const _Allocator&)): Likewise.
2020 * include/profile/map.h
2021 (map::map(const _Compare&, const _Allocator&)): Likewise.
2022 * include/profile/multimap.h
2023 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2024 * include/profile/set.h
2025 (set::set(const _Compare&, const _Allocator&)): Likewise.
2026 * include/profile/multiset.h
2027 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2028 * include/profile/vector (vector::vector(const _Allocator&)):
2030 * testsuite/23_containers/deque/58764.cc: New.
2031 * testsuite/23_containers/list/58764.cc: New.
2032 * testsuite/23_containers/map/58764.cc: New.
2033 * testsuite/23_containers/multimap/58764.cc: New.
2034 * testsuite/23_containers/set/58764.cc: New.
2035 * testsuite/23_containers/multiset/58764.cc: New.
2036 * testsuite/23_containers/vector/58764.cc: New.
2037 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2038 Adjust dg-error line number.
2039 * testsuite/23_containers/deque/requirements/dr438/
2040 constructor_1_neg.cc: Likewise.
2041 * testsuite/23_containers/deque/requirements/dr438/
2042 constructor_2_neg.cc: Likewise.
2043 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2045 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2047 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2049 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2051 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2053 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2055 * testsuite/23_containers/vector/requirements/dr438/
2056 constructor_1_neg.cc: Likewise.
2057 * testsuite/23_containers/vector/requirements/dr438/
2058 constructor_2_neg.cc: Likewise.
2059 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2062 PR libstdc++/58764 (again)
2063 * include/bits/stl_list.h (list): Make default constructor's exception
2064 specification conditional.
2065 * include/bits/stl_vector.h (vector): Likewise.
2066 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2067 to default constructor.
2068 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2069 Adjust dg-error line number.
2070 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2072 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2074 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2076 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2078 * testsuite/23_containers/vector/requirements/dr438/
2079 constructor_1_neg.cc: Likewise.
2080 * testsuite/23_containers/vector/requirements/dr438/
2081 constructor_2_neg.cc: Likewise.
2082 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2085 2014-01-21 Tim Shen <timshen91@gmail.com>
2087 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2088 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2089 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2091 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2094 * include/bits/hashtable.h (__cache_default): Do not depend on
2095 whether the hash function is DefaultConstructible or CopyAssignable.
2096 (_Hashtable): Adjust static assertions.
2097 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2098 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2099 dg-error line number.
2100 * testsuite/23_containers/unordered_set/
2101 not_default_constructible_hash_neg.cc: Remove.
2103 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2105 * scripts/create_testsuite_files: Add testsuite/experimental in
2106 the list of folders to search for tests.
2107 * include/experimental/string_view
2108 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2109 incompatible with constexpr qualifier.
2110 (basic_string_view<>::front()): Likewise.
2111 (basic_string_view<>::back()): Likewise.
2112 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2113 Merge dg-options directives into one.
2114 * testsuite/experimental/string_view/element_access/char/2.cc:
2115 Likewise. Remove invalid experimental namespace scope on
2118 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2121 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2122 friendship to _Local_iterator_base<..., false>.
2123 (_Local_iterator_base): Give protected access to all existing members.
2124 (_Local_iterator_base::_M_curr()): New public accessor.
2125 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2126 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2127 the lifetime of the _Hash_code_base explicitly.
2128 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2129 (_Local_iterator_base<..., false>): Define copy constructor and copy
2130 assignment operator that use new functions to manage _Hash_code_base.
2131 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2132 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2133 Use public API for _Local_iterator_base.
2134 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2135 * include/debug/unordered_map (__debug::unordered_map::erase(),
2136 __debug::unordered_multimap::erase()): Likewise.
2137 * include/debug/unordered_set (__debug::unordered_set::erase(),
2138 __debug::unordered_multiset::erase()): Likewise.
2139 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2141 2014-01-19 Tim Shen <timshen91@gmail.com>
2143 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2144 Fix parse error of multiple consecutive quantifiers like "a**".
2145 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2147 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2149 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2151 * include/profile/set.h (set): Implement C++11 allocator-aware
2152 container requirements.
2153 * include/profile/map.h (map): Likewise.
2154 * include/profile/multiset.h (multiset): Likewise.
2155 * include/profile/multimap.h (multimap): Likewise.
2156 * include/profile/set.h
2157 (set::operator=(const set&)): Define as default in C++11 mode.
2158 (set::operator=(set&&)): Likewise.
2159 * include/profile/map.h
2160 (map::operator=(const map&)): Likewise.
2161 (map::operator=(map&&)): Likewise.
2162 * include/profile/multiset.h
2163 (multiset::operator=(const multiset&)): Likewise.
2164 (multiset::operator=(multiset&&)): Likewise.
2165 * include/profile/multimap.h
2166 (multimap::operator=(const multimap&)): Likewise.
2167 (multimap::operator=(multimap&&)): Likewise.
2168 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2169 Rely on the same operator from normal mode.
2170 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2172 * include/profile/multiset.h
2173 (multiset::operator=(std::initializer_list<>)): Likewise.
2174 * include/profile/multimap.h
2175 (multimap::operator=(std::initializer_list<>)): Likewise.
2176 * include/profile/set.h (set::swap(set&)): Add noexcept
2178 * include/profile/map.h (map::swap(map&)): Likewise.
2179 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2180 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2182 2014-01-17 Tim Shen <timshen91@gmail.com>
2184 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2186 * include/bits/regex_automaton.h: Do not use std::set.
2187 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2188 _BracketMatcher<>::_M_add_collating_element(),
2189 _BracketMatcher<>::_M_add_equivalence_class(),
2190 _BracketMatcher<>::_M_make_range()): Likewise.
2191 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2193 * include/bits/regex_executor.h: Do not use std::queue.
2194 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2195 _Executor<>::_M_dfs()): Likewise.
2196 * include/std/regex: Remove <map>, <set> and <queue>.
2198 2014-01-17 Tim Shen <timshen91@gmail.com>
2200 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2201 basic_regex<>::assign()): Change __compile_nfa to accept
2203 * include/bits/regex_compiler.h: Change _Compiler's template
2204 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2205 * include/bits/regex_compiler.tcc: Likewise.
2207 2014-01-17 Tim Shen <timshen91@gmail.com>
2209 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2211 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2212 _ScannerBase from _Scanner; Change _Scanner's template argument from
2213 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2215 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2216 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2217 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2219 * include/std/regex: Add <cstring> for using strchr.
2221 2014-01-17 Tim Shen <timshen91@gmail.com>
2223 * bits/regex_automaton.tcc: Indentation fix.
2224 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2225 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2226 _BracketMatcher<>): Add bool option template parameters and
2227 specializations to make matching more efficient and space saving.
2228 * bits/regex_compiler.tcc: Likewise.
2230 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2233 * include/bits/hashtable_policy.h: Fix some long lines.
2234 * include/bits/hashtable.h (__hash_code_base_access): Define and
2235 use it to check its _M_bucket_index noexcept qualification. Use
2237 (__access_protected_ctor): ...this.
2238 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2240 * testsuite/23_containers/unordered_set/
2241 not_default_constructible_hash_neg.cc: Likewise.
2243 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2245 * include/debug/set.h (set): Implement C++11 allocator-aware
2246 container requirements.
2247 * include/debug/map.h (map): Likewise.
2248 * include/debug/multiset.h (multiset): Likewise.
2249 * include/debug/multimap.h (multimap): Likewise.
2250 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2251 fix implementation regarding management of safe iterators.
2252 * include/debug/map.h (map::operator=(map&&)): Likewise.
2253 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2254 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2256 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2257 Rely on the same operator from normal mode.
2258 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2260 * include/debug/multiset.h
2261 (multiset::operator=(std::initializer_list<>)): Likewise.
2262 * include/debug/multimap.h
2263 (multimap::operator=(std::initializer_list<>)): Likewise.
2264 * include/debug/set.h (set::swap(set&)): Add noexcept
2265 specification, add allocator equality check.
2266 * include/debug/map.h (map::swap(map&)): Likewise.
2267 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2268 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2270 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2273 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2274 and stylistic improvements.
2275 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2276 and update for C++11.
2277 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2280 * doc/xml/manual/backwards_compatibility.xml
2281 (backwards.third.nocreate_noreplace): Correct and expand.
2284 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2286 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2289 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2290 support for non-Movable types.
2293 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2295 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2297 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2298 *this allocator instance when building temporary vector instance
2299 so that *this allocator does not get moved.
2300 * include/debug/safe_base.h
2301 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2302 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2303 move constructor from _Safe_sequence_base.
2304 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2305 safe iterators if the instance is moved.
2306 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2307 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2308 check on a vector iterator.
2309 * testsuite/23_containers/vector/allocator/move_assign.cc
2311 (test03): New, test with a non-propagating allocator.
2312 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2314 2014-01-07 Tim Shen <timshen91@gmail.com>
2316 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2317 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2318 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2319 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2320 _BracketMatcher<>::_M_add_char(),
2321 _BracketMatcher<>::_M_add_collating_element(),
2322 _BracketMatcher<>::_M_add_equivalence_class(),
2323 _BracketMatcher<>::_M_add_character_class(),
2324 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2325 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2326 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2327 to template parameter; Add cache for _BracketMatcher. Adjust
2328 declarations from here...
2329 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2330 imbuing a regex will trigger a recompilation to rebuild the cache.
2331 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2332 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2333 different template bool parameters.
2334 * include/bits/regex_executor.h: Remove unnecessary declarations.
2335 * include/std/regex: Adjust including orders.
2336 * testsuite/28_regex/traits/char/user_defined.cc: New.
2337 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2339 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2341 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2342 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2343 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2344 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2345 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2347 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2349 Update copyright years
2351 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2353 * testsuite/18_support/new_handler.cc,
2354 testsuite/18_support/terminate_handler.cc,
2355 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2356 the copyright notice.
2358 Copyright (C) 2014 Free Software Foundation, Inc.
2360 Copying and distribution of this file, with or without modification,
2361 are permitted in any medium without royalty provided the copyright
2362 notice and this notice are preserved.