1 2014-09-17 Jason Merrill <jason@redhat.com>
3 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
4 dynamic_cast more gracefully.
6 2014-09-15 Jakub Jelinek <jakub@redhat.com>
8 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
9 check_p_numbers2, check_p_numbers3, check_p_numbers4,
10 check_p_numbers5, check_p_numbers6, check_p_numbers,
11 check_p_subdirs): New variables.
12 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
13 (check-DEJAGNU): Rewritten so that for parallelized
14 testing each job runs all the *.exp files, with
15 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
16 * testsuite/Makefile.in: Regenerated.
17 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
18 gcc_parallel_test_enable): New procedures. If
19 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
20 runtest_file_p to invoke also gcc_parallel_test_run_p.
21 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
22 by the first parallel runtest encountering it. Fix up path
23 of the extract_symvers script.
24 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
25 serially by the first parallel runtest encountering it. Run
26 dg-finish even in case of error.
28 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
30 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
31 parameters to _Ch_traits.
33 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
35 * include/debug/deque (__gnu_debug::deque): Make base class C++11
38 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
41 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
42 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
44 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
47 * include/bits/regex.h (match_results::format): Remove stray template
49 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
50 Remove parameter name to avoid -Wunused-parameter warning.
51 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
52 mem-initializers to avoid -Wreorder warning.
53 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
54 Remove parameter name to avoid -Wunused-parameter warning.
55 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
56 to avoid -Wempty-body warning when not in debug mode.
58 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
60 * python/hook.in: Load the xmethods.
61 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
62 * python/Makefile.in: Regenerated.
63 * python/libstdcxx/v6/xmethods.py: New file.
64 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
66 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
67 python script if LOAD_XMETHODS is true.
68 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
69 * testsuite/libstdc++-xmethods/vector.cc: New file.
70 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
72 2014-09-10 Tony Wang <tony.wang@arm.com>
75 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
76 Return with CONTINUE_UNWINDING when the state pattern
77 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
79 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
81 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
82 allocator propagation.
83 (deque::emplace_front, deque::emplace_back): Use allocator traits.
84 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
85 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
86 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
87 (_Deque_iterator): Handle allocators with custom pointers.
88 (_Deque_base): Likewise. Use allocator traits.
89 (deque): Likewise. Add allocator-extended constructors.
90 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
91 assignment via tag dispatching.
92 (deque::_M_replace_map): Replace existing data.
93 * include/debug/deque (deque): Add allocator-extended constructors.
94 * include/profile/deque (deque): Likewise.
95 * testsuite/23_containers/deque/allocator/copy.cc: New.
96 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
97 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
98 * testsuite/23_containers/deque/allocator/minimal.cc: New.
99 * testsuite/23_containers/deque/allocator/move.cc: New.
100 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
101 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
102 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
103 * testsuite/23_containers/deque/allocator/swap.cc: New.
104 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
105 Adjust dg-error line number.
106 * testsuite/23_containers/deque/requirements/dr438/
107 constructor_1_neg.cc: Likewise.
108 * testsuite/23_containers/deque/requirements/dr438/
109 constructor_2_neg.cc: Likewise.
110 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
112 * testsuite/23_containers/vector/52591.cc: Test both the propagating
113 and always-equal cases.
115 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
117 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
119 (_Hash_code_base<>): All specialization default constructible if
121 (_Hashtable_base<>): Likewise.
122 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
123 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
124 implementation defaulted.
125 (unordered_multimap<>::unordered_multimap()): Likewise.
126 * include/bits/unordered_set.h
127 (unordered_set<>::unordered_set()): Likewise.
128 (unordered_multiset<>::unordered_multiset()): Likewise.
129 * include/debug/unordered_map: Likewise.
130 * include/debug/unordered_set: Likewise.
131 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
133 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
135 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
137 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
140 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
142 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
144 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
146 * include/std/complex (complex): Define copy constructor and
147 assignment operator as defaulted. Improve Doxygen comments.
149 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
151 * testsuite/ext/random/*: Fix incorrect standard references in
154 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
157 * include/Makefile.am (install-freestanding-headers): Add missing
159 * include/Makefile.in: Regenerate.
161 2014-08-21 Tony Wang <tony.wang@arm.com>
163 * testsuite/18_support/nested_exception/62154.cc: Disable when the
164 target doesn't provide atomic builtins.
166 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
167 Kai Tietz <ktietz@redhat.com>
169 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
171 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
173 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
174 #include <windows.h>.
175 (struct elt): Add dll member.
176 (run): Decrement dll refcount.
177 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
179 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
182 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
183 Rewrite to conform to C++11 requirements.
184 * testsuite/18_support/nested_exception/62154.cc: New.
186 2014-08-14 Matthias Klose <doko@ubuntu.com>
188 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
189 Remove empty directory.
191 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
193 * testsuite/26_numerics/random/linear_congruential_engine/
194 requirements/non_uint_neg.cc: Adjust for parser change.
195 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
196 requirements/non_uint_neg.cc: Likewise.
198 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
201 * include/std/thread (thread::_M_start_thread): Declare new overload.
202 (thread::thread<_Callable, _Args...>): Call new overload with an
203 explicit reference to pthread_create.
204 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
205 * config/abi/pre/gnu.ver: Export new function.
207 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
209 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
211 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
213 * Fix thinko in the last commit.
215 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
218 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
219 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
221 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
223 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
224 and add overloads for rvalue streams.
225 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
227 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
230 * include/bits/basic_string.h (getline): Declare inline.
232 2014-08-09 Ulrich Drepper <drepper@gmail.com>
234 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
235 (uniform_on_sphere_distribution::operator()): Use the new helper
236 class for the implementation.
238 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
239 equal.cc: Remove bogus part of comment.
240 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
241 inequal.cc: Likewise.
242 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
243 serialize.cc: Add check to verify result of serialzation and
245 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
246 generate.cc: New file.
248 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
250 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
251 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
253 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
256 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
257 _M_need_rehash to initialize the rehash policy and check if a rehash is
259 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
261 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
263 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
265 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
266 Adjust dg-error line number.
267 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
269 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
271 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
274 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
276 (_State_baseV2::_M_do_set): Change parameters to pointers.
277 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
278 (_State_baseV2::__setter): Initialize _Setter with pointers.
279 (_State_baseV2::__setter(promise<void>*)): Remove overload.
280 (promise::set_value, promise::set_exception): Pass setter directly
282 (_State_baseV2::_Task_setter): Add template parameter for callable
283 type and replace std::function member with pointer to that type.
284 Change _M_result member from reference to pointer.
285 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
286 and initialize _Task_setter with pointers.
287 (__location_invariant): Specialize for _Setter and _Task_setter.
289 * include/std/future (__location_invariant): Move specializations
290 after preprocessor condition.
292 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
295 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
297 2014-08-01 Zifei Tong <zifeitong@gmail.com>
299 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
300 _GLIBCXX_ prefix to macro.
302 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
304 * python/libstdcxx/v6/printers.py
305 (SingleObjContainerPrinter._contained): Use compatibility mixin.
307 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
309 * testsuite/util/testsuite_allocator.h
310 (tracker_allocator_counter::allocate): Remove new invocation, only
312 (tracker_allocator_counter::deallocate): Remove delete invocation, only
314 (check_inconsistent_alloc_value_type): New.
315 (tracker_allocator): Transform as a facade for any allocator type.
316 (uneq_allocator): Likewise.
317 (propagating_allocator): Likewise.
318 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
319 explicitly non propagating allocator.
320 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
321 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
322 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
323 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
324 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
326 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
328 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
330 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
332 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
334 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
337 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
338 const allocator_type&)): Pass non-const allocator to
340 * testsuite/ext/rope/61946.cc: New.
343 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
344 disambiguate unary constructors.
345 (_Tuple_impl): Pass allocator_arg_t arguments.
346 * testsuite/20_util/tuple/61947.cc: New.
347 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
349 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
351 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
352 * include/bits/random.h (_Adaptor): static_assert for non floating-point
354 * include/bits/random.tcc (generate_canonical): Ditto.
355 * include/ext/random.tcc (hypergeometric_distribution::operator()):
356 Use double as a rng result type.
357 * testsuite/26_numerics/random/pr60037-neg.cc: New.
358 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
360 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
362 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
364 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
366 * include/experimental/string_view: Make the literal operators
367 constexpr like the ctors they call.
369 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
371 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
373 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
375 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
376 to string instead of using gdb.Type.name attribute.
378 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
380 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
383 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
386 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
388 (SingleObjContainerPrinter): Check if type printers are in use.
390 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
392 * include/ext/random: Minor formatting and cosmetic tweaks.
393 (uniform_on_sphere_distribution<>::operator==
394 (const uniform_on_sphere_distribution&,
395 const uniform_on_sphere_distribution&)): Compare the _M_nds.
396 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
397 (operator!=(const uniform_on_sphere_distribution&,
398 const uniform_on_sphere_distribution&)): Adjust.
399 * include/ext/random.tcc: Minor cosmetc tweaks.
401 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
403 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
404 printer for class templates.
405 (register_type_printers): Use TemplateTypePrinter for containers
406 and other class templates with default template arguments.
407 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
409 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
410 base class for experimental::any and experimental::optional printers.
411 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
412 New printers for Fundamentals TS types.
413 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
415 2014-07-15 Tim Shen <timshen@google.com>
418 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
419 Clear match queue for next use.
420 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
422 2014-07-14 Ulrich Drepper <drepper@gmail.com>
424 * include/ext/random.tcc: Unfortunately more fixes for
425 operator>> and operator<< for uniform_on_sphere_distribution.
427 2014-07-13 Ulrich Drepper <drepper@gmail.com>
429 * include/ext/random.tcc: Fix operator>> and operator<< for
430 uniform_on_sphere_distribution.
432 2014-07-12 Ulrich Drepper <drepper@gmail.com>
434 * include/ext/random: Add uniform_on_sphere_distribution definition.
435 * include/ext/random.tcc: Add out-of-band member function definitions
436 for uniform_on_sphere_distribution.
437 * testsuite/ext/random/uniform_on_sphere_distribution/
438 cons/default.cc: New file.
439 * testsuite/ext/random/uniform_on_sphere_distribution/
440 operators/equal.cc: New file.
441 * testsuite/ext/random/uniform_on_sphere_distribution/
442 operators/inequal.cc: New file.
443 * testsuite/ext/random/uniform_on_sphere_distribution/
444 operators/serialize.cc: New file.
446 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
448 Add the logistic_distribution as an extension.
449 * include/ext/random: Add the logistic_distribution.
450 * include/ext/random.tcc: Add the logistic_distribution.
451 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
452 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
453 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
455 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
456 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
457 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
460 2014-07-11 Samuel Bronson <naesten@gmail.com>
462 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
463 instead of insisting that GCC understand -fdiagnostics-color=never
465 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
468 2014-07-11 Samuel Bronson <naesten@gmail.com>
469 Matthias Klose <doko@ubuntu.com>
472 * python/libstdcxx/v6/printers.py: Port to Python 2+3
473 (imap): New compat function.
475 (Iterator): New mixin to allow writing iterators in Python 3 style
476 regardless of which version we're running on.
477 [Python3] (long) New compat alias for "int".
478 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
480 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
482 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
483 tuple members to simplify pretty printing.
484 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
486 * testsuite/experimental/any/cons/4.cc: New.
488 2014-07-09 Jason Merrill <jason@redhat.com>
491 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
492 * libsupc++/tinfo.h: Not here.
494 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
496 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
498 * include/experimental/any: Remove unused header.
499 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
500 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
501 * testsuite/util/testsuite_regex.h: Move include guard.
503 2014-07-01 Tim Shen <timshen@google.com>
507 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
508 a NFA state limit. If it's exceeded, regex_constants::error_space
510 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
511 map (which is sparse) instead of vector. This reduce n times clones'
512 cost from O(n^2) to O(n).
513 * include/std/regex: Add map dependency.
514 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
517 2014-07-01 Tim Shen <timshen@google.com>
520 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
521 not just regex containing back-references.
522 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
523 exchange _M_next and _M_alt for alternative operator,
524 making matching from left to right.
525 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
526 Add position tracking fom DFS.
527 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
528 _Executor<>::_M_dfs): Likewise.
529 * include/bits/regex_scanner.h: Remove unused enum entry.
530 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
533 2014-06-30 Jason Merrill <jason@redhat.com>
535 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
538 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
541 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
542 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
545 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
547 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
549 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
551 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
553 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
556 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
558 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
559 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
560 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
562 * include/ext/alloc_traits.h: Fix comment.
564 * include/Makefile.am: Add new header.
565 * include/Makefile.in: Regenerate.
566 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
567 New RAII utilities for working with allocators.
568 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
569 __allocator_type typedef and use new __allocated_ptr type.
570 (_Sp_counted_ptr_inplace): Likewise.
571 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
572 __allocate_guarded to to simplify exception handling.
573 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
574 * include/std/future (_Result_alloc::_M_destroy): Likewise.
575 (_Result_alloc::_S_allocate_result): Likewise.
576 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
577 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
578 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
579 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
581 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
583 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
585 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
586 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
588 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
590 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
591 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
592 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
593 Remove unused typedef.
594 (time_get::do_get_monthname): Likewise.
595 * include/bits/stl_tree.h: Add system_header pragma.
596 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
597 redundant const-qualifier.
598 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
599 instead of _GLIBCXX_USE_CONSTEXPR.
601 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
603 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
604 * include/std/chrono (_Checked_integral_constant): Allow zero.
605 * testsuite/20_util/duration/literals/values.cc: Test non-positive
606 values and digit separators.
607 * include/experimental/any
610 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
611 apply the signed specifier to wchar_t.
612 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
613 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
614 cv-qualifier and size.
615 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
618 * include/experimental/any (any_v1): Rename namespace to
619 fundamentals_v1. Change string returned by bad_any_cast::what().
620 * include/experimental/optional (fundamentals_v1): Add namespace.
621 * include/experimental/string_view (fundamentals_v1): Likewise.
622 * testsuite/experimental/any/typedefs.cc: New.
623 * testsuite/experimental/optional/typedefs.cc: New.
624 * testsuite/experimental/string_view/typedefs.cc: New.
626 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
627 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
630 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
632 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
634 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
635 * include/Makefile.am: Add new header.
636 * include/Makefile.in: Regenerate.
637 * include/experimental/any: New.
638 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
640 * testsuite/experimental/any/assign/1.cc: New.
641 * testsuite/experimental/any/assign/2.cc: New.
642 * testsuite/experimental/any/cons/1.cc: New.
643 * testsuite/experimental/any/cons/2.cc: New.
644 * testsuite/experimental/any/cons/3.cc: New.
645 * testsuite/experimental/any/misc/any_cast.cc: New.
646 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
647 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
648 * testsuite/experimental/any/misc/swap.cc: New.
649 * testsuite/experimental/any/modifiers/1.cc: New.
650 * testsuite/experimental/any/observers/type.cc: New.
652 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
653 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
655 * include/bits/shared_ptr.h (shared_ptr): Likewise.
656 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
658 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
660 * include/parallel/list_partition.h (__parallel::list_partition):
662 * include/std/iomanip (quoted): Likewise.
663 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
665 * doc/xml/api.xml: Link to more recent API docs.
666 * include/bits/allocator.h: Fix link in doxygen comment.
667 * include/bits/char_traits.h: Likewise.
668 * include/bits/ios_base.h: Likewise.
669 * include/bits/stl_map.h: Likewise.
670 * include/bits/stl_multimap.h: Likewise.
671 * include/bits/stl_multiset.h: Likewise.
672 * include/bits/stl_set.h: Likewise.
673 * include/bits/unordered_map.h: Likewise.
674 * include/bits/unordered_set.h: Likewise.
675 * include/ext/mt_allocator.h: Likewise.
676 * include/std/fstream: Likewise.
677 * include/std/iosfwd: Likewise.
678 * include/std/ostream: Likewise.
679 * include/std/sstream: Likewise.
680 * include/std/streambuf: Likewise.
681 * doc/html/*: Regenerate.
683 * include/experimental/any (any_cast): Combine duplicate doxygen
685 * include/experimental/string_view (basic_string_view): Update
687 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
688 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
689 (dynamic_bitset): Improve Doxygen comments.
690 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
693 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
695 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
696 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
698 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
701 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
702 (bin_search_tree_traits): Do not redeclare template-parameters.
703 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
705 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
707 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
708 parameter for DocBook HTML generation.
709 * doc/Makefile.in: Regenerate.
710 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
711 * doc/xml/faq.xml: Update content and improve formatting.
712 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
713 * doc/xml/manual/allocator.xml: Add stable ID attribute.
714 * doc/xml/manual/bitmap_allocator.xml: Likewise.
715 * doc/xml/manual/build_hacking.xml: Likewise.
716 * doc/xml/manual/codecvt.xml: Change URL.
717 * doc/xml/manual/ctype.xml: Add stable ID attribute.
718 * doc/xml/manual/debug_mode.xml: Likewise.
719 * doc/xml/manual/documentation_hacking.xml: Likewise.
720 * doc/xml/manual/evolution.xml: Likewise.
721 * doc/xml/manual/extensions.xml: Likewise.
722 * doc/xml/manual/locale.xml: Likewise.
723 * doc/xml/manual/messages.xml: Make section id consistent, improve
725 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
726 * doc/xml/manual/profile_mode.xml: Likewise.
727 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
728 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
729 * doc/xml/manual/status_cxx2011.xml: Likewise.
730 * doc/xml/manual/status_cxx2014.xml: Likewise.
731 * doc/xml/manual/status_cxxtr1.xml: Likewise.
732 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
733 * doc/xml/manual/using.xml: Likewise.
734 * doc/html/*: Regenerate.
736 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
738 * include/tr1/beta_function.tcc: Fix spelling of include guard in
741 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
743 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
745 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
747 DR 2344 - std::quoted doesn't respect padding
748 * include/std/iomanip: Allow for padding in quoted inserters.
749 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
750 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
752 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
754 * testsuite/23_containers/map/operators/1.cc: Simplify test.
756 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
758 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
760 * doc/xml/manual/backwards_compatibility.xml
761 (backwards.second.stringstreams): Likewise.
762 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
764 * doc/xml/manual/containers.xml (associative.bitset.type_string):
765 Replace <quote> in code example.
766 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
767 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
768 fix typos, improve markup.
769 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
770 <emphasis> with <replaceable>.
771 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
772 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
773 and remove newlines in string literal.
775 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
779 * testsuite/20_util/is_assignable/value.cc: Update.
781 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
783 * include/std/condition_variable (condition_variable_any::_Unlock): Do
784 not swallow __forced_unwind.
785 * include/std/future (__future_base::_Task_setter): Likewise.
786 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
788 * include/std/mutex (try_lock): Likewise.
789 * testsuite/30_threads/async/forced_unwind.cc: New.
790 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
792 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
793 members to avoid wasted space when not using a cache.
794 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
795 * include/bits/regex_compiler.tcc
796 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
798 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
799 New enumeration type to indicate match mode.
800 (__detail::_Executor::_State_info): New type holding members only
801 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
803 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
804 Replace template parameter with run-time function parameter.
805 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
806 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
807 implement DFS and BFS mode.
808 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
809 Split implementation into ...
810 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
811 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
812 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
813 argument instead of template argument.
814 (__detail::_Executor::_M_dfs): Likewise.
815 * include/bits/regex_scanner.tcc: Fix typos in comments.
816 * testsuite/performance/28_regex/range.cc: New.
818 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
819 Jonathan Wakely <jwakely@redhat.com>
821 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
823 (aligned_union): New struct (C++11).
824 (aligned_union_t): New type alias (C++14).
825 * doc/xml/manual/status_cxx2011.xml: Update.
826 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
827 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
830 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
833 * include/experimental/string_view (operator basic_string): Correct
835 (to_string): Replace with member function.
836 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
837 allow _M_str to be null.
838 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
839 default constructor semantics.
840 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
841 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
842 copyright dates. Remove unused header.
843 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
845 * testsuite/experimental/string_view/operations/data/char/1.cc:
846 Fix copyright dates. Adjust to new default constructor semantics.
847 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
849 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
851 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
852 (__uses_allocator_arg): Remove unused type.
853 (__uses_alloc0): Turn into a trivial type.
854 (__uses_alloc): Add missing template parameter in primary template.
855 (__uses_alloc_impl): Rename to __uses_alloc_t.
857 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
859 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
860 work with previous versions of Tcl.
862 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
863 Benjamin's old email address.
865 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
868 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
870 * include/tr2/bool_set: Use UTF-8 for accented characters.
871 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
872 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
873 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
875 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
878 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
880 (_State_base::_M_dot): Likewise.
882 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
884 * include/profile/map.h: Fix typo in comment; minor formatting fix.
885 * include/profile/multimap.h: Likewise.
886 * include/profile/set.h: Likewise.
887 * include/profile/multiset.h: Likewise.
889 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
891 * include/profile/array: Clean useless white chars.
892 * include/profile/base.h: Likewise.
893 * include/profile/iterator_tracker.h: Likewise.
894 * include/profile/bitset: Code cleanup and remove not instrumented code.
895 * include/profile/deque: Likewise.
896 * include/profile/forward_list: Likewise.
897 * include/profile/list (std::__profile::_List_profile<>): New.
898 (std::__profile::list<>): Inherit from latter and adapt.
899 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
900 advise to match any ordered to unordered container conversion.
901 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
903 * include/Makefile.am: Add latter.
904 * include/Makefile.in: Regenerate.
905 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
906 remove not instrumented code.
907 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
908 * include/profile/set.h (std::__profile::set<>): Likewise.
909 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
910 * include/profile/unordered_base.h: Add some line feed.
911 * include/profile/unordered_map: Clean useless white chars and replace
913 * include/profile/unordered_set: Likewise.
914 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
915 (std::__profile::_Vector_profile_post<>): New.
916 (std::__profile::vector<>): Inherit from latter and adapt.
918 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
921 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
922 dragonfly target selector to all tests that run on freebsd.
924 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
926 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
927 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
929 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
931 * testsuite/30_threads/call_once/60497.cc: Likewise.
932 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
933 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
934 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
935 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
936 * testsuite/30_threads/promise/60966.cc: Likewise.
937 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
938 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
939 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
940 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
941 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
942 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
943 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
944 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
945 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
946 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
947 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
948 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
949 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
950 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
951 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
952 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
953 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
955 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
958 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
960 * testsuite/23_containers/unordered_set/61143.cc: New.
961 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
963 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
966 * include/std/type_traits: Move include outside namespace std.
967 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
968 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
969 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
972 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
975 2014-05-21 John Marino <gnugcc@marino.st>
977 * acinclude.m4 (*-*-dragonfly*): New target.
978 * configure: Regenerate.
979 * configure.host (*-*-dragonfly*): New target.
980 * config/locale/dragonfly/c_locale.cc: New.
981 * config/locale/dragonfly/ctype_members.cc: New.
982 * config/os/bsd/dragonfly/ctype_base.h: New.
983 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
984 * config/os/bsd/dragonfly/ctype_inline.h: New.
985 * config/os/bsd/dragonfly/os_defines.h: New.
987 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
989 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
990 libstdc++.exp imports those flags via getenv.
991 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
992 CXXFLAGS contains a '-O' flag.
994 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
998 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1001 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1002 and add unwind directives.
1004 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1006 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1008 2014-05-20 Tim Shen <timshen91@gmail.com>
1011 * include/bits/regex_compiler.h
1012 (_BracketMatcher<>::_M_add_character_class): Add negative character
1014 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1016 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1019 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1021 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1023 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1025 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1026 * libsupc++/new_opnt.cc: Likewise.
1028 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1031 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1032 Pass lock into _M_do_set and hold it until the function returns.
1033 Signal condition variable after call_once completes.
1034 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1036 * testsuite/30_threads/promise/60966.cc: New.
1038 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1039 Sandra Loosemore <sandra@codesourcery.com>
1041 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1042 until after checking that the test is eligible to be run.
1044 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1046 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1047 test for 32-bit target.
1048 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1050 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1053 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1056 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1057 and add unwind directives.
1059 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1061 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1063 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1065 (chrono_literals::_Checked_integral_constant): Define.
1066 Simplify UDL operator templates and check for overflow.
1067 * testsuite/20_util/duration/literals/range.cc: New.
1069 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1070 Jonathan Wakely <jwakely@redhat.com>
1073 * include/bits/parse_numbers.h: Use integral_constant to remove
1074 duplication and simplify.
1075 * testsuite/20_util/duration/literals/61166.cc: New.
1077 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1080 * include/std/type_traits (__make_unsigned, __make_signed): Define
1081 specializations for wchar_t, char16_t and char32_t.
1082 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1083 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1084 test for make_unsigned<volatile wchar_t>.
1085 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1087 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1089 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1091 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1094 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1096 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1097 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1098 * include/std/utility (tuple_size, tuple_element): Likewise.
1099 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1100 Adjust dg-error line number.
1102 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1104 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1105 (__tuple_element_t): Define.
1106 (tuple_element): Use __tuple_element_t.
1107 (__cv_tuple_size): Define.
1108 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1109 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1110 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1111 (__tuple_compare): Remove size check, re-order parameters.
1112 (operator==, operator<): Use static_assert to check requirements.
1113 * include/std/functional (__volget): use __tuple_element_t.
1114 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1115 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1117 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1120 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1121 prevent ADL. Cast comparison results to bool.
1122 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1123 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1126 * include/debug/array (get): Qualify call to other get overload.
1127 * include/profile/array (get): Likewise.
1128 * include/std/array (get): Likewise.
1129 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1130 * include/std/mutex (unique_lock, call_once): Use __addressof.
1131 (__unlock_impl): Remove unused template.
1132 (__try_to_lock): Declare inline.
1133 (__try_lock_impl::__do_try_lock): Qualify function calls.
1134 (lock): Avoid narrowing conversion.
1135 * testsuite/20_util/bind/60497.cc: New.
1136 * testsuite/23_containers/array/element_access/60497.cc: New.
1137 * testsuite/30_threads/call_once/60497.cc: New.
1138 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1140 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1142 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1143 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1144 * acinclude.m4 (libtool_VERSION): Bump.
1145 * configure: Regenerate.
1146 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1147 * testsuite/28_regex/regex_error/base.cc: New.
1149 2014-05-08 Joshua Gay <jgay@gnu.org>
1152 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1153 source" with "free software".
1154 * doc/html/faq.html: Likewise.
1156 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1159 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1161 (operator=(const ios_base&)): Likewise.
1162 * include/std/streambuf: Remove trailing whitespace.
1163 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1164 _M_out_end. Define as defaulted for C++11.
1165 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1166 (swap(basic_streambuf&)): Define for C++11.
1167 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1170 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1172 * include/std/iostream: Fix URL in comment.
1173 * src/c++98/ios_init.cc: Fix path in comment.
1175 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1177 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1178 * configure: Regenerate.
1180 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1183 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1184 comparison function.
1185 * testsuite/23_containers/set/cons/61023.cc: New.
1188 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1190 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1191 arithmetic to obtain a mutable iterator from const_iterator.
1192 * include/bits/vector.tcc (vector::insert): Likewise.
1193 * include/debug/vector (vector::erase): Likewise.
1194 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1195 Adjust dg-error line number.
1196 * testsuite/23_containers/vector/requirements/dr438/
1197 constructor_1_neg.cc: Likewise.
1198 * testsuite/23_containers/vector/requirements/dr438/
1199 constructor_2_neg.cc: Likewise.
1200 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1203 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1205 * include/Makefile.in: Regenerate.
1207 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1209 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1210 parameter to pass the 2 instances to check allocator equality.
1211 * include/debug/safe_container.h: New, define _Safe_container<>.
1212 * include/Makefile.am: Add previous.
1213 * include/debug/deque (std::__debug::deque<>): Inherit
1214 _Safe_container<>. Use default implementation for all special
1216 * include/debug/forward_list (std::__debug::forward_list<>):
1218 * include/debug/list (std::__debug::list<>): Likewise.
1219 * include/debug/map.h (std::__debug::map<>): Likewise.
1220 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1221 * include/debug/set.h (std::__debug::set<>): Likewise.
1222 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1223 * include/debug/string (std::__debug::basic_string<>): Likewise.
1224 * include/debug/unordered_map
1225 (std::__debug::unordered_map<>): Likewise.
1226 (std::__debug::unordered_multimap<>): Likewise.
1227 * include/debug/unordered_set
1228 (std::__debug::unordered_set<>): Likewise.
1229 (std::__debug::unordered_multiset<>): Likewise.
1230 * include/debug/vector (std::__debug::vector<>): Likewise.
1231 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1233 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1234 (~_Safe_sequence_base()): Add noexcept.
1235 * include/debug/safe_sequence.h
1236 (std::__debug::_Safe_node_sequence<>): New.
1237 * include/debug/safe_unordered_base.h
1238 (_Safe_unordered_container_base()): Add noexcept.
1239 (~_Safe_unordered_container_base()): Likewise.
1240 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1241 * include/debug/safe_unordered_container.h:
1242 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1243 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1244 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1246 * testsuite/util/debug/checks.h (check_construct1): Just implement
1247 an invalid constructor invocation and no other operations
1248 potentially not supported by some types of container.
1249 (check_construct2): Likewise.
1250 (check_construct3): Likewise.
1251 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1252 check on iterators to make sure they are correctly moved in debug
1254 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1256 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1257 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1258 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1259 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1261 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1262 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1264 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1265 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1266 * testsuite/23_containers/unordered_map/allocator/move.cc:
1268 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1270 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1272 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1274 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1276 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1278 * testsuite/23_containers/unordered_set/allocator/move.cc:
1280 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1282 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1284 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1286 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1288 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1290 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1292 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1293 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1294 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1295 * testsuite/23_containers/map/debug/move_neg.cc: New.
1296 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1297 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1298 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1299 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1300 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1301 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1302 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1303 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1304 * testsuite/23_containers/set/debug/move_neg.cc: New.
1305 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1307 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1309 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1310 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1312 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1314 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1316 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1318 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1320 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1322 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1324 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1326 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1327 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1329 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1331 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1332 (CXXABI_1.3.9): Remove __float128 symbols.
1334 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1337 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1338 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1339 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1340 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1342 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1345 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1346 Check the correct type in the static assertion.
1347 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1349 2014-04-27 Tim Shen <timshen91@gmail.com>
1351 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1352 Add _S_opcode_repeat support to distingush a loop from
1353 _S_opcode_alternative.
1354 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1355 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1356 _StateSeq<>::_M_clone): Likewise.
1357 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1359 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1360 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1361 Uglify local variable __i.
1362 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1363 Use size_t instead of int to compare with vector::size().
1365 2014-04-27 Tim Shen <timshen91@gmail.com>
1367 * include/bits/regex_executor.h: Add _M_rep_count to track how
1368 many times this repeat node are visited.
1369 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1370 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1373 2014-04-27 Tim Shen <timshen91@gmail.com>
1375 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1376 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1377 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1378 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1379 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1380 Adjust debug NFA dump.
1382 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1385 * include/experimental/optional (operator!=): Implement in terms of
1387 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1388 * testsuite/experimental/optional/relops/2.cc: Likewise.
1389 * testsuite/experimental/optional/relops/3.cc: Likewise.
1390 * testsuite/experimental/optional/relops/4.cc: Likewise.
1391 * testsuite/experimental/optional/relops/5.cc: Likewise.
1392 * testsuite/experimental/optional/relops/6.cc: Likewise.
1394 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1397 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1398 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1401 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1403 * testsuite/util/testsuite_abi.cc (check_version): Update for
1406 2014-04-24 Tim Shen <timshen91@gmail.com>
1408 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1409 Do _M_alt before _M_next.
1410 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1412 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1415 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1416 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1417 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1419 2014-04-24 Andreas Schwab <schwab@suse.de>
1421 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1422 new CXXABI_1.3.9 symbols.
1424 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1426 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1427 (CXXABI_1.3.9): New version.
1429 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1432 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1433 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1434 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1436 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1438 * configure.host: Remove solaris2.9 handling.
1439 Change os_include_dir to os/solaris/solaris2.10.
1440 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1441 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1442 * configure: Regenerate.
1443 * config/abi/post/solaris2.9: Remove.
1444 * config/os/solaris/solaris2.9: Rename to ...
1445 * config/os/solaris/solaris2.10: ... this.
1446 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1449 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1450 Remove Solaris 9 reference.
1451 * doc/html/manual/configure.html: Regenerate.
1453 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1454 Remove *-*-solaris2.9 xfail.
1455 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1458 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1461 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1463 * include/std/functional (__is_location_invariant): Use __or_ helper.
1465 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1468 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1471 * include/std/atomic (atomic<_Tp>): Add static assertion.
1472 * testsuite/29_atomics/atomic/60695.cc: New.
1475 * include/std/functional (function::_Callable): Exclude own type
1476 from the callable checks.
1477 * testsuite/20_util/function/60594.cc: New.
1479 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1480 const to constexpr member functions.
1482 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1483 delegating constructor.
1484 * include/bits/shared_ptr_base.h
1485 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1487 * include/std/atomic: Uglify parameter names.
1490 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1491 1.cc: Fix invalid explicit instantiations with unqualified names.
1492 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1494 * testsuite/20_util/tuple/53648.cc: Likweise.
1495 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1497 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1499 * testsuite/23_containers/unordered_map/requirements/
1500 debug_container.cc: Likewise.
1501 * testsuite/23_containers/unordered_map/requirements/
1502 explicit_instantiation/3.cc: Likewise.
1503 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1505 * testsuite/23_containers/unordered_multimap/requirements/
1506 explicit_instantiation/3.cc: Likewise.
1507 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1509 * testsuite/23_containers/unordered_multiset/requirements/
1510 explicit_instantiation/3.cc: Likewise.
1511 * testsuite/23_containers/unordered_set/requirements/
1512 debug_container.cc: Likewise.
1513 * testsuite/23_containers/unordered_set/requirements/
1514 explicit_instantiation/3.cc: Likewise.
1516 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1517 not use uninitialized members in mem-initializers.
1518 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1519 * testsuite/util/testsuite_common_types.h: Update comment.
1521 * include/experimental/string_view: Fix inconsistent exception specs.
1523 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1524 Remove name of unused parameter.
1526 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1528 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1529 _Vector_base::_M_allocate): NullablePointer requirements do not
1530 include initialization from literal zero, use value-initialization.
1531 * include/bits/vector.tcc (vector::_M_insert_aux,
1532 vector::_M_explace_back_aux): Likewise for assignment.
1534 * include/bits/allocator.h (operator==, operator!=): Add exception
1538 * include/std/tuple (get): Qualify calls to prevent ADL.
1539 * testsuite/20_util/tuple/60497.cc: New.
1541 * include/std/tuple (tuple_element_t): Define.
1542 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1544 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1546 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1549 * include/bits/stl_iterator.h (move_iterator::reference,
1550 move_iterator::operator*): Implement LWG 2106.
1551 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1553 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1555 * include/std/complex (__complex_exp, pow): Specify the template
1556 parameter in calls to std::polar, for expression templates.
1558 2014-04-10 Andreas Schwab <schwab@suse.de>
1560 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1562 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1563 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1565 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1567 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1569 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1570 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1571 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1574 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1575 Jack Howarth <howarth@bromo.med.uc.edu>
1578 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1581 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1583 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1585 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1587 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1588 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1589 * doc/xml/manual/concurrency_extensions.xml
1590 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1591 * doc/html/*: Regenerate.
1593 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1594 Jonathan Wakely <jwakely@redhat.com>
1597 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1598 string if input is not quoted.
1599 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1601 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1603 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1605 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1607 * testsuite/18_support/exception_ptr/60612-terminate.cc
1608 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1609 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1611 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1613 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1615 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1616 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1618 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1620 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1622 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1623 Fix bad s/part/chapter/ substitutions.
1624 * doc/xml/manual/io.xml (std.io): Likewise.
1625 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1626 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1628 * doc/html/*: Regenerate.
1630 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1633 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1634 compatible with __cxa_exception.
1635 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1636 Fix typos in comments.
1637 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1638 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1640 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1643 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1644 Use sizeof pointer type not the element type.
1645 * testsuite/29_atomics/atomic/60658.cc: New.
1647 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1649 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1650 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1651 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1652 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1653 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1654 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1655 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1656 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1657 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1658 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1661 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1663 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1665 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1667 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1668 to delegated constructor.
1669 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1670 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1673 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1675 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1678 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1680 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1683 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1684 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1686 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1687 from different types of debug container. Use _Is_contiguous_sequence
1688 instead of is_lvalue_reference.
1689 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1690 dereferencing past-the-end iterator.
1691 (__foreign_iterator_aux4): Use const value_type* instead of
1692 potentially user-defined const_pointer type.
1693 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1694 and pass end iterator to __gnu_debug::__foreign_iterator.
1695 (__glibcxx_check_insert_range_after): Likewise.
1696 (__glibcxx_check_max_load_factor): Fix comment.
1697 * include/debug/vector (_Is_contiguous_sequence): Define partial
1699 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1700 -std=gnu++11 option and unused header.
1701 * testsuite/23_containers/vector/debug/60587.cc: New.
1702 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1704 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1706 * crossconfig.m4: Support spu-*-elf* targets.
1707 * configure: Regenerate.
1709 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1712 * include/std/future (__future_base::_Task_state<>): Change
1713 constructors to template functions using perfect forwarding.
1714 (__create_task_state): Use decayed type as stored task.
1715 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1716 * testsuite/30_threads/packaged_task/60564.cc: New.
1718 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1720 * scripts/create_testsuite_files: Add testsuite/experimental in
1721 the list of folders to search for tests.
1723 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1725 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1727 2014-03-15 Tim Shen <timshen91@gmail.com>
1729 * include/bits/regex.h: Add/modify comments.
1730 * include/bits/regex_compiler.h: Likewise.
1731 * include/bits/regex_executor.h: Likewise.
1732 * include/bits/regex_executor.tcc: Likewise.
1733 * include/bits/regex_scanner.h: Likewise.
1735 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1738 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1739 _ZNSt12system_errorC* symbols which are not exported on any target.
1741 2014-03-12 Roland McGrath <mcgrathr@google.com>
1742 Mark Seaborn <mseaborn@google.com>
1745 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1746 the address of a null pointer, not with a null pointer to pointer.
1747 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1748 * testsuite/18_support/bad_exception/59392.cc: New file.
1750 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1753 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1755 * include/debug/map (map::operator=(map&&)): Likewise.
1756 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1757 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1758 * include/debug/set (set::operator=(set&&)): Likewise.
1759 * include/debug/unordered_map
1760 (unordered_map::operator=(unordered_map&&)): Likewise.
1761 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1762 * include/debug/unordered_set
1763 (unordered_set::operator=(unordered_set&&)): Likewise.
1764 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1765 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1766 * testsuite/23_containers/forward_list/debug/60499.cc: New
1767 * testsuite/23_containers/map/debug/60499.cc: New
1768 * testsuite/23_containers/multimap/debug/60499.cc: New
1769 * testsuite/23_containers/multiset/debug/60499.cc: New
1770 * testsuite/23_containers/set/debug/60499.cc: New
1771 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1772 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1773 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1774 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1775 * testsuite/23_containers/vector/debug/60499.cc: New
1777 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1779 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1780 for filesystem and fundamentals TS work items.
1782 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1785 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1786 Adjust dg-error directives.
1788 2014-02-26 Tim Shen <timshen91@gmail.com>
1790 * include/bits/regex.tcc (match_results<>::format,
1791 regex_replace<>): Update __out after calling std::copy.
1792 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1794 * testsuite/28_regex/match_results/format.cc: Likewise.
1796 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1799 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1800 allocator_type&)): Remove redundant call to _M_initialize_map.
1801 (deque::deque(const allocator_type&)): Initialize _Base with a
1802 constructor that calls _M_initialize_map.
1806 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1808 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1811 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1813 Rename testsuite directory shared_mutex to shared_timed_mutex
1815 * testsuite/30_threads/shared_mutex: Moved to...
1816 * testsuite/30_threads/shared_timed_mutex: ...here
1818 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1820 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1821 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1822 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1823 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1824 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1825 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1826 * testsuite/30_threads/shared_lock/requirements/
1827 explicit_instantiation.cc: Ditto.
1828 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1829 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1830 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1831 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1832 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1833 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1834 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1835 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1836 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1837 * testsuite/30_threads/shared_mutex/requirements/
1838 standard_layout.cc: Ditto.
1839 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1840 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1841 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1842 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1843 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1845 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1847 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1848 execution on i?86-*-solaris2.9, remove comment.
1849 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1851 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1853 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1854 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1855 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1857 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1859 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1860 not use varargs when argument could be non-POD.
1861 (__alloctr_rebind_helper): Eliminate static const bool member by
1862 using true_type and false_type.
1863 (allocator_traits::__allocate_helper): Likewise.
1864 (allocator_traits::__construct_helper): Likewise.
1865 (allocator_traits::__destroy_helper): Likewise.
1866 (allocator_traits::__maxsize_helper): Likewise.
1867 (allocator_traits::__select_helper): Likewise.
1868 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1869 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1870 Remove redundant condition.
1871 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1873 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1874 indirection through __alloc_traits.
1875 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1876 Eliminate static const bool members by using true_type and false_type.
1877 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1878 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1879 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1881 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1884 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1885 (vector::_M_data_ptr): New overloaded functions to ensure empty
1886 vectors do not dereference the pointer.
1887 * testsuite/23_containers/vector/59829.cc: New.
1888 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1889 Adjust dg-error line number.
1890 * testsuite/23_containers/vector/requirements/dr438/
1891 constructor_1_neg.cc: Likewise.
1892 * testsuite/23_containers/vector/requirements/dr438/
1893 constructor_2_neg.cc: Likewise.
1894 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1898 * include/ext/array_allocator.h: Add deprecated attribute.
1901 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1902 installation and use of python printers.
1903 * doc/xml/manual/status_cxx2011.xml: Update.
1904 * doc/html/*: Regenerate.
1906 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1907 Kyle Lippincott <spectral@google.com>
1910 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1911 constructor and grant friendship to weak_ptr.
1912 (weak_ptr::lock()): Use new constructor.
1913 * include/bits/shared_ptr_base.h
1914 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1915 and define specializations.
1916 (__shared_count): Add new non-throwing constructor.
1917 (__shared_ptr): Add new non-throwing constructor and grant friendship
1919 (__weak_ptr::lock()): Use new constructor.
1920 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1921 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1923 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1926 * include/bits/shared_ptr_base.h
1927 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1930 2014-01-27 Jason Merrill <jason@redhat.com>
1935 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1936 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1937 (__cxa_allocate_exception): Don't set it here.
1939 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1941 * include/bits/stl_map.h: Remove anachronistic comment.
1942 * include/bits/stl_multimap.h: Add whitespace.
1943 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1944 -std=gnu++11 instead of -std=c++11.
1945 * testsuite/23_containers/map/operators/2.cc: Likewise.
1946 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1947 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1948 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1950 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1951 * configure: Regenerate.
1953 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1956 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1957 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1959 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1960 Peter A. Bigot <pab@pabigot.com>
1963 * include/experimental/string_view
1964 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1965 Correct copy start location.
1967 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1968 Peter A. Bigot <pab@pabigot.com>
1971 * include/experimental/string_view (operator[](size_type) const):
1972 Fix one-off index error in debug check.
1973 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1974 test basic_string_view at size().
1975 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1977 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1978 Peter A. Bigot <pab@pabigot.com>
1981 * include/experimental/string_view
1982 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1983 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1984 Comment out catch of out_of_range; No terminating null
1985 in basic_string_view. Check begin == end.
1986 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1989 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1992 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1993 constructor to prevent it being implicitly defined as deleted, but
1994 do not copy anything.
1995 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1996 Define copy and move constructors similar to _Safe_sequence_base's.
1997 * testsuite/23_containers/unordered_map/59548.cc: New.
1999 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2000 Steve Ellcey <sellcey@mips.com>
2002 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2004 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2005 * (configure, config.h.in): Regenerate.
2006 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2008 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2010 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2011 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2014 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2015 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2017 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2019 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2020 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2021 functions to perform moving or copying of elements from rvalue tree.
2022 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2023 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2024 * testsuite/23_containers/map/59872.cc: New.
2025 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2027 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2029 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2032 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2033 Split into separate default constructor and constructor taking
2035 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2036 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2038 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2039 * include/debug/list (list::list(const _Allocator&)): Likewise.
2040 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2042 * include/debug/multimap.h
2043 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2044 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2046 * include/debug/multiset.h
2047 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2048 * include/debug/vector (vector::vector(const allocator_type&)):
2050 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2051 * include/profile/list (list::list(const _Allocator&)): Likewise.
2052 * include/profile/map.h
2053 (map::map(const _Compare&, const _Allocator&)): Likewise.
2054 * include/profile/multimap.h
2055 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2056 * include/profile/set.h
2057 (set::set(const _Compare&, const _Allocator&)): Likewise.
2058 * include/profile/multiset.h
2059 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2060 * include/profile/vector (vector::vector(const _Allocator&)):
2062 * testsuite/23_containers/deque/58764.cc: New.
2063 * testsuite/23_containers/list/58764.cc: New.
2064 * testsuite/23_containers/map/58764.cc: New.
2065 * testsuite/23_containers/multimap/58764.cc: New.
2066 * testsuite/23_containers/set/58764.cc: New.
2067 * testsuite/23_containers/multiset/58764.cc: New.
2068 * testsuite/23_containers/vector/58764.cc: New.
2069 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2070 Adjust dg-error line number.
2071 * testsuite/23_containers/deque/requirements/dr438/
2072 constructor_1_neg.cc: Likewise.
2073 * testsuite/23_containers/deque/requirements/dr438/
2074 constructor_2_neg.cc: Likewise.
2075 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2077 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2079 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2081 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2083 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2085 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2087 * testsuite/23_containers/vector/requirements/dr438/
2088 constructor_1_neg.cc: Likewise.
2089 * testsuite/23_containers/vector/requirements/dr438/
2090 constructor_2_neg.cc: Likewise.
2091 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2094 PR libstdc++/58764 (again)
2095 * include/bits/stl_list.h (list): Make default constructor's exception
2096 specification conditional.
2097 * include/bits/stl_vector.h (vector): Likewise.
2098 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2099 to default constructor.
2100 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2101 Adjust dg-error line number.
2102 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2104 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2106 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2108 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2110 * testsuite/23_containers/vector/requirements/dr438/
2111 constructor_1_neg.cc: Likewise.
2112 * testsuite/23_containers/vector/requirements/dr438/
2113 constructor_2_neg.cc: Likewise.
2114 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2117 2014-01-21 Tim Shen <timshen91@gmail.com>
2119 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2120 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2121 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2123 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2126 * include/bits/hashtable.h (__cache_default): Do not depend on
2127 whether the hash function is DefaultConstructible or CopyAssignable.
2128 (_Hashtable): Adjust static assertions.
2129 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2130 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2131 dg-error line number.
2132 * testsuite/23_containers/unordered_set/
2133 not_default_constructible_hash_neg.cc: Remove.
2135 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2137 * scripts/create_testsuite_files: Add testsuite/experimental in
2138 the list of folders to search for tests.
2139 * include/experimental/string_view
2140 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2141 incompatible with constexpr qualifier.
2142 (basic_string_view<>::front()): Likewise.
2143 (basic_string_view<>::back()): Likewise.
2144 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2145 Merge dg-options directives into one.
2146 * testsuite/experimental/string_view/element_access/char/2.cc:
2147 Likewise. Remove invalid experimental namespace scope on
2150 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2153 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2154 friendship to _Local_iterator_base<..., false>.
2155 (_Local_iterator_base): Give protected access to all existing members.
2156 (_Local_iterator_base::_M_curr()): New public accessor.
2157 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2158 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2159 the lifetime of the _Hash_code_base explicitly.
2160 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2161 (_Local_iterator_base<..., false>): Define copy constructor and copy
2162 assignment operator that use new functions to manage _Hash_code_base.
2163 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2164 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2165 Use public API for _Local_iterator_base.
2166 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2167 * include/debug/unordered_map (__debug::unordered_map::erase(),
2168 __debug::unordered_multimap::erase()): Likewise.
2169 * include/debug/unordered_set (__debug::unordered_set::erase(),
2170 __debug::unordered_multiset::erase()): Likewise.
2171 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2173 2014-01-19 Tim Shen <timshen91@gmail.com>
2175 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2176 Fix parse error of multiple consecutive quantifiers like "a**".
2177 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2179 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2181 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2183 * include/profile/set.h (set): Implement C++11 allocator-aware
2184 container requirements.
2185 * include/profile/map.h (map): Likewise.
2186 * include/profile/multiset.h (multiset): Likewise.
2187 * include/profile/multimap.h (multimap): Likewise.
2188 * include/profile/set.h
2189 (set::operator=(const set&)): Define as default in C++11 mode.
2190 (set::operator=(set&&)): Likewise.
2191 * include/profile/map.h
2192 (map::operator=(const map&)): Likewise.
2193 (map::operator=(map&&)): Likewise.
2194 * include/profile/multiset.h
2195 (multiset::operator=(const multiset&)): Likewise.
2196 (multiset::operator=(multiset&&)): Likewise.
2197 * include/profile/multimap.h
2198 (multimap::operator=(const multimap&)): Likewise.
2199 (multimap::operator=(multimap&&)): Likewise.
2200 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2201 Rely on the same operator from normal mode.
2202 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2204 * include/profile/multiset.h
2205 (multiset::operator=(std::initializer_list<>)): Likewise.
2206 * include/profile/multimap.h
2207 (multimap::operator=(std::initializer_list<>)): Likewise.
2208 * include/profile/set.h (set::swap(set&)): Add noexcept
2210 * include/profile/map.h (map::swap(map&)): Likewise.
2211 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2212 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2214 2014-01-17 Tim Shen <timshen91@gmail.com>
2216 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2218 * include/bits/regex_automaton.h: Do not use std::set.
2219 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2220 _BracketMatcher<>::_M_add_collating_element(),
2221 _BracketMatcher<>::_M_add_equivalence_class(),
2222 _BracketMatcher<>::_M_make_range()): Likewise.
2223 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2225 * include/bits/regex_executor.h: Do not use std::queue.
2226 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2227 _Executor<>::_M_dfs()): Likewise.
2228 * include/std/regex: Remove <map>, <set> and <queue>.
2230 2014-01-17 Tim Shen <timshen91@gmail.com>
2232 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2233 basic_regex<>::assign()): Change __compile_nfa to accept
2235 * include/bits/regex_compiler.h: Change _Compiler's template
2236 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2237 * include/bits/regex_compiler.tcc: Likewise.
2239 2014-01-17 Tim Shen <timshen91@gmail.com>
2241 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2243 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2244 _ScannerBase from _Scanner; Change _Scanner's template argument from
2245 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2247 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2248 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2249 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2251 * include/std/regex: Add <cstring> for using strchr.
2253 2014-01-17 Tim Shen <timshen91@gmail.com>
2255 * bits/regex_automaton.tcc: Indentation fix.
2256 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2257 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2258 _BracketMatcher<>): Add bool option template parameters and
2259 specializations to make matching more efficient and space saving.
2260 * bits/regex_compiler.tcc: Likewise.
2262 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2265 * include/bits/hashtable_policy.h: Fix some long lines.
2266 * include/bits/hashtable.h (__hash_code_base_access): Define and
2267 use it to check its _M_bucket_index noexcept qualification. Use
2269 (__access_protected_ctor): ...this.
2270 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2272 * testsuite/23_containers/unordered_set/
2273 not_default_constructible_hash_neg.cc: Likewise.
2275 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2277 * include/debug/set.h (set): Implement C++11 allocator-aware
2278 container requirements.
2279 * include/debug/map.h (map): Likewise.
2280 * include/debug/multiset.h (multiset): Likewise.
2281 * include/debug/multimap.h (multimap): Likewise.
2282 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2283 fix implementation regarding management of safe iterators.
2284 * include/debug/map.h (map::operator=(map&&)): Likewise.
2285 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2286 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2288 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2289 Rely on the same operator from normal mode.
2290 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2292 * include/debug/multiset.h
2293 (multiset::operator=(std::initializer_list<>)): Likewise.
2294 * include/debug/multimap.h
2295 (multimap::operator=(std::initializer_list<>)): Likewise.
2296 * include/debug/set.h (set::swap(set&)): Add noexcept
2297 specification, add allocator equality check.
2298 * include/debug/map.h (map::swap(map&)): Likewise.
2299 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2300 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2302 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2305 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2306 and stylistic improvements.
2307 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2308 and update for C++11.
2309 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2312 * doc/xml/manual/backwards_compatibility.xml
2313 (backwards.third.nocreate_noreplace): Correct and expand.
2316 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2318 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2321 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2322 support for non-Movable types.
2325 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2327 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2329 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2330 *this allocator instance when building temporary vector instance
2331 so that *this allocator does not get moved.
2332 * include/debug/safe_base.h
2333 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2334 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2335 move constructor from _Safe_sequence_base.
2336 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2337 safe iterators if the instance is moved.
2338 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2339 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2340 check on a vector iterator.
2341 * testsuite/23_containers/vector/allocator/move_assign.cc
2343 (test03): New, test with a non-propagating allocator.
2344 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2346 2014-01-07 Tim Shen <timshen91@gmail.com>
2348 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2349 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2350 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2351 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2352 _BracketMatcher<>::_M_add_char(),
2353 _BracketMatcher<>::_M_add_collating_element(),
2354 _BracketMatcher<>::_M_add_equivalence_class(),
2355 _BracketMatcher<>::_M_add_character_class(),
2356 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2357 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2358 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2359 to template parameter; Add cache for _BracketMatcher. Adjust
2360 declarations from here...
2361 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2362 imbuing a regex will trigger a recompilation to rebuild the cache.
2363 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2364 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2365 different template bool parameters.
2366 * include/bits/regex_executor.h: Remove unnecessary declarations.
2367 * include/std/regex: Adjust including orders.
2368 * testsuite/28_regex/traits/char/user_defined.cc: New.
2369 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2371 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2373 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2374 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2375 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2376 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2377 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2379 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2381 Update copyright years
2383 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2385 * testsuite/18_support/new_handler.cc,
2386 testsuite/18_support/terminate_handler.cc,
2387 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2388 the copyright notice.
2390 Copyright (C) 2014 Free Software Foundation, Inc.
2392 Copying and distribution of this file, with or without modification,
2393 are permitted in any medium without royalty provided the copyright
2394 notice and this notice are preserved.