1 2015-05-07 Renlin Li <renlin.li@arm.com>
3 Backported from mainline
4 2015-04-22 Renlin Li <renlin.li@arm.com>
6 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
7 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
8 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
9 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
10 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
12 2015-04-11 Jonathan Wakely <jwakely@redhat.com>
14 * testsuite/30_threads/shared_lock/cons/5.cc: Remove
15 dg-require-gthreads-timed.
16 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
17 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
18 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
20 Backport from mainline
21 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
23 * include/std/shared_mutex (shared_timed_mutex): Add comments to
24 explain the logic in the non-pthread_rwlock_t version.
25 (_Mutex): Remove redundant type.
26 (_M_n_readers): Rename to _S_max_readers.
27 (_M_write_entered, _M_readers): New convenience functions.
28 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
29 functions. Use predicates with condition variables. Simplify bitwise
31 (try_lock_for, try_shared_lock_for): Convert duration to time_point
32 and call try_lock_until or try_shared_lock_until respectively.
33 (try_lock_until, try_shared_lock_until): Wait on the condition
34 variables until the specified time passes.
35 (unlock): Add Debug Mode assertion.
36 (unlock_shared): Add Debug Mode assertion.
37 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
39 Backport from mainline
40 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
43 * include/std/chrono: Add using-directive for literals to std::chrono.
44 * testsuite/20_util/duration/literals/65499.cc: New.
46 Backport from mainline
47 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
50 * include/std/thread (this_thread::sleep_for): Check for negative
52 (this_thread::sleep_until): Check for times in the past.
53 * testsuite/30_threads/this_thread/58038.cc: New.
54 * testsuite/30_threads/this_thread/60421.cc: New.
56 2015-03-25 Jonathan Wakely <jwakely@redhat.com>
58 Backport from mainline
59 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
61 * include/std/scoped_allocator (__inner_type_impl,
62 scoped_allocator_adaptor): Add defaulted copy assignment and move
64 * testsuite/20_util/scoped_allocator/65279.cc: New.
66 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
69 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
71 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
73 * testsuite/27_io/rvalue_streams-2.cc: New.
75 2015-02-03 Tim Shen <timshen@google.com>
78 Backported from mainline
79 2015-01-22 Tim Shen <timshen@google.com>
81 * include/bits/regex.h (basic_regex<>::basic_regex,
82 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
84 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
86 2015-02-03 Tim Shen <timshen@google.com>
89 Backported from mainline
90 2015-01-22 Tim Shen <timshen@google.com>
92 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
93 regex_traits<>::lookup_classname): Correctly narrow input chars.
94 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
96 2015-01-19 Tim Shen <timshen@google.com>
99 Backported from mainline
100 2015-01-19 Tim Shen <timshen@google.com>
102 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
103 regex_traits<>::lookup_classname): Support forward iterators.
104 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
105 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
107 2015-01-19 Tim Shen <timshen@google.com>
111 * include/bits/regex.h (basic_regex<>::basic_regex,
112 basic_regex<>::assign, basic_regex<>::imbue,
113 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
114 imbuing basic_regex; Make assign() transactional against exception.
115 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
116 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
118 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
121 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
122 end of the second range.
123 * testsuite/25_algorithms/is_permutation/64646.cc: New.
125 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
128 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
129 is_assignable arguments.
130 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
133 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
136 * include/std/future (packaged_task::operator()): Increment the
137 reference count on the shared state until the function returns.
139 2015-01-09 Tim Shen <timshen@google.com>
142 Backported form mainline
143 2015-01-09 Tim Shen <timshen@google.com>
145 * include/bits/regex.h (match_results<>::swap): Use std::swap
147 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
149 * testsuite/28_regex/match_results/swap.cc: New testcase.
151 2014-12-17 Tim Shen <timshen@google.com>
155 Backported form mainline
156 2014-12-17 Tim Shen <timshen@google.com>
158 * include/bits/regex.h (match_results::cbegin, match_results::cend,
159 regex_token_iterator::regex_token_iterator,
160 regex_token_iterator::_M_normalize_result): Fix match_results cbegin
161 and cend and regex_token_iterator::_M_result invariant.
162 * include/bits/regex.tcc: Fix regex_token_iterator::_M_result invariant.
163 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Testcase.
165 2014-12-13 Tim Shen <timshen@google.com>
168 * include/bits/regex.h (match_results<>::match_results,
169 match_results<>::operator=, match_results<>::position,
170 match_results<>::swap): Fix ctor/assign/swap.
171 * include/bits/regex.tcc: (__regex_algo_impl<>,
172 regex_iterator<>::operator++): Set match_results::_M_begin as
174 * testsuite/28_regex/iterators/regex_iterator/char/
175 string_position_01.cc: Test cases.
177 2014-12-09 Jonathan Wakely <jwakely@redhat.com>
180 * include/std/shared_mutex: Fix preprocessor conditions.
181 * testsuite/experimental/feat-cxx14.cc: Check conditions.
183 2014-12-06 Jonathan Wakely <jwakely@redhat.com>
186 * include/std/functional (function::function(const function&)): Set
187 _M_manager after operations that might throw.
188 * include/tr1/functional (function::function(const function&),
189 function::function(_Functor, _Useless)): Likewise.
190 * testsuite/20_util/function/63840.cc: New.
191 * testsuite/tr1/3_function_objects/function/63840.cc: New.
194 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
195 disambiguate unary constructors.
196 (_Tuple_impl): Pass allocator_arg_t arguments.
197 * testsuite/20_util/tuple/61947.cc: New.
198 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
200 2014-12-06 Tim Shen <timshen@google.com>
203 Backport form mainline
204 2014-12-04 Tim Shen <timshen@google.com>
206 * include/bits/regex.tcc (regex_iterator<>::operator++): Update
207 prefix.matched after modifying prefix.first.
208 * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: New
211 2014-12-02 Matthias Klose <doko@ubuntu.com>
214 Backport from mainline
215 2014-11-03 Paolo Carlini <paolo.carlini@oracle.com>
217 * include/parallel/algo.h: Do not use default arguments in function
218 template redeclarations (definitions).
220 2014-11-04 Jonathan Wakely <jwakely@redhat.com>
222 * include/parallel/numeric.h: Do not use default arguments in function
223 template redeclarations (definitions).
225 2014-11-28 Tim Shen <timshen@google.com>
228 * include/bits/regex_executor.tcc (_Executor::_M_dfs,
229 _Executor::_M_word_boundary): Avoid dereferecing _M_current at _M_end
230 or other invalid position.
232 2014-11-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
234 Backport from mainline
235 2014-09-10 Tony Wang <tony.wang@arm.com>
238 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
239 Return with CONTINUE_UNWINDING when the state pattern
240 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
242 2014-10-30 David Edelsohn <dje.gcc@gmail.com>
244 Backported from mainline.
245 2014-10-30 David Edelsohn <dje.gcc@gmail.com>
247 * configure.host (aix4.3+, 5+): Do not use -G in link command.
249 2014-10-30 Release Manager
251 * GCC 4.9.2 released.
253 2014-10-18 François Dumont <fdumont@gcc.gnu.org>
254 Jonathan Wakely <jwakely@redhat.com>
257 * include/debug/functions.h (__foreign_iterator_aux2): Do not check for
258 foreign iterators if input iterators returns rvalue reference.
259 * testsuite/23_containers/vector/63500.cc: New.
261 2014-10-14 Kai Tietz <ktietz@redhat.com>
264 * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC):
265 Define to avoid leak.
266 * config/os/mingw32-w64/os_defines.h: Likewise.
268 2014-10-08 Edward Smith-Rowland <3dw4rd@verizon.net>
270 Implement SD-6: SG10 Feature Test Recommendations
271 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
272 * include/bits/stl_algobase.h: Ditto.
273 * include/bits/stl_function.h: Ditto.
274 * include/bits/unique_ptr.h: Ditto.
275 * include/std/chrono: Ditto.
276 * include/std/complex: Ditto.
277 * include/std/iomanip: Ditto.
278 * include/std/shared_mutex: Ditto.
279 * include/std/tuple: Ditto.
280 * include/std/type_traits: Ditto.
281 * include/std/utility: Ditto.
282 * testsuite/experimental/feat-cxx14.cc: New.
283 * testsuite/experimental/feat-lib-fund.cc: New.
284 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
285 * testsuite/20_util/duration/literals/range.cc: Adjust.
286 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
287 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
288 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
289 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
290 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
291 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
292 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
295 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
297 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
300 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
303 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
305 * testsuite/23_containers/unordered_set/63456.cc: New.
307 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
310 * doc/xml/manual/containers.xml: Remove outdated section. Update
312 * doc/html/*: Regenerate.
314 2014-10-03 Edward Smith-Rowland <3dw4rd@verizon.net>
316 * include/std/type_traits: Add is_final<> type trait for C++14.
317 * testsuite/util/testsuite_tr1.h: Add FinalType.
318 * testsuite/20_util/is_final/requirements/
319 explicit_instantiation.cc: New.
320 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
321 * testsuite/20_util/is_final/value.cc: New.
322 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
323 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
324 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
326 2014-10-02 Tim Shen <timshen@google.com>
329 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
330 basic_regex::swap): Fix dangling _M_traits reference problem.
331 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
334 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
336 * doc/xml/manual/status_cxx2011.xml: Corrections.
337 * doc/html/manual/status.html: Regenerate.
339 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
341 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
343 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
345 * include/bits/stl_queue.h: Include missing header.
346 * include/bits/stl_stack.h: Likewise.
347 * testsuite/23_containers/priority_queue/requirements/
348 uses_allocator.cc: New.
349 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
350 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
352 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
354 * include/std/mutex (try_lock): Do not swallow exceptions.
355 * testsuite/30_threads/try_lock/4.cc: Fix test.
357 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
360 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
361 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
363 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
366 * include/bits/regex.h (match_results::format): Remove stray template
369 2014-08-26 Jonathan Wakely <jwakely@redhat.com>
371 Backported from mainline
372 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
374 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
375 and add overloads for rvalue streams.
376 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
378 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
381 2014-08-26 Jonathan Wakely <jwakely@redhat.com>
384 * include/experimental/string_view: Fix inconsistent exception specs.
386 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
389 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
390 _M_need_rehash to initialize the rehash policy and check if a rehash is
392 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
394 2014-08-04 Jonathan Wakely <jwakely@redhat.com>
396 Backported from mainline
397 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
400 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
401 const allocator_type&)): Pass non-const allocator to
403 * testsuite/ext/rope/61946.cc: New.
405 2014-08-04 Zifei Tong <zifeitong@gmail.com>
407 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
408 _GLIBCXX_ prefix to macro.
410 2014-08-04 Samuel Bronson <naesten@gmail.com>
412 Backport r212453 from trunk
413 2014-07-11 Samuel Bronson <naesten@gmail.com>
414 Matthias Klose <doko@ubuntu.com>
417 * python/libstdcxx/v6/printers.py: Port to Python 2+3
418 (imap): New compat function.
420 (Iterator): New mixin to allow writing iterators in Python 3 style
421 regardless of which version we're running on.
422 [Python3] (long) New compat alias for "int".
423 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
425 Backport r210625 from trunk
426 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
428 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
430 2014-08-04 Jonathan Wakely <jwakely@redhat.com>
432 Backported from mainline
433 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
436 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
437 (bin_search_tree_traits): Do not redeclare template-parameters.
438 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
440 Backported from mainline
441 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
443 * include/std/condition_variable (condition_variable_any::_Unlock): Do
444 not swallow __forced_unwind.
445 * include/std/future (__future_base::_Task_setter): Likewise.
446 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
448 * include/std/mutex (try_lock): Likewise.
449 * testsuite/30_threads/async/forced_unwind.cc: New.
450 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
452 Backported from mainline
453 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
456 * include/experimental/string_view (operator basic_string): Correct
458 (to_string): Replace with member function.
459 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
460 allow _M_str to be null.
461 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
462 default constructor semantics.
463 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
464 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
465 copyright dates. Remove unused header.
466 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
468 * testsuite/experimental/string_view/operations/data/char/1.cc:
469 Fix copyright dates. Adjust to new default constructor semantics.
470 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
472 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
474 Backported from mainline
475 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
477 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
478 const to constexpr member functions.
480 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
482 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
483 * include/bits/random.h (_Adaptor): static_assert for non floating-point
485 * include/bits/random.tcc (generate_canonical): Ditto.
486 * include/ext/random.tcc (hypergeometric_distribution::operator()):
487 Use double as a rng result type.
488 * testsuite/26_numerics/random/pr60037-neg.cc: New.
489 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
491 2014-07-16 Release Manager
493 * GCC 4.9.1 released.
495 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
498 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
499 apply the signed specifier to wchar_t.
500 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
501 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Do not
502 apply the unsigned specifier to wchar_t.
503 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
506 2014-06-13 Jonathan Wakely <jwakely@redhat.com>
508 Backport from mainline
510 * include/std/type_traits (__make_unsigned, __make_signed): Define
511 specializations for wchar_t, char16_t and char32_t.
512 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
513 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
514 test for make_unsigned<volatile wchar_t>.
515 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
517 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
519 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
521 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
524 Backport from mainline
526 * include/std/type_traits: Move include outside namespace std.
527 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
528 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
529 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
532 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
533 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
534 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
536 2014-06-07 Ed Smith-Rowland <3dw4rd@verizon.net>
538 Backport from mainline
539 DR 2344 - std::quoted doesn't respect padding
540 * include/std/iomanip: Allow for padding in quoted inserters.
541 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
542 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
544 2014-06-03 Jonathan Wakely <jwakely@redhat.com>
546 * include/bits/regex_executor.tcc (_Executor<>::_M_main): Move instead
549 2014-06-03 Jonathan Wakely <jwakely@redhat.com>
551 Backport from mainline
552 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
555 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
557 Backport from mainline
558 2014-04-24 Tim Shen <timshen91@gmail.com>
560 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
561 Do _M_alt before _M_next.
562 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
564 Backport from mainline
565 2014-05-20 Tim Shen <timshen91@gmail.com>
568 * include/bits/regex_compiler.h
569 (_BracketMatcher<>::_M_add_character_class): Add negative character
571 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
573 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
576 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
578 * include/tr2/bool_set: Use UTF-8 for accented characters.
579 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
581 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
584 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
586 (_State_base::_M_dot): Likewise.
588 2014-05-23 François Dumont <fdumont@gcc.gnu.org>
591 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
593 * testsuite/23_containers/unordered_set/61143.cc: New.
594 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
596 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
599 * include/std/future (__future_base::_State_baseV2::_M_set_result):
600 Signal condition variable after call_once returns.
601 (__future_base::_State_baseV2::_M_do_set): Do not signal here.
602 (promise::set_value, promise::set_exception): Increment the reference
603 count on the shared state until the function returns.
604 * testsuite/30_threads/promise/60966.cc: New.
606 2014-05-08 Joshua Gay <jgay@gnu.org>
609 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
610 source" with "free software".
611 * doc/html/faq.html: Likewise.
613 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
615 * include/std/iostream: Fix URL in comment.
616 * src/c++98/ios_init.cc: Fix path in comment.
618 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
621 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
623 * testsuite/23_containers/set/cons/61023.cc: New.
626 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
628 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
629 arithmetic to obtain a mutable iterator from const_iterator.
630 * include/bits/vector.tcc (vector::insert): Likewise.
631 * include/debug/vector (vector::erase): Likewise.
632 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
633 Adjust dg-error line number.
634 * testsuite/23_containers/vector/requirements/dr438/
635 constructor_1_neg.cc: Likewise.
636 * testsuite/23_containers/vector/requirements/dr438/
637 constructor_2_neg.cc: Likewise.
638 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
641 2014-05-06 Jonathan Wakely <jwakely@redhat.com>
643 Backport from mainline
644 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
647 * include/std/functional (function::_Callable): Exclude own type
648 from the callable checks.
649 * testsuite/20_util/function/60594.cc: New.
651 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
654 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
655 function to handle both C++03 and C++11 _Rb_tree_node implementations.
656 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
657 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
659 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
662 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
663 Check the correct type in the static assertion.
664 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
666 2014-04-27 Lars Gullik Bjønnes <larsbj@gullik.org>
669 * include/experimental/optional (operator!=): Implement in terms of
671 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
672 * testsuite/experimental/optional/relops/2.cc: Likewise.
673 * testsuite/experimental/optional/relops/3.cc: Likewise.
674 * testsuite/experimental/optional/relops/4.cc: Likewise.
675 * testsuite/experimental/optional/relops/5.cc: Likewise.
676 * testsuite/experimental/optional/relops/6.cc: Likewise.
678 2014-04-27 Jonathan Wakely <jwakely@redhat.com>
681 * include/std/tuple (get): Qualify calls to prevent ADL.
682 * testsuite/20_util/tuple/60497.cc: New.
684 * include/std/tuple (tuple_element_t): Define.
685 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
687 * testsuite/20_util/tuple/tuple_element_t.cc: New.
689 2014-04-22 Release Manager
691 * GCC 4.9.0 released.
693 2014-04-10 Andreas Schwab <schwab@suse.de>
695 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
697 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
698 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
700 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
702 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
704 * testsuite/20_util/exchange/1.cc: Add missing return statements.
705 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
706 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
709 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
710 Jack Howarth <howarth@bromo.med.uc.edu>
713 * testsuite/30_threads/condition_variable/54185.cc: Skip for
716 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
718 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
720 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
722 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
723 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
724 * doc/xml/manual/concurrency_extensions.xml
725 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
726 * doc/html/*: Regenerate.
728 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
729 Jonathan Wakely <jwakely@redhat.com>
732 * include/std/iomanip (_Quoted_string operator>>): Do not clear
733 string if input is not quoted.
734 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
736 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
738 * libsupc++/eh_ptr.cc: Improve static_assert messages.
740 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
742 * testsuite/18_support/exception_ptr/60612-terminate.cc
743 (terminate, f): Wrap in _GLIBCXX_USE_C99.
744 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
746 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
748 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
750 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
751 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
753 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
755 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
757 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
758 Fix bad s/part/chapter/ substitutions.
759 * doc/xml/manual/io.xml (std.io): Likewise.
760 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
761 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
763 * doc/html/*: Regenerate.
765 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
768 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
769 compatible with __cxa_exception.
770 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
771 Fix typos in comments.
772 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
773 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
775 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
778 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
779 Use sizeof pointer type not the element type.
780 * testsuite/29_atomics/atomic/60658.cc: New.
782 2014-03-24 Jakub Jelinek <jakub@redhat.com>
784 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
785 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
786 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
787 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
788 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
789 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
790 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
791 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
792 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
793 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
796 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
798 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
800 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
802 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
803 to delegated constructor.
804 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
805 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
808 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
810 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
813 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
815 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
818 * include/debug/functions.h (_Is_contiguous_sequence): Define.
819 (__foreign_iterator): Accept additional iterator. Do not dispatch on
821 (__foreign_iterator_aux2): Likewise. Add overload for iterators
822 from different types of debug container. Use _Is_contiguous_sequence
823 instead of is_lvalue_reference.
824 (__foreign_iterator_aux3): Accept additional iterator. Avoid
825 dereferencing past-the-end iterator.
826 (__foreign_iterator_aux4): Use const value_type* instead of
827 potentially user-defined const_pointer type.
828 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
829 and pass end iterator to __gnu_debug::__foreign_iterator.
830 (__glibcxx_check_insert_range_after): Likewise.
831 (__glibcxx_check_max_load_factor): Fix comment.
832 * include/debug/vector (_Is_contiguous_sequence): Define partial
834 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
835 -std=gnu++11 option and unused header.
836 * testsuite/23_containers/vector/debug/60587.cc: New.
837 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
839 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
841 * crossconfig.m4: Support spu-*-elf* targets.
842 * configure: Regenerate.
844 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
847 * include/std/future (__future_base::_Task_state<>): Change
848 constructors to template functions using perfect forwarding.
849 (__create_task_state): Use decayed type as stored task.
850 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
851 * testsuite/30_threads/packaged_task/60564.cc: New.
853 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
855 * scripts/create_testsuite_files: Add testsuite/experimental in
856 the list of folders to search for tests.
858 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
860 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
862 2014-03-15 Tim Shen <timshen91@gmail.com>
864 * include/bits/regex.h: Add/modify comments.
865 * include/bits/regex_compiler.h: Likewise.
866 * include/bits/regex_executor.h: Likewise.
867 * include/bits/regex_executor.tcc: Likewise.
868 * include/bits/regex_scanner.h: Likewise.
870 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
873 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
874 _ZNSt12system_errorC* symbols which are not exported on any target.
876 2014-03-12 Roland McGrath <mcgrathr@google.com>
877 Mark Seaborn <mseaborn@google.com>
880 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
881 the address of a null pointer, not with a null pointer to pointer.
882 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
883 * testsuite/18_support/bad_exception/59392.cc: New file.
885 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
888 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
890 * include/debug/map (map::operator=(map&&)): Likewise.
891 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
892 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
893 * include/debug/set (set::operator=(set&&)): Likewise.
894 * include/debug/unordered_map
895 (unordered_map::operator=(unordered_map&&)): Likewise.
896 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
897 * include/debug/unordered_set
898 (unordered_set::operator=(unordered_set&&)): Likewise.
899 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
900 * include/debug/vector (vector::operator=(vector&&)): Likewise.
901 * testsuite/23_containers/forward_list/debug/60499.cc: New
902 * testsuite/23_containers/map/debug/60499.cc: New
903 * testsuite/23_containers/multimap/debug/60499.cc: New
904 * testsuite/23_containers/multiset/debug/60499.cc: New
905 * testsuite/23_containers/set/debug/60499.cc: New
906 * testsuite/23_containers/unordered_map/debug/60499.cc: New
907 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
908 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
909 * testsuite/23_containers/unordered_set/debug/60499.cc: New
910 * testsuite/23_containers/vector/debug/60499.cc: New
912 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
914 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
915 for filesystem and fundamentals TS work items.
917 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
920 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
921 Adjust dg-error directives.
923 2014-02-26 Tim Shen <timshen91@gmail.com>
925 * include/bits/regex.tcc (match_results<>::format,
926 regex_replace<>): Update __out after calling std::copy.
927 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
929 * testsuite/28_regex/match_results/format.cc: Likewise.
931 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
934 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
935 allocator_type&)): Remove redundant call to _M_initialize_map.
936 (deque::deque(const allocator_type&)): Initialize _Base with a
937 constructor that calls _M_initialize_map.
941 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
943 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
946 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
948 Rename testsuite directory shared_mutex to shared_timed_mutex
950 * testsuite/30_threads/shared_mutex: Moved to...
951 * testsuite/30_threads/shared_timed_mutex: ...here
953 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
955 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
956 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
957 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
958 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
959 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
960 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
961 * testsuite/30_threads/shared_lock/requirements/
962 explicit_instantiation.cc: Ditto.
963 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
964 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
965 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
966 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
967 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
968 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
969 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
970 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
971 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
972 * testsuite/30_threads/shared_mutex/requirements/
973 standard_layout.cc: Ditto.
974 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
975 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
976 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
977 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
978 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
980 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
982 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
983 execution on i?86-*-solaris2.9, remove comment.
984 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
986 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
988 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
989 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
990 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
992 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
994 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
995 not use varargs when argument could be non-POD.
996 (__alloctr_rebind_helper): Eliminate static const bool member by
997 using true_type and false_type.
998 (allocator_traits::__allocate_helper): Likewise.
999 (allocator_traits::__construct_helper): Likewise.
1000 (allocator_traits::__destroy_helper): Likewise.
1001 (allocator_traits::__maxsize_helper): Likewise.
1002 (allocator_traits::__select_helper): Likewise.
1003 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1004 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1005 Remove redundant condition.
1006 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1008 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1009 indirection through __alloc_traits.
1010 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1011 Eliminate static const bool members by using true_type and false_type.
1012 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1013 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1014 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1016 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1019 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1020 (vector::_M_data_ptr): New overloaded functions to ensure empty
1021 vectors do not dereference the pointer.
1022 * testsuite/23_containers/vector/59829.cc: New.
1023 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1024 Adjust dg-error line number.
1025 * testsuite/23_containers/vector/requirements/dr438/
1026 constructor_1_neg.cc: Likewise.
1027 * testsuite/23_containers/vector/requirements/dr438/
1028 constructor_2_neg.cc: Likewise.
1029 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1033 * include/ext/array_allocator.h: Add deprecated attribute.
1036 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1037 installation and use of python printers.
1038 * doc/xml/manual/status_cxx2011.xml: Update.
1039 * doc/html/*: Regenerate.
1041 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1042 Kyle Lippincott <spectral@google.com>
1045 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1046 constructor and grant friendship to weak_ptr.
1047 (weak_ptr::lock()): Use new constructor.
1048 * include/bits/shared_ptr_base.h
1049 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1050 and define specializations.
1051 (__shared_count): Add new non-throwing constructor.
1052 (__shared_ptr): Add new non-throwing constructor and grant friendship
1054 (__weak_ptr::lock()): Use new constructor.
1055 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1056 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1058 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1061 * include/bits/shared_ptr_base.h
1062 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1065 2014-01-27 Jason Merrill <jason@redhat.com>
1070 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1071 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1072 (__cxa_allocate_exception): Don't set it here.
1074 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1076 * include/bits/stl_map.h: Remove anachronistic comment.
1077 * include/bits/stl_multimap.h: Add whitespace.
1078 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1079 -std=gnu++11 instead of -std=c++11.
1080 * testsuite/23_containers/map/operators/2.cc: Likewise.
1081 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1082 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1083 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1085 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1086 * configure: Regenerate.
1088 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1091 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1092 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1094 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1095 Peter A. Bigot <pab@pabigot.com>
1098 * include/experimental/string_view
1099 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1100 Correct copy start location.
1102 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1103 Peter A. Bigot <pab@pabigot.com>
1106 * include/experimental/string_view (operator[](size_type) const):
1107 Fix one-off index error in debug check.
1108 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1109 test basic_string_view at size().
1110 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1112 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1113 Peter A. Bigot <pab@pabigot.com>
1116 * include/experimental/string_view
1117 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1118 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1119 Comment out catch of out_of_range; No terminating null
1120 in basic_string_view. Check begin == end.
1121 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1124 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1127 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1128 constructor to prevent it being implicitly defined as deleted, but
1129 do not copy anything.
1130 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1131 Define copy and move constructors similar to _Safe_sequence_base's.
1132 * testsuite/23_containers/unordered_map/59548.cc: New.
1134 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1135 Steve Ellcey <sellcey@mips.com>
1137 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1139 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1140 * (configure, config.h.in): Regenerate.
1141 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1143 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1145 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1146 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1149 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1150 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1152 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1154 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1155 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1156 functions to perform moving or copying of elements from rvalue tree.
1157 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1158 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1159 * testsuite/23_containers/map/59872.cc: New.
1160 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1162 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1164 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1167 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1168 Split into separate default constructor and constructor taking
1170 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1171 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1173 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1174 * include/debug/list (list::list(const _Allocator&)): Likewise.
1175 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1177 * include/debug/multimap.h
1178 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1179 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1181 * include/debug/multiset.h
1182 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1183 * include/debug/vector (vector::vector(const allocator_type&)):
1185 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1186 * include/profile/list (list::list(const _Allocator&)): Likewise.
1187 * include/profile/map.h
1188 (map::map(const _Compare&, const _Allocator&)): Likewise.
1189 * include/profile/multimap.h
1190 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1191 * include/profile/set.h
1192 (set::set(const _Compare&, const _Allocator&)): Likewise.
1193 * include/profile/multiset.h
1194 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1195 * include/profile/vector (vector::vector(const _Allocator&)):
1197 * testsuite/23_containers/deque/58764.cc: New.
1198 * testsuite/23_containers/list/58764.cc: New.
1199 * testsuite/23_containers/map/58764.cc: New.
1200 * testsuite/23_containers/multimap/58764.cc: New.
1201 * testsuite/23_containers/set/58764.cc: New.
1202 * testsuite/23_containers/multiset/58764.cc: New.
1203 * testsuite/23_containers/vector/58764.cc: New.
1204 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1205 Adjust dg-error line number.
1206 * testsuite/23_containers/deque/requirements/dr438/
1207 constructor_1_neg.cc: Likewise.
1208 * testsuite/23_containers/deque/requirements/dr438/
1209 constructor_2_neg.cc: Likewise.
1210 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1212 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1214 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1216 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1218 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1220 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1222 * testsuite/23_containers/vector/requirements/dr438/
1223 constructor_1_neg.cc: Likewise.
1224 * testsuite/23_containers/vector/requirements/dr438/
1225 constructor_2_neg.cc: Likewise.
1226 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1229 PR libstdc++/58764 (again)
1230 * include/bits/stl_list.h (list): Make default constructor's exception
1231 specification conditional.
1232 * include/bits/stl_vector.h (vector): Likewise.
1233 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1234 to default constructor.
1235 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1236 Adjust dg-error line number.
1237 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1239 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1241 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1243 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1245 * testsuite/23_containers/vector/requirements/dr438/
1246 constructor_1_neg.cc: Likewise.
1247 * testsuite/23_containers/vector/requirements/dr438/
1248 constructor_2_neg.cc: Likewise.
1249 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1252 2014-01-21 Tim Shen <timshen91@gmail.com>
1254 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1255 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1256 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1258 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1261 * include/bits/hashtable.h (__cache_default): Do not depend on
1262 whether the hash function is DefaultConstructible or CopyAssignable.
1263 (_Hashtable): Adjust static assertions.
1264 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1265 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1266 dg-error line number.
1267 * testsuite/23_containers/unordered_set/
1268 not_default_constructible_hash_neg.cc: Remove.
1270 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1272 * scripts/create_testsuite_files: Add testsuite/experimental in
1273 the list of folders to search for tests.
1274 * include/experimental/string_view
1275 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1276 incompatible with constexpr qualifier.
1277 (basic_string_view<>::front()): Likewise.
1278 (basic_string_view<>::back()): Likewise.
1279 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1280 Merge dg-options directives into one.
1281 * testsuite/experimental/string_view/element_access/char/2.cc:
1282 Likewise. Remove invalid experimental namespace scope on
1285 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1288 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1289 friendship to _Local_iterator_base<..., false>.
1290 (_Local_iterator_base): Give protected access to all existing members.
1291 (_Local_iterator_base::_M_curr()): New public accessor.
1292 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1293 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1294 the lifetime of the _Hash_code_base explicitly.
1295 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1296 (_Local_iterator_base<..., false>): Define copy constructor and copy
1297 assignment operator that use new functions to manage _Hash_code_base.
1298 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1299 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1300 Use public API for _Local_iterator_base.
1301 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1302 * include/debug/unordered_map (__debug::unordered_map::erase(),
1303 __debug::unordered_multimap::erase()): Likewise.
1304 * include/debug/unordered_set (__debug::unordered_set::erase(),
1305 __debug::unordered_multiset::erase()): Likewise.
1306 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1308 2014-01-19 Tim Shen <timshen91@gmail.com>
1310 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1311 Fix parse error of multiple consecutive quantifiers like "a**".
1312 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1314 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1316 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1318 * include/profile/set.h (set): Implement C++11 allocator-aware
1319 container requirements.
1320 * include/profile/map.h (map): Likewise.
1321 * include/profile/multiset.h (multiset): Likewise.
1322 * include/profile/multimap.h (multimap): Likewise.
1323 * include/profile/set.h
1324 (set::operator=(const set&)): Define as default in C++11 mode.
1325 (set::operator=(set&&)): Likewise.
1326 * include/profile/map.h
1327 (map::operator=(const map&)): Likewise.
1328 (map::operator=(map&&)): Likewise.
1329 * include/profile/multiset.h
1330 (multiset::operator=(const multiset&)): Likewise.
1331 (multiset::operator=(multiset&&)): Likewise.
1332 * include/profile/multimap.h
1333 (multimap::operator=(const multimap&)): Likewise.
1334 (multimap::operator=(multimap&&)): Likewise.
1335 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1336 Rely on the same operator from normal mode.
1337 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1339 * include/profile/multiset.h
1340 (multiset::operator=(std::initializer_list<>)): Likewise.
1341 * include/profile/multimap.h
1342 (multimap::operator=(std::initializer_list<>)): Likewise.
1343 * include/profile/set.h (set::swap(set&)): Add noexcept
1345 * include/profile/map.h (map::swap(map&)): Likewise.
1346 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1347 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1349 2014-01-17 Tim Shen <timshen91@gmail.com>
1351 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1353 * include/bits/regex_automaton.h: Do not use std::set.
1354 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1355 _BracketMatcher<>::_M_add_collating_element(),
1356 _BracketMatcher<>::_M_add_equivalence_class(),
1357 _BracketMatcher<>::_M_make_range()): Likewise.
1358 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1360 * include/bits/regex_executor.h: Do not use std::queue.
1361 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1362 _Executor<>::_M_dfs()): Likewise.
1363 * include/std/regex: Remove <map>, <set> and <queue>.
1365 2014-01-17 Tim Shen <timshen91@gmail.com>
1367 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1368 basic_regex<>::assign()): Change __compile_nfa to accept
1370 * include/bits/regex_compiler.h: Change _Compiler's template
1371 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1372 * include/bits/regex_compiler.tcc: Likewise.
1374 2014-01-17 Tim Shen <timshen91@gmail.com>
1376 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1378 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1379 _ScannerBase from _Scanner; Change _Scanner's template argument from
1380 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1382 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1383 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1384 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1386 * include/std/regex: Add <cstring> for using strchr.
1388 2014-01-17 Tim Shen <timshen91@gmail.com>
1390 * bits/regex_automaton.tcc: Indentation fix.
1391 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1392 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1393 _BracketMatcher<>): Add bool option template parameters and
1394 specializations to make matching more efficient and space saving.
1395 * bits/regex_compiler.tcc: Likewise.
1397 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1400 * include/bits/hashtable_policy.h: Fix some long lines.
1401 * include/bits/hashtable.h (__hash_code_base_access): Define and
1402 use it to check its _M_bucket_index noexcept qualification. Use
1404 (__access_protected_ctor): ...this.
1405 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1407 * testsuite/23_containers/unordered_set/
1408 not_default_constructible_hash_neg.cc: Likewise.
1410 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1412 * include/debug/set.h (set): Implement C++11 allocator-aware
1413 container requirements.
1414 * include/debug/map.h (map): Likewise.
1415 * include/debug/multiset.h (multiset): Likewise.
1416 * include/debug/multimap.h (multimap): Likewise.
1417 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1418 fix implementation regarding management of safe iterators.
1419 * include/debug/map.h (map::operator=(map&&)): Likewise.
1420 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1421 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1423 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1424 Rely on the same operator from normal mode.
1425 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1427 * include/debug/multiset.h
1428 (multiset::operator=(std::initializer_list<>)): Likewise.
1429 * include/debug/multimap.h
1430 (multimap::operator=(std::initializer_list<>)): Likewise.
1431 * include/debug/set.h (set::swap(set&)): Add noexcept
1432 specification, add allocator equality check.
1433 * include/debug/map.h (map::swap(map&)): Likewise.
1434 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1435 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1437 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1440 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1441 and stylistic improvements.
1442 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1443 and update for C++11.
1444 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1447 * doc/xml/manual/backwards_compatibility.xml
1448 (backwards.third.nocreate_noreplace): Correct and expand.
1451 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1453 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1456 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1457 support for non-Movable types.
1460 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1462 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1464 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1465 *this allocator instance when building temporary vector instance
1466 so that *this allocator does not get moved.
1467 * include/debug/safe_base.h
1468 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1469 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1470 move constructor from _Safe_sequence_base.
1471 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1472 safe iterators if the instance is moved.
1473 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1474 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1475 check on a vector iterator.
1476 * testsuite/23_containers/vector/allocator/move_assign.cc
1478 (test03): New, test with a non-propagating allocator.
1479 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1481 2014-01-07 Tim Shen <timshen91@gmail.com>
1483 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1484 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1485 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1486 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1487 _BracketMatcher<>::_M_add_char(),
1488 _BracketMatcher<>::_M_add_collating_element(),
1489 _BracketMatcher<>::_M_add_equivalence_class(),
1490 _BracketMatcher<>::_M_add_character_class(),
1491 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1492 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1493 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1494 to template parameter; Add cache for _BracketMatcher. Adjust
1495 declarations from here...
1496 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1497 imbuing a regex will trigger a recompilation to rebuild the cache.
1498 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1499 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1500 different template bool parameters.
1501 * include/bits/regex_executor.h: Remove unnecessary declarations.
1502 * include/std/regex: Adjust including orders.
1503 * testsuite/28_regex/traits/char/user_defined.cc: New.
1504 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1506 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1508 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1509 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1510 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1511 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1512 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1514 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1516 Update copyright years
1518 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1520 * testsuite/18_support/new_handler.cc,
1521 testsuite/18_support/terminate_handler.cc,
1522 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1523 the copyright notice.
1525 Copyright (C) 2014 Free Software Foundation, Inc.
1527 Copying and distribution of this file, with or without modification,
1528 are permitted in any medium without royalty provided the copyright
1529 notice and this notice are preserved.