1 2014-09-15 Jakub Jelinek <jakub@redhat.com>
3 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
4 check_p_numbers2, check_p_numbers3, check_p_numbers4,
5 check_p_numbers5, check_p_numbers6, check_p_numbers,
6 check_p_subdirs): New variables.
7 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
8 (check-DEJAGNU): Rewritten so that for parallelized
9 testing each job runs all the *.exp files, with
10 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
11 * testsuite/Makefile.in: Regenerated.
12 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
13 gcc_parallel_test_enable): New procedures. If
14 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
15 runtest_file_p to invoke also gcc_parallel_test_run_p.
16 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
17 by the first parallel runtest encountering it. Fix up path
18 of the extract_symvers script.
19 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
20 serially by the first parallel runtest encountering it. Run
21 dg-finish even in case of error.
23 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
25 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
26 parameters to _Ch_traits.
28 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
30 * include/debug/deque (__gnu_debug::deque): Make base class C++11
33 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
36 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
37 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
39 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
42 * include/bits/regex.h (match_results::format): Remove stray template
44 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
45 Remove parameter name to avoid -Wunused-parameter warning.
46 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
47 mem-initializers to avoid -Wreorder warning.
48 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
49 Remove parameter name to avoid -Wunused-parameter warning.
50 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
51 to avoid -Wempty-body warning when not in debug mode.
53 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
55 * python/hook.in: Load the xmethods.
56 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
57 * python/Makefile.in: Regenerated.
58 * python/libstdcxx/v6/xmethods.py: New file.
59 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
61 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
62 python script if LOAD_XMETHODS is true.
63 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
64 * testsuite/libstdc++-xmethods/vector.cc: New file.
65 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
67 2014-09-10 Tony Wang <tony.wang@arm.com>
70 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
71 Return with CONTINUE_UNWINDING when the state pattern
72 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
74 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
76 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
77 allocator propagation.
78 (deque::emplace_front, deque::emplace_back): Use allocator traits.
79 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
80 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
81 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
82 (_Deque_iterator): Handle allocators with custom pointers.
83 (_Deque_base): Likewise. Use allocator traits.
84 (deque): Likewise. Add allocator-extended constructors.
85 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
86 assignment via tag dispatching.
87 (deque::_M_replace_map): Replace existing data.
88 * include/debug/deque (deque): Add allocator-extended constructors.
89 * include/profile/deque (deque): Likewise.
90 * testsuite/23_containers/deque/allocator/copy.cc: New.
91 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
92 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
93 * testsuite/23_containers/deque/allocator/minimal.cc: New.
94 * testsuite/23_containers/deque/allocator/move.cc: New.
95 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
96 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
97 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
98 * testsuite/23_containers/deque/allocator/swap.cc: New.
99 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
100 Adjust dg-error line number.
101 * testsuite/23_containers/deque/requirements/dr438/
102 constructor_1_neg.cc: Likewise.
103 * testsuite/23_containers/deque/requirements/dr438/
104 constructor_2_neg.cc: Likewise.
105 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
107 * testsuite/23_containers/vector/52591.cc: Test both the propagating
108 and always-equal cases.
110 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
112 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
114 (_Hash_code_base<>): All specialization default constructible if
116 (_Hashtable_base<>): Likewise.
117 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
118 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
119 implementation defaulted.
120 (unordered_multimap<>::unordered_multimap()): Likewise.
121 * include/bits/unordered_set.h
122 (unordered_set<>::unordered_set()): Likewise.
123 (unordered_multiset<>::unordered_multiset()): Likewise.
124 * include/debug/unordered_map: Likewise.
125 * include/debug/unordered_set: Likewise.
126 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
128 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
130 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
132 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
135 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
137 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
139 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
141 * include/std/complex (complex): Define copy constructor and
142 assignment operator as defaulted. Improve Doxygen comments.
144 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
146 * testsuite/ext/random/*: Fix incorrect standard references in
149 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
152 * include/Makefile.am (install-freestanding-headers): Add missing
154 * include/Makefile.in: Regenerate.
156 2014-08-21 Tony Wang <tony.wang@arm.com>
158 * testsuite/18_support/nested_exception/62154.cc: Disable when the
159 target doesn't provide atomic builtins.
161 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
162 Kai Tietz <ktietz@redhat.com>
164 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
166 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
168 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
169 #include <windows.h>.
170 (struct elt): Add dll member.
171 (run): Decrement dll refcount.
172 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
174 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
177 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
178 Rewrite to conform to C++11 requirements.
179 * testsuite/18_support/nested_exception/62154.cc: New.
181 2014-08-14 Matthias Klose <doko@ubuntu.com>
183 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
184 Remove empty directory.
186 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
188 * testsuite/26_numerics/random/linear_congruential_engine/
189 requirements/non_uint_neg.cc: Adjust for parser change.
190 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
191 requirements/non_uint_neg.cc: Likewise.
193 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
196 * include/std/thread (thread::_M_start_thread): Declare new overload.
197 (thread::thread<_Callable, _Args...>): Call new overload with an
198 explicit reference to pthread_create.
199 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
200 * config/abi/pre/gnu.ver: Export new function.
202 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
204 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
206 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
208 * Fix thinko in the last commit.
210 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
213 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
214 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
216 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
218 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
219 and add overloads for rvalue streams.
220 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
222 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
225 * include/bits/basic_string.h (getline): Declare inline.
227 2014-08-09 Ulrich Drepper <drepper@gmail.com>
229 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
230 (uniform_on_sphere_distribution::operator()): Use the new helper
231 class for the implementation.
233 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
234 equal.cc: Remove bogus part of comment.
235 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
236 inequal.cc: Likewise.
237 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
238 serialize.cc: Add check to verify result of serialzation and
240 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
241 generate.cc: New file.
243 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
245 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
246 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
248 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
251 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
252 _M_need_rehash to initialize the rehash policy and check if a rehash is
254 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
256 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
258 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
260 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
261 Adjust dg-error line number.
262 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
264 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
266 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
269 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
271 (_State_baseV2::_M_do_set): Change parameters to pointers.
272 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
273 (_State_baseV2::__setter): Initialize _Setter with pointers.
274 (_State_baseV2::__setter(promise<void>*)): Remove overload.
275 (promise::set_value, promise::set_exception): Pass setter directly
277 (_State_baseV2::_Task_setter): Add template parameter for callable
278 type and replace std::function member with pointer to that type.
279 Change _M_result member from reference to pointer.
280 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
281 and initialize _Task_setter with pointers.
282 (__location_invariant): Specialize for _Setter and _Task_setter.
284 * include/std/future (__location_invariant): Move specializations
285 after preprocessor condition.
287 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
290 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
292 2014-08-01 Zifei Tong <zifeitong@gmail.com>
294 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
295 _GLIBCXX_ prefix to macro.
297 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
299 * python/libstdcxx/v6/printers.py
300 (SingleObjContainerPrinter._contained): Use compatibility mixin.
302 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
304 * testsuite/util/testsuite_allocator.h
305 (tracker_allocator_counter::allocate): Remove new invocation, only
307 (tracker_allocator_counter::deallocate): Remove delete invocation, only
309 (check_inconsistent_alloc_value_type): New.
310 (tracker_allocator): Transform as a facade for any allocator type.
311 (uneq_allocator): Likewise.
312 (propagating_allocator): Likewise.
313 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
314 explicitly non propagating allocator.
315 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
316 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
317 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
318 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
319 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
321 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
323 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
325 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
327 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
329 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
332 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
333 const allocator_type&)): Pass non-const allocator to
335 * testsuite/ext/rope/61946.cc: New.
338 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
339 disambiguate unary constructors.
340 (_Tuple_impl): Pass allocator_arg_t arguments.
341 * testsuite/20_util/tuple/61947.cc: New.
342 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
344 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
346 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
347 * include/bits/random.h (_Adaptor): static_assert for non floating-point
349 * include/bits/random.tcc (generate_canonical): Ditto.
350 * include/ext/random.tcc (hypergeometric_distribution::operator()):
351 Use double as a rng result type.
352 * testsuite/26_numerics/random/pr60037-neg.cc: New.
353 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
355 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
357 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
359 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
361 * include/experimental/string_view: Make the literal operators
362 constexpr like the ctors they call.
364 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
366 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
368 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
370 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
371 to string instead of using gdb.Type.name attribute.
373 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
375 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
378 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
381 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
383 (SingleObjContainerPrinter): Check if type printers are in use.
385 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
387 * include/ext/random: Minor formatting and cosmetic tweaks.
388 (uniform_on_sphere_distribution<>::operator==
389 (const uniform_on_sphere_distribution&,
390 const uniform_on_sphere_distribution&)): Compare the _M_nds.
391 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
392 (operator!=(const uniform_on_sphere_distribution&,
393 const uniform_on_sphere_distribution&)): Adjust.
394 * include/ext/random.tcc: Minor cosmetc tweaks.
396 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
398 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
399 printer for class templates.
400 (register_type_printers): Use TemplateTypePrinter for containers
401 and other class templates with default template arguments.
402 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
404 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
405 base class for experimental::any and experimental::optional printers.
406 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
407 New printers for Fundamentals TS types.
408 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
410 2014-07-15 Tim Shen <timshen@google.com>
413 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
414 Clear match queue for next use.
415 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
417 2014-07-14 Ulrich Drepper <drepper@gmail.com>
419 * include/ext/random.tcc: Unfortunately more fixes for
420 operator>> and operator<< for uniform_on_sphere_distribution.
422 2014-07-13 Ulrich Drepper <drepper@gmail.com>
424 * include/ext/random.tcc: Fix operator>> and operator<< for
425 uniform_on_sphere_distribution.
427 2014-07-12 Ulrich Drepper <drepper@gmail.com>
429 * include/ext/random: Add uniform_on_sphere_distribution definition.
430 * include/ext/random.tcc: Add out-of-band member function definitions
431 for uniform_on_sphere_distribution.
432 * testsuite/ext/random/uniform_on_sphere_distribution/
433 cons/default.cc: New file.
434 * testsuite/ext/random/uniform_on_sphere_distribution/
435 operators/equal.cc: New file.
436 * testsuite/ext/random/uniform_on_sphere_distribution/
437 operators/inequal.cc: New file.
438 * testsuite/ext/random/uniform_on_sphere_distribution/
439 operators/serialize.cc: New file.
441 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
443 Add the logistic_distribution as an extension.
444 * include/ext/random: Add the logistic_distribution.
445 * include/ext/random.tcc: Add the logistic_distribution.
446 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
447 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
448 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
450 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
451 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
452 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
455 2014-07-11 Samuel Bronson <naesten@gmail.com>
457 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
458 instead of insisting that GCC understand -fdiagnostics-color=never
460 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
463 2014-07-11 Samuel Bronson <naesten@gmail.com>
464 Matthias Klose <doko@ubuntu.com>
467 * python/libstdcxx/v6/printers.py: Port to Python 2+3
468 (imap): New compat function.
470 (Iterator): New mixin to allow writing iterators in Python 3 style
471 regardless of which version we're running on.
472 [Python3] (long) New compat alias for "int".
473 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
475 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
477 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
478 tuple members to simplify pretty printing.
479 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
481 * testsuite/experimental/any/cons/4.cc: New.
483 2014-07-09 Jason Merrill <jason@redhat.com>
486 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
487 * libsupc++/tinfo.h: Not here.
489 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
491 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
493 * include/experimental/any: Remove unused header.
494 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
495 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
496 * testsuite/util/testsuite_regex.h: Move include guard.
498 2014-07-01 Tim Shen <timshen@google.com>
502 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
503 a NFA state limit. If it's exceeded, regex_constants::error_space
505 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
506 map (which is sparse) instead of vector. This reduce n times clones'
507 cost from O(n^2) to O(n).
508 * include/std/regex: Add map dependency.
509 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
512 2014-07-01 Tim Shen <timshen@google.com>
515 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
516 not just regex containing back-references.
517 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
518 exchange _M_next and _M_alt for alternative operator,
519 making matching from left to right.
520 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
521 Add position tracking fom DFS.
522 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
523 _Executor<>::_M_dfs): Likewise.
524 * include/bits/regex_scanner.h: Remove unused enum entry.
525 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
528 2014-06-30 Jason Merrill <jason@redhat.com>
530 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
533 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
536 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
537 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
540 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
542 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
544 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
546 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
548 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
551 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
553 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
554 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
555 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
557 * include/ext/alloc_traits.h: Fix comment.
559 * include/Makefile.am: Add new header.
560 * include/Makefile.in: Regenerate.
561 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
562 New RAII utilities for working with allocators.
563 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
564 __allocator_type typedef and use new __allocated_ptr type.
565 (_Sp_counted_ptr_inplace): Likewise.
566 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
567 __allocate_guarded to to simplify exception handling.
568 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
569 * include/std/future (_Result_alloc::_M_destroy): Likewise.
570 (_Result_alloc::_S_allocate_result): Likewise.
571 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
572 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
573 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
574 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
576 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
578 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
580 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
581 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
583 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
585 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
586 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
587 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
588 Remove unused typedef.
589 (time_get::do_get_monthname): Likewise.
590 * include/bits/stl_tree.h: Add system_header pragma.
591 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
592 redundant const-qualifier.
593 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
594 instead of _GLIBCXX_USE_CONSTEXPR.
596 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
598 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
599 * include/std/chrono (_Checked_integral_constant): Allow zero.
600 * testsuite/20_util/duration/literals/values.cc: Test non-positive
601 values and digit separators.
602 * include/experimental/any
605 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
606 apply the signed specifier to wchar_t.
607 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
608 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
609 cv-qualifier and size.
610 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
613 * include/experimental/any (any_v1): Rename namespace to
614 fundamentals_v1. Change string returned by bad_any_cast::what().
615 * include/experimental/optional (fundamentals_v1): Add namespace.
616 * include/experimental/string_view (fundamentals_v1): Likewise.
617 * testsuite/experimental/any/typedefs.cc: New.
618 * testsuite/experimental/optional/typedefs.cc: New.
619 * testsuite/experimental/string_view/typedefs.cc: New.
621 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
622 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
625 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
627 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
629 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
630 * include/Makefile.am: Add new header.
631 * include/Makefile.in: Regenerate.
632 * include/experimental/any: New.
633 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
635 * testsuite/experimental/any/assign/1.cc: New.
636 * testsuite/experimental/any/assign/2.cc: New.
637 * testsuite/experimental/any/cons/1.cc: New.
638 * testsuite/experimental/any/cons/2.cc: New.
639 * testsuite/experimental/any/cons/3.cc: New.
640 * testsuite/experimental/any/misc/any_cast.cc: New.
641 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
642 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
643 * testsuite/experimental/any/misc/swap.cc: New.
644 * testsuite/experimental/any/modifiers/1.cc: New.
645 * testsuite/experimental/any/observers/type.cc: New.
647 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
648 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
650 * include/bits/shared_ptr.h (shared_ptr): Likewise.
651 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
653 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
655 * include/parallel/list_partition.h (__parallel::list_partition):
657 * include/std/iomanip (quoted): Likewise.
658 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
660 * doc/xml/api.xml: Link to more recent API docs.
661 * include/bits/allocator.h: Fix link in doxygen comment.
662 * include/bits/char_traits.h: Likewise.
663 * include/bits/ios_base.h: Likewise.
664 * include/bits/stl_map.h: Likewise.
665 * include/bits/stl_multimap.h: Likewise.
666 * include/bits/stl_multiset.h: Likewise.
667 * include/bits/stl_set.h: Likewise.
668 * include/bits/unordered_map.h: Likewise.
669 * include/bits/unordered_set.h: Likewise.
670 * include/ext/mt_allocator.h: Likewise.
671 * include/std/fstream: Likewise.
672 * include/std/iosfwd: Likewise.
673 * include/std/ostream: Likewise.
674 * include/std/sstream: Likewise.
675 * include/std/streambuf: Likewise.
676 * doc/html/*: Regenerate.
678 * include/experimental/any (any_cast): Combine duplicate doxygen
680 * include/experimental/string_view (basic_string_view): Update
682 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
683 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
684 (dynamic_bitset): Improve Doxygen comments.
685 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
688 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
690 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
691 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
693 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
696 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
697 (bin_search_tree_traits): Do not redeclare template-parameters.
698 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
700 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
702 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
703 parameter for DocBook HTML generation.
704 * doc/Makefile.in: Regenerate.
705 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
706 * doc/xml/faq.xml: Update content and improve formatting.
707 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
708 * doc/xml/manual/allocator.xml: Add stable ID attribute.
709 * doc/xml/manual/bitmap_allocator.xml: Likewise.
710 * doc/xml/manual/build_hacking.xml: Likewise.
711 * doc/xml/manual/codecvt.xml: Change URL.
712 * doc/xml/manual/ctype.xml: Add stable ID attribute.
713 * doc/xml/manual/debug_mode.xml: Likewise.
714 * doc/xml/manual/documentation_hacking.xml: Likewise.
715 * doc/xml/manual/evolution.xml: Likewise.
716 * doc/xml/manual/extensions.xml: Likewise.
717 * doc/xml/manual/locale.xml: Likewise.
718 * doc/xml/manual/messages.xml: Make section id consistent, improve
720 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
721 * doc/xml/manual/profile_mode.xml: Likewise.
722 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
723 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
724 * doc/xml/manual/status_cxx2011.xml: Likewise.
725 * doc/xml/manual/status_cxx2014.xml: Likewise.
726 * doc/xml/manual/status_cxxtr1.xml: Likewise.
727 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
728 * doc/xml/manual/using.xml: Likewise.
729 * doc/html/*: Regenerate.
731 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
733 * include/tr1/beta_function.tcc: Fix spelling of include guard in
736 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
738 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
740 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
742 DR 2344 - std::quoted doesn't respect padding
743 * include/std/iomanip: Allow for padding in quoted inserters.
744 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
745 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
747 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
749 * testsuite/23_containers/map/operators/1.cc: Simplify test.
751 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
753 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
755 * doc/xml/manual/backwards_compatibility.xml
756 (backwards.second.stringstreams): Likewise.
757 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
759 * doc/xml/manual/containers.xml (associative.bitset.type_string):
760 Replace <quote> in code example.
761 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
762 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
763 fix typos, improve markup.
764 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
765 <emphasis> with <replaceable>.
766 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
767 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
768 and remove newlines in string literal.
770 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
774 * testsuite/20_util/is_assignable/value.cc: Update.
776 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
778 * include/std/condition_variable (condition_variable_any::_Unlock): Do
779 not swallow __forced_unwind.
780 * include/std/future (__future_base::_Task_setter): Likewise.
781 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
783 * include/std/mutex (try_lock): Likewise.
784 * testsuite/30_threads/async/forced_unwind.cc: New.
785 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
787 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
788 members to avoid wasted space when not using a cache.
789 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
790 * include/bits/regex_compiler.tcc
791 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
793 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
794 New enumeration type to indicate match mode.
795 (__detail::_Executor::_State_info): New type holding members only
796 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
798 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
799 Replace template parameter with run-time function parameter.
800 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
801 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
802 implement DFS and BFS mode.
803 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
804 Split implementation into ...
805 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
806 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
807 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
808 argument instead of template argument.
809 (__detail::_Executor::_M_dfs): Likewise.
810 * include/bits/regex_scanner.tcc: Fix typos in comments.
811 * testsuite/performance/28_regex/range.cc: New.
813 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
814 Jonathan Wakely <jwakely@redhat.com>
816 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
818 (aligned_union): New struct (C++11).
819 (aligned_union_t): New type alias (C++14).
820 * doc/xml/manual/status_cxx2011.xml: Update.
821 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
822 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
825 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
828 * include/experimental/string_view (operator basic_string): Correct
830 (to_string): Replace with member function.
831 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
832 allow _M_str to be null.
833 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
834 default constructor semantics.
835 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
836 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
837 copyright dates. Remove unused header.
838 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
840 * testsuite/experimental/string_view/operations/data/char/1.cc:
841 Fix copyright dates. Adjust to new default constructor semantics.
842 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
844 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
846 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
847 (__uses_allocator_arg): Remove unused type.
848 (__uses_alloc0): Turn into a trivial type.
849 (__uses_alloc): Add missing template parameter in primary template.
850 (__uses_alloc_impl): Rename to __uses_alloc_t.
852 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
854 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
855 work with previous versions of Tcl.
857 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
858 Benjamin's old email address.
860 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
863 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
865 * include/tr2/bool_set: Use UTF-8 for accented characters.
866 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
867 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
868 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
870 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
873 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
875 (_State_base::_M_dot): Likewise.
877 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
879 * include/profile/map.h: Fix typo in comment; minor formatting fix.
880 * include/profile/multimap.h: Likewise.
881 * include/profile/set.h: Likewise.
882 * include/profile/multiset.h: Likewise.
884 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
886 * include/profile/array: Clean useless white chars.
887 * include/profile/base.h: Likewise.
888 * include/profile/iterator_tracker.h: Likewise.
889 * include/profile/bitset: Code cleanup and remove not instrumented code.
890 * include/profile/deque: Likewise.
891 * include/profile/forward_list: Likewise.
892 * include/profile/list (std::__profile::_List_profile<>): New.
893 (std::__profile::list<>): Inherit from latter and adapt.
894 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
895 advise to match any ordered to unordered container conversion.
896 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
898 * include/Makefile.am: Add latter.
899 * include/Makefile.in: Regenerate.
900 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
901 remove not instrumented code.
902 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
903 * include/profile/set.h (std::__profile::set<>): Likewise.
904 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
905 * include/profile/unordered_base.h: Add some line feed.
906 * include/profile/unordered_map: Clean useless white chars and replace
908 * include/profile/unordered_set: Likewise.
909 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
910 (std::__profile::_Vector_profile_post<>): New.
911 (std::__profile::vector<>): Inherit from latter and adapt.
913 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
916 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
917 dragonfly target selector to all tests that run on freebsd.
919 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
921 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
922 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
924 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
926 * testsuite/30_threads/call_once/60497.cc: Likewise.
927 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
928 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
929 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
930 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
931 * testsuite/30_threads/promise/60966.cc: Likewise.
932 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
933 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
934 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
935 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
936 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
937 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
938 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
939 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
940 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
941 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
942 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
943 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
944 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
945 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
946 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
947 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
948 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
950 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
953 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
955 * testsuite/23_containers/unordered_set/61143.cc: New.
956 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
958 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
961 * include/std/type_traits: Move include outside namespace std.
962 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
963 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
964 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
967 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
970 2014-05-21 John Marino <gnugcc@marino.st>
972 * acinclude.m4 (*-*-dragonfly*): New target.
973 * configure: Regenerate.
974 * configure.host (*-*-dragonfly*): New target.
975 * config/locale/dragonfly/c_locale.cc: New.
976 * config/locale/dragonfly/ctype_members.cc: New.
977 * config/os/bsd/dragonfly/ctype_base.h: New.
978 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
979 * config/os/bsd/dragonfly/ctype_inline.h: New.
980 * config/os/bsd/dragonfly/os_defines.h: New.
982 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
984 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
985 libstdc++.exp imports those flags via getenv.
986 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
987 CXXFLAGS contains a '-O' flag.
989 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
993 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
996 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
997 and add unwind directives.
999 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1001 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1003 2014-05-20 Tim Shen <timshen91@gmail.com>
1006 * include/bits/regex_compiler.h
1007 (_BracketMatcher<>::_M_add_character_class): Add negative character
1009 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1011 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1014 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1016 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1018 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1020 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1021 * libsupc++/new_opnt.cc: Likewise.
1023 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1026 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1027 Pass lock into _M_do_set and hold it until the function returns.
1028 Signal condition variable after call_once completes.
1029 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1031 * testsuite/30_threads/promise/60966.cc: New.
1033 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1034 Sandra Loosemore <sandra@codesourcery.com>
1036 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1037 until after checking that the test is eligible to be run.
1039 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1041 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1042 test for 32-bit target.
1043 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1045 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1048 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1051 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1052 and add unwind directives.
1054 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1056 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1058 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1060 (chrono_literals::_Checked_integral_constant): Define.
1061 Simplify UDL operator templates and check for overflow.
1062 * testsuite/20_util/duration/literals/range.cc: New.
1064 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1065 Jonathan Wakely <jwakely@redhat.com>
1068 * include/bits/parse_numbers.h: Use integral_constant to remove
1069 duplication and simplify.
1070 * testsuite/20_util/duration/literals/61166.cc: New.
1072 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1075 * include/std/type_traits (__make_unsigned, __make_signed): Define
1076 specializations for wchar_t, char16_t and char32_t.
1077 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1078 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1079 test for make_unsigned<volatile wchar_t>.
1080 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1082 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1084 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1086 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1089 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1091 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1092 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1093 * include/std/utility (tuple_size, tuple_element): Likewise.
1094 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1095 Adjust dg-error line number.
1097 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1099 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1100 (__tuple_element_t): Define.
1101 (tuple_element): Use __tuple_element_t.
1102 (__cv_tuple_size): Define.
1103 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1104 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1105 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1106 (__tuple_compare): Remove size check, re-order parameters.
1107 (operator==, operator<): Use static_assert to check requirements.
1108 * include/std/functional (__volget): use __tuple_element_t.
1109 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1110 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1112 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1115 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1116 prevent ADL. Cast comparison results to bool.
1117 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1118 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1121 * include/debug/array (get): Qualify call to other get overload.
1122 * include/profile/array (get): Likewise.
1123 * include/std/array (get): Likewise.
1124 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1125 * include/std/mutex (unique_lock, call_once): Use __addressof.
1126 (__unlock_impl): Remove unused template.
1127 (__try_to_lock): Declare inline.
1128 (__try_lock_impl::__do_try_lock): Qualify function calls.
1129 (lock): Avoid narrowing conversion.
1130 * testsuite/20_util/bind/60497.cc: New.
1131 * testsuite/23_containers/array/element_access/60497.cc: New.
1132 * testsuite/30_threads/call_once/60497.cc: New.
1133 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1135 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1137 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1138 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1139 * acinclude.m4 (libtool_VERSION): Bump.
1140 * configure: Regenerate.
1141 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1142 * testsuite/28_regex/regex_error/base.cc: New.
1144 2014-05-08 Joshua Gay <jgay@gnu.org>
1147 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1148 source" with "free software".
1149 * doc/html/faq.html: Likewise.
1151 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1154 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1156 (operator=(const ios_base&)): Likewise.
1157 * include/std/streambuf: Remove trailing whitespace.
1158 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1159 _M_out_end. Define as defaulted for C++11.
1160 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1161 (swap(basic_streambuf&)): Define for C++11.
1162 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1165 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1167 * include/std/iostream: Fix URL in comment.
1168 * src/c++98/ios_init.cc: Fix path in comment.
1170 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1172 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1173 * configure: Regenerate.
1175 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1178 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1179 comparison function.
1180 * testsuite/23_containers/set/cons/61023.cc: New.
1183 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1185 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1186 arithmetic to obtain a mutable iterator from const_iterator.
1187 * include/bits/vector.tcc (vector::insert): Likewise.
1188 * include/debug/vector (vector::erase): Likewise.
1189 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1190 Adjust dg-error line number.
1191 * testsuite/23_containers/vector/requirements/dr438/
1192 constructor_1_neg.cc: Likewise.
1193 * testsuite/23_containers/vector/requirements/dr438/
1194 constructor_2_neg.cc: Likewise.
1195 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1198 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1200 * include/Makefile.in: Regenerate.
1202 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1204 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1205 parameter to pass the 2 instances to check allocator equality.
1206 * include/debug/safe_container.h: New, define _Safe_container<>.
1207 * include/Makefile.am: Add previous.
1208 * include/debug/deque (std::__debug::deque<>): Inherit
1209 _Safe_container<>. Use default implementation for all special
1211 * include/debug/forward_list (std::__debug::forward_list<>):
1213 * include/debug/list (std::__debug::list<>): Likewise.
1214 * include/debug/map.h (std::__debug::map<>): Likewise.
1215 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1216 * include/debug/set.h (std::__debug::set<>): Likewise.
1217 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1218 * include/debug/string (std::__debug::basic_string<>): Likewise.
1219 * include/debug/unordered_map
1220 (std::__debug::unordered_map<>): Likewise.
1221 (std::__debug::unordered_multimap<>): Likewise.
1222 * include/debug/unordered_set
1223 (std::__debug::unordered_set<>): Likewise.
1224 (std::__debug::unordered_multiset<>): Likewise.
1225 * include/debug/vector (std::__debug::vector<>): Likewise.
1226 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1228 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1229 (~_Safe_sequence_base()): Add noexcept.
1230 * include/debug/safe_sequence.h
1231 (std::__debug::_Safe_node_sequence<>): New.
1232 * include/debug/safe_unordered_base.h
1233 (_Safe_unordered_container_base()): Add noexcept.
1234 (~_Safe_unordered_container_base()): Likewise.
1235 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1236 * include/debug/safe_unordered_container.h:
1237 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1238 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1239 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1241 * testsuite/util/debug/checks.h (check_construct1): Just implement
1242 an invalid constructor invocation and no other operations
1243 potentially not supported by some types of container.
1244 (check_construct2): Likewise.
1245 (check_construct3): Likewise.
1246 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1247 check on iterators to make sure they are correctly moved in debug
1249 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1251 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1252 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1253 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1254 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1256 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1257 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1259 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1260 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1261 * testsuite/23_containers/unordered_map/allocator/move.cc:
1263 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1265 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1267 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1269 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1271 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1273 * testsuite/23_containers/unordered_set/allocator/move.cc:
1275 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1277 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1279 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1281 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1283 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1285 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1287 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1288 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1289 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1290 * testsuite/23_containers/map/debug/move_neg.cc: New.
1291 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1292 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1293 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1294 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1295 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1296 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1297 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1298 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1299 * testsuite/23_containers/set/debug/move_neg.cc: New.
1300 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1302 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1304 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1305 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1307 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1309 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1311 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1313 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1315 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1317 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1319 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1321 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1322 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1324 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1326 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1327 (CXXABI_1.3.9): Remove __float128 symbols.
1329 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1332 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1333 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1334 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1335 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1337 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1340 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1341 Check the correct type in the static assertion.
1342 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1344 2014-04-27 Tim Shen <timshen91@gmail.com>
1346 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1347 Add _S_opcode_repeat support to distingush a loop from
1348 _S_opcode_alternative.
1349 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1350 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1351 _StateSeq<>::_M_clone): Likewise.
1352 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1354 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1355 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1356 Uglify local variable __i.
1357 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1358 Use size_t instead of int to compare with vector::size().
1360 2014-04-27 Tim Shen <timshen91@gmail.com>
1362 * include/bits/regex_executor.h: Add _M_rep_count to track how
1363 many times this repeat node are visited.
1364 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1365 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1368 2014-04-27 Tim Shen <timshen91@gmail.com>
1370 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1371 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1372 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1373 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1374 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1375 Adjust debug NFA dump.
1377 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1380 * include/experimental/optional (operator!=): Implement in terms of
1382 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1383 * testsuite/experimental/optional/relops/2.cc: Likewise.
1384 * testsuite/experimental/optional/relops/3.cc: Likewise.
1385 * testsuite/experimental/optional/relops/4.cc: Likewise.
1386 * testsuite/experimental/optional/relops/5.cc: Likewise.
1387 * testsuite/experimental/optional/relops/6.cc: Likewise.
1389 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1392 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1393 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1396 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1398 * testsuite/util/testsuite_abi.cc (check_version): Update for
1401 2014-04-24 Tim Shen <timshen91@gmail.com>
1403 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1404 Do _M_alt before _M_next.
1405 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1407 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1410 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1411 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1412 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1414 2014-04-24 Andreas Schwab <schwab@suse.de>
1416 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1417 new CXXABI_1.3.9 symbols.
1419 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1421 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1422 (CXXABI_1.3.9): New version.
1424 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1427 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1428 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1429 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1431 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1433 * configure.host: Remove solaris2.9 handling.
1434 Change os_include_dir to os/solaris/solaris2.10.
1435 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1436 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1437 * configure: Regenerate.
1438 * config/abi/post/solaris2.9: Remove.
1439 * config/os/solaris/solaris2.9: Rename to ...
1440 * config/os/solaris/solaris2.10: ... this.
1441 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1444 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1445 Remove Solaris 9 reference.
1446 * doc/html/manual/configure.html: Regenerate.
1448 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1449 Remove *-*-solaris2.9 xfail.
1450 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1453 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1456 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1458 * include/std/functional (__is_location_invariant): Use __or_ helper.
1460 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1463 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1466 * include/std/atomic (atomic<_Tp>): Add static assertion.
1467 * testsuite/29_atomics/atomic/60695.cc: New.
1470 * include/std/functional (function::_Callable): Exclude own type
1471 from the callable checks.
1472 * testsuite/20_util/function/60594.cc: New.
1474 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1475 const to constexpr member functions.
1477 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1478 delegating constructor.
1479 * include/bits/shared_ptr_base.h
1480 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1482 * include/std/atomic: Uglify parameter names.
1485 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1486 1.cc: Fix invalid explicit instantiations with unqualified names.
1487 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1489 * testsuite/20_util/tuple/53648.cc: Likweise.
1490 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1492 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1494 * testsuite/23_containers/unordered_map/requirements/
1495 debug_container.cc: Likewise.
1496 * testsuite/23_containers/unordered_map/requirements/
1497 explicit_instantiation/3.cc: Likewise.
1498 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1500 * testsuite/23_containers/unordered_multimap/requirements/
1501 explicit_instantiation/3.cc: Likewise.
1502 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1504 * testsuite/23_containers/unordered_multiset/requirements/
1505 explicit_instantiation/3.cc: Likewise.
1506 * testsuite/23_containers/unordered_set/requirements/
1507 debug_container.cc: Likewise.
1508 * testsuite/23_containers/unordered_set/requirements/
1509 explicit_instantiation/3.cc: Likewise.
1511 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1512 not use uninitialized members in mem-initializers.
1513 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1514 * testsuite/util/testsuite_common_types.h: Update comment.
1516 * include/experimental/string_view: Fix inconsistent exception specs.
1518 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1519 Remove name of unused parameter.
1521 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1523 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1524 _Vector_base::_M_allocate): NullablePointer requirements do not
1525 include initialization from literal zero, use value-initialization.
1526 * include/bits/vector.tcc (vector::_M_insert_aux,
1527 vector::_M_explace_back_aux): Likewise for assignment.
1529 * include/bits/allocator.h (operator==, operator!=): Add exception
1533 * include/std/tuple (get): Qualify calls to prevent ADL.
1534 * testsuite/20_util/tuple/60497.cc: New.
1536 * include/std/tuple (tuple_element_t): Define.
1537 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1539 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1541 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1544 * include/bits/stl_iterator.h (move_iterator::reference,
1545 move_iterator::operator*): Implement LWG 2106.
1546 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1548 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1550 * include/std/complex (__complex_exp, pow): Specify the template
1551 parameter in calls to std::polar, for expression templates.
1553 2014-04-10 Andreas Schwab <schwab@suse.de>
1555 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1557 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1558 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1560 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1562 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1564 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1565 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1566 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1569 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1570 Jack Howarth <howarth@bromo.med.uc.edu>
1573 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1576 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1578 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1580 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1582 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1583 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1584 * doc/xml/manual/concurrency_extensions.xml
1585 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1586 * doc/html/*: Regenerate.
1588 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1589 Jonathan Wakely <jwakely@redhat.com>
1592 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1593 string if input is not quoted.
1594 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1596 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1598 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1600 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1602 * testsuite/18_support/exception_ptr/60612-terminate.cc
1603 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1604 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1606 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1608 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1610 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1611 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1613 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1615 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1617 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1618 Fix bad s/part/chapter/ substitutions.
1619 * doc/xml/manual/io.xml (std.io): Likewise.
1620 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1621 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1623 * doc/html/*: Regenerate.
1625 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1628 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1629 compatible with __cxa_exception.
1630 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1631 Fix typos in comments.
1632 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1633 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1635 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1638 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1639 Use sizeof pointer type not the element type.
1640 * testsuite/29_atomics/atomic/60658.cc: New.
1642 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1644 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1645 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1646 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1647 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1648 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1649 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1650 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1651 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1652 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1653 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1656 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1658 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1660 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1662 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1663 to delegated constructor.
1664 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1665 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1668 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1670 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1673 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1675 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1678 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1679 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1681 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1682 from different types of debug container. Use _Is_contiguous_sequence
1683 instead of is_lvalue_reference.
1684 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1685 dereferencing past-the-end iterator.
1686 (__foreign_iterator_aux4): Use const value_type* instead of
1687 potentially user-defined const_pointer type.
1688 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1689 and pass end iterator to __gnu_debug::__foreign_iterator.
1690 (__glibcxx_check_insert_range_after): Likewise.
1691 (__glibcxx_check_max_load_factor): Fix comment.
1692 * include/debug/vector (_Is_contiguous_sequence): Define partial
1694 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1695 -std=gnu++11 option and unused header.
1696 * testsuite/23_containers/vector/debug/60587.cc: New.
1697 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1699 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1701 * crossconfig.m4: Support spu-*-elf* targets.
1702 * configure: Regenerate.
1704 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1707 * include/std/future (__future_base::_Task_state<>): Change
1708 constructors to template functions using perfect forwarding.
1709 (__create_task_state): Use decayed type as stored task.
1710 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1711 * testsuite/30_threads/packaged_task/60564.cc: New.
1713 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1715 * scripts/create_testsuite_files: Add testsuite/experimental in
1716 the list of folders to search for tests.
1718 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1720 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1722 2014-03-15 Tim Shen <timshen91@gmail.com>
1724 * include/bits/regex.h: Add/modify comments.
1725 * include/bits/regex_compiler.h: Likewise.
1726 * include/bits/regex_executor.h: Likewise.
1727 * include/bits/regex_executor.tcc: Likewise.
1728 * include/bits/regex_scanner.h: Likewise.
1730 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1733 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1734 _ZNSt12system_errorC* symbols which are not exported on any target.
1736 2014-03-12 Roland McGrath <mcgrathr@google.com>
1737 Mark Seaborn <mseaborn@google.com>
1740 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1741 the address of a null pointer, not with a null pointer to pointer.
1742 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1743 * testsuite/18_support/bad_exception/59392.cc: New file.
1745 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1748 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1750 * include/debug/map (map::operator=(map&&)): Likewise.
1751 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1752 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1753 * include/debug/set (set::operator=(set&&)): Likewise.
1754 * include/debug/unordered_map
1755 (unordered_map::operator=(unordered_map&&)): Likewise.
1756 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1757 * include/debug/unordered_set
1758 (unordered_set::operator=(unordered_set&&)): Likewise.
1759 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1760 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1761 * testsuite/23_containers/forward_list/debug/60499.cc: New
1762 * testsuite/23_containers/map/debug/60499.cc: New
1763 * testsuite/23_containers/multimap/debug/60499.cc: New
1764 * testsuite/23_containers/multiset/debug/60499.cc: New
1765 * testsuite/23_containers/set/debug/60499.cc: New
1766 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1767 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1768 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1769 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1770 * testsuite/23_containers/vector/debug/60499.cc: New
1772 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1774 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1775 for filesystem and fundamentals TS work items.
1777 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1780 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1781 Adjust dg-error directives.
1783 2014-02-26 Tim Shen <timshen91@gmail.com>
1785 * include/bits/regex.tcc (match_results<>::format,
1786 regex_replace<>): Update __out after calling std::copy.
1787 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1789 * testsuite/28_regex/match_results/format.cc: Likewise.
1791 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1794 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1795 allocator_type&)): Remove redundant call to _M_initialize_map.
1796 (deque::deque(const allocator_type&)): Initialize _Base with a
1797 constructor that calls _M_initialize_map.
1801 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1803 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1806 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1808 Rename testsuite directory shared_mutex to shared_timed_mutex
1810 * testsuite/30_threads/shared_mutex: Moved to...
1811 * testsuite/30_threads/shared_timed_mutex: ...here
1813 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1815 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1816 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1817 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1818 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1819 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1820 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1821 * testsuite/30_threads/shared_lock/requirements/
1822 explicit_instantiation.cc: Ditto.
1823 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1824 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1825 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1826 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1827 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1828 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1829 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1830 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1831 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1832 * testsuite/30_threads/shared_mutex/requirements/
1833 standard_layout.cc: Ditto.
1834 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1835 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1836 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1837 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1838 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1840 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1842 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1843 execution on i?86-*-solaris2.9, remove comment.
1844 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1846 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1848 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1849 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1850 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1852 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1854 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1855 not use varargs when argument could be non-POD.
1856 (__alloctr_rebind_helper): Eliminate static const bool member by
1857 using true_type and false_type.
1858 (allocator_traits::__allocate_helper): Likewise.
1859 (allocator_traits::__construct_helper): Likewise.
1860 (allocator_traits::__destroy_helper): Likewise.
1861 (allocator_traits::__maxsize_helper): Likewise.
1862 (allocator_traits::__select_helper): Likewise.
1863 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1864 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1865 Remove redundant condition.
1866 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1868 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1869 indirection through __alloc_traits.
1870 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1871 Eliminate static const bool members by using true_type and false_type.
1872 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1873 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1874 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1876 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1879 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1880 (vector::_M_data_ptr): New overloaded functions to ensure empty
1881 vectors do not dereference the pointer.
1882 * testsuite/23_containers/vector/59829.cc: New.
1883 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1884 Adjust dg-error line number.
1885 * testsuite/23_containers/vector/requirements/dr438/
1886 constructor_1_neg.cc: Likewise.
1887 * testsuite/23_containers/vector/requirements/dr438/
1888 constructor_2_neg.cc: Likewise.
1889 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1893 * include/ext/array_allocator.h: Add deprecated attribute.
1896 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1897 installation and use of python printers.
1898 * doc/xml/manual/status_cxx2011.xml: Update.
1899 * doc/html/*: Regenerate.
1901 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1902 Kyle Lippincott <spectral@google.com>
1905 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1906 constructor and grant friendship to weak_ptr.
1907 (weak_ptr::lock()): Use new constructor.
1908 * include/bits/shared_ptr_base.h
1909 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1910 and define specializations.
1911 (__shared_count): Add new non-throwing constructor.
1912 (__shared_ptr): Add new non-throwing constructor and grant friendship
1914 (__weak_ptr::lock()): Use new constructor.
1915 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1916 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1918 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1921 * include/bits/shared_ptr_base.h
1922 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1925 2014-01-27 Jason Merrill <jason@redhat.com>
1930 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1931 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1932 (__cxa_allocate_exception): Don't set it here.
1934 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1936 * include/bits/stl_map.h: Remove anachronistic comment.
1937 * include/bits/stl_multimap.h: Add whitespace.
1938 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1939 -std=gnu++11 instead of -std=c++11.
1940 * testsuite/23_containers/map/operators/2.cc: Likewise.
1941 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1942 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1943 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1945 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1946 * configure: Regenerate.
1948 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1951 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1952 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1954 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1955 Peter A. Bigot <pab@pabigot.com>
1958 * include/experimental/string_view
1959 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1960 Correct copy start location.
1962 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1963 Peter A. Bigot <pab@pabigot.com>
1966 * include/experimental/string_view (operator[](size_type) const):
1967 Fix one-off index error in debug check.
1968 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1969 test basic_string_view at size().
1970 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1972 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1973 Peter A. Bigot <pab@pabigot.com>
1976 * include/experimental/string_view
1977 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1978 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1979 Comment out catch of out_of_range; No terminating null
1980 in basic_string_view. Check begin == end.
1981 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1984 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1987 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1988 constructor to prevent it being implicitly defined as deleted, but
1989 do not copy anything.
1990 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1991 Define copy and move constructors similar to _Safe_sequence_base's.
1992 * testsuite/23_containers/unordered_map/59548.cc: New.
1994 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1995 Steve Ellcey <sellcey@mips.com>
1997 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1999 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2000 * (configure, config.h.in): Regenerate.
2001 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2003 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2005 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2006 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2009 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2010 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2012 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2014 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2015 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2016 functions to perform moving or copying of elements from rvalue tree.
2017 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2018 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2019 * testsuite/23_containers/map/59872.cc: New.
2020 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2022 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2024 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2027 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2028 Split into separate default constructor and constructor taking
2030 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2031 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2033 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2034 * include/debug/list (list::list(const _Allocator&)): Likewise.
2035 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2037 * include/debug/multimap.h
2038 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2039 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2041 * include/debug/multiset.h
2042 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2043 * include/debug/vector (vector::vector(const allocator_type&)):
2045 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2046 * include/profile/list (list::list(const _Allocator&)): Likewise.
2047 * include/profile/map.h
2048 (map::map(const _Compare&, const _Allocator&)): Likewise.
2049 * include/profile/multimap.h
2050 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2051 * include/profile/set.h
2052 (set::set(const _Compare&, const _Allocator&)): Likewise.
2053 * include/profile/multiset.h
2054 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2055 * include/profile/vector (vector::vector(const _Allocator&)):
2057 * testsuite/23_containers/deque/58764.cc: New.
2058 * testsuite/23_containers/list/58764.cc: New.
2059 * testsuite/23_containers/map/58764.cc: New.
2060 * testsuite/23_containers/multimap/58764.cc: New.
2061 * testsuite/23_containers/set/58764.cc: New.
2062 * testsuite/23_containers/multiset/58764.cc: New.
2063 * testsuite/23_containers/vector/58764.cc: New.
2064 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2065 Adjust dg-error line number.
2066 * testsuite/23_containers/deque/requirements/dr438/
2067 constructor_1_neg.cc: Likewise.
2068 * testsuite/23_containers/deque/requirements/dr438/
2069 constructor_2_neg.cc: Likewise.
2070 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2072 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2074 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2076 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2078 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2080 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2082 * testsuite/23_containers/vector/requirements/dr438/
2083 constructor_1_neg.cc: Likewise.
2084 * testsuite/23_containers/vector/requirements/dr438/
2085 constructor_2_neg.cc: Likewise.
2086 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2089 PR libstdc++/58764 (again)
2090 * include/bits/stl_list.h (list): Make default constructor's exception
2091 specification conditional.
2092 * include/bits/stl_vector.h (vector): Likewise.
2093 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2094 to default constructor.
2095 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2096 Adjust dg-error line number.
2097 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2099 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2101 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2103 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2105 * testsuite/23_containers/vector/requirements/dr438/
2106 constructor_1_neg.cc: Likewise.
2107 * testsuite/23_containers/vector/requirements/dr438/
2108 constructor_2_neg.cc: Likewise.
2109 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2112 2014-01-21 Tim Shen <timshen91@gmail.com>
2114 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2115 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2116 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2118 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2121 * include/bits/hashtable.h (__cache_default): Do not depend on
2122 whether the hash function is DefaultConstructible or CopyAssignable.
2123 (_Hashtable): Adjust static assertions.
2124 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2125 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2126 dg-error line number.
2127 * testsuite/23_containers/unordered_set/
2128 not_default_constructible_hash_neg.cc: Remove.
2130 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2132 * scripts/create_testsuite_files: Add testsuite/experimental in
2133 the list of folders to search for tests.
2134 * include/experimental/string_view
2135 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2136 incompatible with constexpr qualifier.
2137 (basic_string_view<>::front()): Likewise.
2138 (basic_string_view<>::back()): Likewise.
2139 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2140 Merge dg-options directives into one.
2141 * testsuite/experimental/string_view/element_access/char/2.cc:
2142 Likewise. Remove invalid experimental namespace scope on
2145 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2148 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2149 friendship to _Local_iterator_base<..., false>.
2150 (_Local_iterator_base): Give protected access to all existing members.
2151 (_Local_iterator_base::_M_curr()): New public accessor.
2152 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2153 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2154 the lifetime of the _Hash_code_base explicitly.
2155 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2156 (_Local_iterator_base<..., false>): Define copy constructor and copy
2157 assignment operator that use new functions to manage _Hash_code_base.
2158 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2159 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2160 Use public API for _Local_iterator_base.
2161 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2162 * include/debug/unordered_map (__debug::unordered_map::erase(),
2163 __debug::unordered_multimap::erase()): Likewise.
2164 * include/debug/unordered_set (__debug::unordered_set::erase(),
2165 __debug::unordered_multiset::erase()): Likewise.
2166 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2168 2014-01-19 Tim Shen <timshen91@gmail.com>
2170 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2171 Fix parse error of multiple consecutive quantifiers like "a**".
2172 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2174 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2176 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2178 * include/profile/set.h (set): Implement C++11 allocator-aware
2179 container requirements.
2180 * include/profile/map.h (map): Likewise.
2181 * include/profile/multiset.h (multiset): Likewise.
2182 * include/profile/multimap.h (multimap): Likewise.
2183 * include/profile/set.h
2184 (set::operator=(const set&)): Define as default in C++11 mode.
2185 (set::operator=(set&&)): Likewise.
2186 * include/profile/map.h
2187 (map::operator=(const map&)): Likewise.
2188 (map::operator=(map&&)): Likewise.
2189 * include/profile/multiset.h
2190 (multiset::operator=(const multiset&)): Likewise.
2191 (multiset::operator=(multiset&&)): Likewise.
2192 * include/profile/multimap.h
2193 (multimap::operator=(const multimap&)): Likewise.
2194 (multimap::operator=(multimap&&)): Likewise.
2195 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2196 Rely on the same operator from normal mode.
2197 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2199 * include/profile/multiset.h
2200 (multiset::operator=(std::initializer_list<>)): Likewise.
2201 * include/profile/multimap.h
2202 (multimap::operator=(std::initializer_list<>)): Likewise.
2203 * include/profile/set.h (set::swap(set&)): Add noexcept
2205 * include/profile/map.h (map::swap(map&)): Likewise.
2206 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2207 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2209 2014-01-17 Tim Shen <timshen91@gmail.com>
2211 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2213 * include/bits/regex_automaton.h: Do not use std::set.
2214 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2215 _BracketMatcher<>::_M_add_collating_element(),
2216 _BracketMatcher<>::_M_add_equivalence_class(),
2217 _BracketMatcher<>::_M_make_range()): Likewise.
2218 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2220 * include/bits/regex_executor.h: Do not use std::queue.
2221 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2222 _Executor<>::_M_dfs()): Likewise.
2223 * include/std/regex: Remove <map>, <set> and <queue>.
2225 2014-01-17 Tim Shen <timshen91@gmail.com>
2227 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2228 basic_regex<>::assign()): Change __compile_nfa to accept
2230 * include/bits/regex_compiler.h: Change _Compiler's template
2231 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2232 * include/bits/regex_compiler.tcc: Likewise.
2234 2014-01-17 Tim Shen <timshen91@gmail.com>
2236 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2238 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2239 _ScannerBase from _Scanner; Change _Scanner's template argument from
2240 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2242 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2243 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2244 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2246 * include/std/regex: Add <cstring> for using strchr.
2248 2014-01-17 Tim Shen <timshen91@gmail.com>
2250 * bits/regex_automaton.tcc: Indentation fix.
2251 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2252 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2253 _BracketMatcher<>): Add bool option template parameters and
2254 specializations to make matching more efficient and space saving.
2255 * bits/regex_compiler.tcc: Likewise.
2257 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2260 * include/bits/hashtable_policy.h: Fix some long lines.
2261 * include/bits/hashtable.h (__hash_code_base_access): Define and
2262 use it to check its _M_bucket_index noexcept qualification. Use
2264 (__access_protected_ctor): ...this.
2265 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2267 * testsuite/23_containers/unordered_set/
2268 not_default_constructible_hash_neg.cc: Likewise.
2270 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2272 * include/debug/set.h (set): Implement C++11 allocator-aware
2273 container requirements.
2274 * include/debug/map.h (map): Likewise.
2275 * include/debug/multiset.h (multiset): Likewise.
2276 * include/debug/multimap.h (multimap): Likewise.
2277 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2278 fix implementation regarding management of safe iterators.
2279 * include/debug/map.h (map::operator=(map&&)): Likewise.
2280 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2281 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2283 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2284 Rely on the same operator from normal mode.
2285 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2287 * include/debug/multiset.h
2288 (multiset::operator=(std::initializer_list<>)): Likewise.
2289 * include/debug/multimap.h
2290 (multimap::operator=(std::initializer_list<>)): Likewise.
2291 * include/debug/set.h (set::swap(set&)): Add noexcept
2292 specification, add allocator equality check.
2293 * include/debug/map.h (map::swap(map&)): Likewise.
2294 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2295 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2297 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2300 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2301 and stylistic improvements.
2302 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2303 and update for C++11.
2304 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2307 * doc/xml/manual/backwards_compatibility.xml
2308 (backwards.third.nocreate_noreplace): Correct and expand.
2311 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2313 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2316 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2317 support for non-Movable types.
2320 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2322 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2324 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2325 *this allocator instance when building temporary vector instance
2326 so that *this allocator does not get moved.
2327 * include/debug/safe_base.h
2328 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2329 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2330 move constructor from _Safe_sequence_base.
2331 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2332 safe iterators if the instance is moved.
2333 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2334 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2335 check on a vector iterator.
2336 * testsuite/23_containers/vector/allocator/move_assign.cc
2338 (test03): New, test with a non-propagating allocator.
2339 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2341 2014-01-07 Tim Shen <timshen91@gmail.com>
2343 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2344 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2345 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2346 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2347 _BracketMatcher<>::_M_add_char(),
2348 _BracketMatcher<>::_M_add_collating_element(),
2349 _BracketMatcher<>::_M_add_equivalence_class(),
2350 _BracketMatcher<>::_M_add_character_class(),
2351 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2352 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2353 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2354 to template parameter; Add cache for _BracketMatcher. Adjust
2355 declarations from here...
2356 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2357 imbuing a regex will trigger a recompilation to rebuild the cache.
2358 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2359 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2360 different template bool parameters.
2361 * include/bits/regex_executor.h: Remove unnecessary declarations.
2362 * include/std/regex: Adjust including orders.
2363 * testsuite/28_regex/traits/char/user_defined.cc: New.
2364 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2366 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2368 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2369 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2370 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2371 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2372 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2374 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2376 Update copyright years
2378 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2380 * testsuite/18_support/new_handler.cc,
2381 testsuite/18_support/terminate_handler.cc,
2382 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2383 the copyright notice.
2385 Copyright (C) 2014 Free Software Foundation, Inc.
2387 Copying and distribution of this file, with or without modification,
2388 are permitted in any medium without royalty provided the copyright
2389 notice and this notice are preserved.