1 2015-06-05 Tim Shen <timshen@google.com>
5 2014-11-13 Tim Shen <timshen@google.com>
8 * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
9 _BracketMatcher<>::_M_make_range): Throw regex_erorr on invalid range
10 like [z-a]. Change _M_expression_term interface.
11 * include/bits/regex_compiler.tcc (
12 _Compiler<>::_M_insert_bracket_matcher,
13 _Compiler<>::_M_expression_term): Rewrite bracket expression parsing.
14 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
15 Add testcases and move file out of extended.
17 2015-06-04 Renlin Li <renlin.li@arm.com>
19 Backported from mainline
20 2015-06-02 Renlin Li <renlin.li@arm.com>
22 * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
24 2015-05-28 Jonathan Wakely <jwakely@redhat.com>
27 * include/profile/array (array::data): Use __array_traits::_S_ptr.
28 * include/debug/array (array::data): Likewise.
29 * include/std/array (__array_traits::_S_ptr): New function.
30 (array::data): Use _S_ptr to avoid creating invalid reference.
31 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
32 dg-error line numbers.
33 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
36 Backport from mainline
37 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
40 * include/std/atomic (atomic_init): Define.
41 * testsuite/29_atomics/atomic/64658.cc: New.
43 Backport from mainline
44 2014-12-22 Jonathan Wakely <jwakely@redhat.com>
47 * include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
48 stoul, stoull, to_string): Only use _GLIBCXX_HAVE_BROKEN_VSWPRINTF
49 to guard definition of to_wstring.
51 2015-05-22 David Edelsohn <dje.gcc@gmail.com>
53 Backport from mainline
54 2015-05-21 David Edelsohn <dje.gcc@gmail.com>
57 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
58 Don't use isync. Use lwsync if available.
60 2015-05-07 Renlin Li <renlin.li@arm.com>
62 Backported from mainline
63 2015-04-22 Renlin Li <renlin.li@arm.com>
65 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
66 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
67 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
68 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
69 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
71 2015-04-11 Jonathan Wakely <jwakely@redhat.com>
73 * testsuite/30_threads/shared_lock/cons/5.cc: Remove
74 dg-require-gthreads-timed.
75 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
76 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
77 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
79 Backport from mainline
80 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
82 * include/std/shared_mutex (shared_timed_mutex): Add comments to
83 explain the logic in the non-pthread_rwlock_t version.
84 (_Mutex): Remove redundant type.
85 (_M_n_readers): Rename to _S_max_readers.
86 (_M_write_entered, _M_readers): New convenience functions.
87 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
88 functions. Use predicates with condition variables. Simplify bitwise
90 (try_lock_for, try_shared_lock_for): Convert duration to time_point
91 and call try_lock_until or try_shared_lock_until respectively.
92 (try_lock_until, try_shared_lock_until): Wait on the condition
93 variables until the specified time passes.
94 (unlock): Add Debug Mode assertion.
95 (unlock_shared): Add Debug Mode assertion.
96 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
98 Backport from mainline
99 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
102 * include/std/chrono: Add using-directive for literals to std::chrono.
103 * testsuite/20_util/duration/literals/65499.cc: New.
105 Backport from mainline
106 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
109 * include/std/thread (this_thread::sleep_for): Check for negative
111 (this_thread::sleep_until): Check for times in the past.
112 * testsuite/30_threads/this_thread/58038.cc: New.
113 * testsuite/30_threads/this_thread/60421.cc: New.
115 2015-03-25 Jonathan Wakely <jwakely@redhat.com>
117 Backport from mainline
118 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
120 * include/std/scoped_allocator (__inner_type_impl,
121 scoped_allocator_adaptor): Add defaulted copy assignment and move
122 assignment operators.
123 * testsuite/20_util/scoped_allocator/65279.cc: New.
125 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
128 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
130 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
132 * testsuite/27_io/rvalue_streams-2.cc: New.
134 2015-02-03 Tim Shen <timshen@google.com>
137 Backported from mainline
138 2015-01-22 Tim Shen <timshen@google.com>
140 * include/bits/regex.h (basic_regex<>::basic_regex,
141 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
143 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
145 2015-02-03 Tim Shen <timshen@google.com>
148 Backported from mainline
149 2015-01-22 Tim Shen <timshen@google.com>
151 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
152 regex_traits<>::lookup_classname): Correctly narrow input chars.
153 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
155 2015-01-19 Tim Shen <timshen@google.com>
158 Backported from mainline
159 2015-01-19 Tim Shen <timshen@google.com>
161 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
162 regex_traits<>::lookup_classname): Support forward iterators.
163 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
164 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
166 2015-01-19 Tim Shen <timshen@google.com>
170 * include/bits/regex.h (basic_regex<>::basic_regex,
171 basic_regex<>::assign, basic_regex<>::imbue,
172 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
173 imbuing basic_regex; Make assign() transactional against exception.
174 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
175 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
177 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
180 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
181 end of the second range.
182 * testsuite/25_algorithms/is_permutation/64646.cc: New.
184 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
187 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
188 is_assignable arguments.
189 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
192 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
195 * include/std/future (packaged_task::operator()): Increment the
196 reference count on the shared state until the function returns.
198 2015-01-09 Tim Shen <timshen@google.com>
201 Backported form mainline
202 2015-01-09 Tim Shen <timshen@google.com>
204 * include/bits/regex.h (match_results<>::swap): Use std::swap
206 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
208 * testsuite/28_regex/match_results/swap.cc: New testcase.
210 2014-12-17 Tim Shen <timshen@google.com>
214 Backported form mainline
215 2014-12-17 Tim Shen <timshen@google.com>
217 * include/bits/regex.h (match_results::cbegin, match_results::cend,
218 regex_token_iterator::regex_token_iterator,
219 regex_token_iterator::_M_normalize_result): Fix match_results cbegin
220 and cend and regex_token_iterator::_M_result invariant.
221 * include/bits/regex.tcc: Fix regex_token_iterator::_M_result invariant.
222 * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Testcase.
224 2014-12-13 Tim Shen <timshen@google.com>
227 * include/bits/regex.h (match_results<>::match_results,
228 match_results<>::operator=, match_results<>::position,
229 match_results<>::swap): Fix ctor/assign/swap.
230 * include/bits/regex.tcc: (__regex_algo_impl<>,
231 regex_iterator<>::operator++): Set match_results::_M_begin as
233 * testsuite/28_regex/iterators/regex_iterator/char/
234 string_position_01.cc: Test cases.
236 2014-12-09 Jonathan Wakely <jwakely@redhat.com>
239 * include/std/shared_mutex: Fix preprocessor conditions.
240 * testsuite/experimental/feat-cxx14.cc: Check conditions.
242 2014-12-06 Jonathan Wakely <jwakely@redhat.com>
245 * include/std/functional (function::function(const function&)): Set
246 _M_manager after operations that might throw.
247 * include/tr1/functional (function::function(const function&),
248 function::function(_Functor, _Useless)): Likewise.
249 * testsuite/20_util/function/63840.cc: New.
250 * testsuite/tr1/3_function_objects/function/63840.cc: New.
253 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
254 disambiguate unary constructors.
255 (_Tuple_impl): Pass allocator_arg_t arguments.
256 * testsuite/20_util/tuple/61947.cc: New.
257 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
259 2014-12-06 Tim Shen <timshen@google.com>
262 Backport form mainline
263 2014-12-04 Tim Shen <timshen@google.com>
265 * include/bits/regex.tcc (regex_iterator<>::operator++): Update
266 prefix.matched after modifying prefix.first.
267 * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: New
270 2014-12-02 Matthias Klose <doko@ubuntu.com>
273 Backport from mainline
274 2014-11-03 Paolo Carlini <paolo.carlini@oracle.com>
276 * include/parallel/algo.h: Do not use default arguments in function
277 template redeclarations (definitions).
279 2014-11-04 Jonathan Wakely <jwakely@redhat.com>
281 * include/parallel/numeric.h: Do not use default arguments in function
282 template redeclarations (definitions).
284 2014-11-28 Tim Shen <timshen@google.com>
287 * include/bits/regex_executor.tcc (_Executor::_M_dfs,
288 _Executor::_M_word_boundary): Avoid dereferecing _M_current at _M_end
289 or other invalid position.
291 2014-11-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
293 Backport from mainline
294 2014-09-10 Tony Wang <tony.wang@arm.com>
297 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
298 Return with CONTINUE_UNWINDING when the state pattern
299 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
301 2014-10-30 David Edelsohn <dje.gcc@gmail.com>
303 Backported from mainline.
304 2014-10-30 David Edelsohn <dje.gcc@gmail.com>
306 * configure.host (aix4.3+, 5+): Do not use -G in link command.
308 2014-10-30 Release Manager
310 * GCC 4.9.2 released.
312 2014-10-18 François Dumont <fdumont@gcc.gnu.org>
313 Jonathan Wakely <jwakely@redhat.com>
316 * include/debug/functions.h (__foreign_iterator_aux2): Do not check for
317 foreign iterators if input iterators returns rvalue reference.
318 * testsuite/23_containers/vector/63500.cc: New.
320 2014-10-14 Kai Tietz <ktietz@redhat.com>
323 * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC):
324 Define to avoid leak.
325 * config/os/mingw32-w64/os_defines.h: Likewise.
327 2014-10-08 Edward Smith-Rowland <3dw4rd@verizon.net>
329 Implement SD-6: SG10 Feature Test Recommendations
330 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
331 * include/bits/stl_algobase.h: Ditto.
332 * include/bits/stl_function.h: Ditto.
333 * include/bits/unique_ptr.h: Ditto.
334 * include/std/chrono: Ditto.
335 * include/std/complex: Ditto.
336 * include/std/iomanip: Ditto.
337 * include/std/shared_mutex: Ditto.
338 * include/std/tuple: Ditto.
339 * include/std/type_traits: Ditto.
340 * include/std/utility: Ditto.
341 * testsuite/experimental/feat-cxx14.cc: New.
342 * testsuite/experimental/feat-lib-fund.cc: New.
343 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
344 * testsuite/20_util/duration/literals/range.cc: Adjust.
345 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
346 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
347 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
348 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
349 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
350 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
351 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
354 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
356 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
359 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
362 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
364 * testsuite/23_containers/unordered_set/63456.cc: New.
366 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
369 * doc/xml/manual/containers.xml: Remove outdated section. Update
371 * doc/html/*: Regenerate.
373 2014-10-03 Edward Smith-Rowland <3dw4rd@verizon.net>
375 * include/std/type_traits: Add is_final<> type trait for C++14.
376 * testsuite/util/testsuite_tr1.h: Add FinalType.
377 * testsuite/20_util/is_final/requirements/
378 explicit_instantiation.cc: New.
379 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
380 * testsuite/20_util/is_final/value.cc: New.
381 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
382 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
383 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
385 2014-10-02 Tim Shen <timshen@google.com>
388 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
389 basic_regex::swap): Fix dangling _M_traits reference problem.
390 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
393 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
395 * doc/xml/manual/status_cxx2011.xml: Corrections.
396 * doc/html/manual/status.html: Regenerate.
398 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
400 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
402 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
404 * include/bits/stl_queue.h: Include missing header.
405 * include/bits/stl_stack.h: Likewise.
406 * testsuite/23_containers/priority_queue/requirements/
407 uses_allocator.cc: New.
408 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
409 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
411 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
413 * include/std/mutex (try_lock): Do not swallow exceptions.
414 * testsuite/30_threads/try_lock/4.cc: Fix test.
416 2014-10-01 Jonathan Wakely <jwakely@redhat.com>
419 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
420 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
422 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
425 * include/bits/regex.h (match_results::format): Remove stray template
428 2014-08-26 Jonathan Wakely <jwakely@redhat.com>
430 Backported from mainline
431 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
433 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
434 and add overloads for rvalue streams.
435 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
437 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
440 2014-08-26 Jonathan Wakely <jwakely@redhat.com>
443 * include/experimental/string_view: Fix inconsistent exception specs.
445 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
448 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
449 _M_need_rehash to initialize the rehash policy and check if a rehash is
451 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
453 2014-08-04 Jonathan Wakely <jwakely@redhat.com>
455 Backported from mainline
456 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
459 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
460 const allocator_type&)): Pass non-const allocator to
462 * testsuite/ext/rope/61946.cc: New.
464 2014-08-04 Zifei Tong <zifeitong@gmail.com>
466 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
467 _GLIBCXX_ prefix to macro.
469 2014-08-04 Samuel Bronson <naesten@gmail.com>
471 Backport r212453 from trunk
472 2014-07-11 Samuel Bronson <naesten@gmail.com>
473 Matthias Klose <doko@ubuntu.com>
476 * python/libstdcxx/v6/printers.py: Port to Python 2+3
477 (imap): New compat function.
479 (Iterator): New mixin to allow writing iterators in Python 3 style
480 regardless of which version we're running on.
481 [Python3] (long) New compat alias for "int".
482 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
484 Backport r210625 from trunk
485 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
487 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
489 2014-08-04 Jonathan Wakely <jwakely@redhat.com>
491 Backported from mainline
492 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
495 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
496 (bin_search_tree_traits): Do not redeclare template-parameters.
497 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
499 Backported from mainline
500 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
502 * include/std/condition_variable (condition_variable_any::_Unlock): Do
503 not swallow __forced_unwind.
504 * include/std/future (__future_base::_Task_setter): Likewise.
505 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
507 * include/std/mutex (try_lock): Likewise.
508 * testsuite/30_threads/async/forced_unwind.cc: New.
509 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
511 Backported from mainline
512 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
515 * include/experimental/string_view (operator basic_string): Correct
517 (to_string): Replace with member function.
518 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
519 allow _M_str to be null.
520 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
521 default constructor semantics.
522 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
523 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
524 copyright dates. Remove unused header.
525 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
527 * testsuite/experimental/string_view/operations/data/char/1.cc:
528 Fix copyright dates. Adjust to new default constructor semantics.
529 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
531 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
533 Backported from mainline
534 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
536 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
537 const to constexpr member functions.
539 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
541 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
542 * include/bits/random.h (_Adaptor): static_assert for non floating-point
544 * include/bits/random.tcc (generate_canonical): Ditto.
545 * include/ext/random.tcc (hypergeometric_distribution::operator()):
546 Use double as a rng result type.
547 * testsuite/26_numerics/random/pr60037-neg.cc: New.
548 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
550 2014-07-16 Release Manager
552 * GCC 4.9.1 released.
554 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
557 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
558 apply the signed specifier to wchar_t.
559 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
560 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Do not
561 apply the unsigned specifier to wchar_t.
562 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
565 2014-06-13 Jonathan Wakely <jwakely@redhat.com>
567 Backport from mainline
569 * include/std/type_traits (__make_unsigned, __make_signed): Define
570 specializations for wchar_t, char16_t and char32_t.
571 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
572 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
573 test for make_unsigned<volatile wchar_t>.
574 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
576 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
578 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
580 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
583 Backport from mainline
585 * include/std/type_traits: Move include outside namespace std.
586 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
587 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
588 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
591 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
592 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
593 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
595 2014-06-07 Ed Smith-Rowland <3dw4rd@verizon.net>
597 Backport from mainline
598 DR 2344 - std::quoted doesn't respect padding
599 * include/std/iomanip: Allow for padding in quoted inserters.
600 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
601 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
603 2014-06-03 Jonathan Wakely <jwakely@redhat.com>
605 * include/bits/regex_executor.tcc (_Executor<>::_M_main): Move instead
608 2014-06-03 Jonathan Wakely <jwakely@redhat.com>
610 Backport from mainline
611 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
614 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
616 Backport from mainline
617 2014-04-24 Tim Shen <timshen91@gmail.com>
619 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
620 Do _M_alt before _M_next.
621 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
623 Backport from mainline
624 2014-05-20 Tim Shen <timshen91@gmail.com>
627 * include/bits/regex_compiler.h
628 (_BracketMatcher<>::_M_add_character_class): Add negative character
630 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
632 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
635 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
637 * include/tr2/bool_set: Use UTF-8 for accented characters.
638 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
640 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
643 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
645 (_State_base::_M_dot): Likewise.
647 2014-05-23 François Dumont <fdumont@gcc.gnu.org>
650 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
652 * testsuite/23_containers/unordered_set/61143.cc: New.
653 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
655 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
658 * include/std/future (__future_base::_State_baseV2::_M_set_result):
659 Signal condition variable after call_once returns.
660 (__future_base::_State_baseV2::_M_do_set): Do not signal here.
661 (promise::set_value, promise::set_exception): Increment the reference
662 count on the shared state until the function returns.
663 * testsuite/30_threads/promise/60966.cc: New.
665 2014-05-08 Joshua Gay <jgay@gnu.org>
668 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
669 source" with "free software".
670 * doc/html/faq.html: Likewise.
672 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
674 * include/std/iostream: Fix URL in comment.
675 * src/c++98/ios_init.cc: Fix path in comment.
677 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
680 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
682 * testsuite/23_containers/set/cons/61023.cc: New.
685 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
687 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
688 arithmetic to obtain a mutable iterator from const_iterator.
689 * include/bits/vector.tcc (vector::insert): Likewise.
690 * include/debug/vector (vector::erase): Likewise.
691 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
692 Adjust dg-error line number.
693 * testsuite/23_containers/vector/requirements/dr438/
694 constructor_1_neg.cc: Likewise.
695 * testsuite/23_containers/vector/requirements/dr438/
696 constructor_2_neg.cc: Likewise.
697 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
700 2014-05-06 Jonathan Wakely <jwakely@redhat.com>
702 Backport from mainline
703 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
706 * include/std/functional (function::_Callable): Exclude own type
707 from the callable checks.
708 * testsuite/20_util/function/60594.cc: New.
710 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
713 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
714 function to handle both C++03 and C++11 _Rb_tree_node implementations.
715 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
716 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
718 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
721 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
722 Check the correct type in the static assertion.
723 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
725 2014-04-27 Lars Gullik Bjønnes <larsbj@gullik.org>
728 * include/experimental/optional (operator!=): Implement in terms of
730 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
731 * testsuite/experimental/optional/relops/2.cc: Likewise.
732 * testsuite/experimental/optional/relops/3.cc: Likewise.
733 * testsuite/experimental/optional/relops/4.cc: Likewise.
734 * testsuite/experimental/optional/relops/5.cc: Likewise.
735 * testsuite/experimental/optional/relops/6.cc: Likewise.
737 2014-04-27 Jonathan Wakely <jwakely@redhat.com>
740 * include/std/tuple (get): Qualify calls to prevent ADL.
741 * testsuite/20_util/tuple/60497.cc: New.
743 * include/std/tuple (tuple_element_t): Define.
744 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
746 * testsuite/20_util/tuple/tuple_element_t.cc: New.
748 2014-04-22 Release Manager
750 * GCC 4.9.0 released.
752 2014-04-10 Andreas Schwab <schwab@suse.de>
754 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
756 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
757 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
759 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
761 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
763 * testsuite/20_util/exchange/1.cc: Add missing return statements.
764 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
765 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
768 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
769 Jack Howarth <howarth@bromo.med.uc.edu>
772 * testsuite/30_threads/condition_variable/54185.cc: Skip for
775 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
777 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
779 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
781 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
782 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
783 * doc/xml/manual/concurrency_extensions.xml
784 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
785 * doc/html/*: Regenerate.
787 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
788 Jonathan Wakely <jwakely@redhat.com>
791 * include/std/iomanip (_Quoted_string operator>>): Do not clear
792 string if input is not quoted.
793 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
795 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
797 * libsupc++/eh_ptr.cc: Improve static_assert messages.
799 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
801 * testsuite/18_support/exception_ptr/60612-terminate.cc
802 (terminate, f): Wrap in _GLIBCXX_USE_C99.
803 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
805 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
807 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
809 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
810 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
812 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
814 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
816 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
817 Fix bad s/part/chapter/ substitutions.
818 * doc/xml/manual/io.xml (std.io): Likewise.
819 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
820 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
822 * doc/html/*: Regenerate.
824 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
827 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
828 compatible with __cxa_exception.
829 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
830 Fix typos in comments.
831 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
832 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
834 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
837 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
838 Use sizeof pointer type not the element type.
839 * testsuite/29_atomics/atomic/60658.cc: New.
841 2014-03-24 Jakub Jelinek <jakub@redhat.com>
843 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
844 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
845 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
846 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
847 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
848 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
849 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
850 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
851 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
852 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
855 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
857 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
859 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
861 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
862 to delegated constructor.
863 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
864 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
867 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
869 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
872 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
874 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
877 * include/debug/functions.h (_Is_contiguous_sequence): Define.
878 (__foreign_iterator): Accept additional iterator. Do not dispatch on
880 (__foreign_iterator_aux2): Likewise. Add overload for iterators
881 from different types of debug container. Use _Is_contiguous_sequence
882 instead of is_lvalue_reference.
883 (__foreign_iterator_aux3): Accept additional iterator. Avoid
884 dereferencing past-the-end iterator.
885 (__foreign_iterator_aux4): Use const value_type* instead of
886 potentially user-defined const_pointer type.
887 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
888 and pass end iterator to __gnu_debug::__foreign_iterator.
889 (__glibcxx_check_insert_range_after): Likewise.
890 (__glibcxx_check_max_load_factor): Fix comment.
891 * include/debug/vector (_Is_contiguous_sequence): Define partial
893 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
894 -std=gnu++11 option and unused header.
895 * testsuite/23_containers/vector/debug/60587.cc: New.
896 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
898 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
900 * crossconfig.m4: Support spu-*-elf* targets.
901 * configure: Regenerate.
903 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
906 * include/std/future (__future_base::_Task_state<>): Change
907 constructors to template functions using perfect forwarding.
908 (__create_task_state): Use decayed type as stored task.
909 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
910 * testsuite/30_threads/packaged_task/60564.cc: New.
912 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
914 * scripts/create_testsuite_files: Add testsuite/experimental in
915 the list of folders to search for tests.
917 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
919 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
921 2014-03-15 Tim Shen <timshen91@gmail.com>
923 * include/bits/regex.h: Add/modify comments.
924 * include/bits/regex_compiler.h: Likewise.
925 * include/bits/regex_executor.h: Likewise.
926 * include/bits/regex_executor.tcc: Likewise.
927 * include/bits/regex_scanner.h: Likewise.
929 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
932 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
933 _ZNSt12system_errorC* symbols which are not exported on any target.
935 2014-03-12 Roland McGrath <mcgrathr@google.com>
936 Mark Seaborn <mseaborn@google.com>
939 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
940 the address of a null pointer, not with a null pointer to pointer.
941 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
942 * testsuite/18_support/bad_exception/59392.cc: New file.
944 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
947 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
949 * include/debug/map (map::operator=(map&&)): Likewise.
950 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
951 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
952 * include/debug/set (set::operator=(set&&)): Likewise.
953 * include/debug/unordered_map
954 (unordered_map::operator=(unordered_map&&)): Likewise.
955 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
956 * include/debug/unordered_set
957 (unordered_set::operator=(unordered_set&&)): Likewise.
958 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
959 * include/debug/vector (vector::operator=(vector&&)): Likewise.
960 * testsuite/23_containers/forward_list/debug/60499.cc: New
961 * testsuite/23_containers/map/debug/60499.cc: New
962 * testsuite/23_containers/multimap/debug/60499.cc: New
963 * testsuite/23_containers/multiset/debug/60499.cc: New
964 * testsuite/23_containers/set/debug/60499.cc: New
965 * testsuite/23_containers/unordered_map/debug/60499.cc: New
966 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
967 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
968 * testsuite/23_containers/unordered_set/debug/60499.cc: New
969 * testsuite/23_containers/vector/debug/60499.cc: New
971 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
973 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
974 for filesystem and fundamentals TS work items.
976 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
979 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
980 Adjust dg-error directives.
982 2014-02-26 Tim Shen <timshen91@gmail.com>
984 * include/bits/regex.tcc (match_results<>::format,
985 regex_replace<>): Update __out after calling std::copy.
986 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
988 * testsuite/28_regex/match_results/format.cc: Likewise.
990 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
993 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
994 allocator_type&)): Remove redundant call to _M_initialize_map.
995 (deque::deque(const allocator_type&)): Initialize _Base with a
996 constructor that calls _M_initialize_map.
1000 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1002 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1005 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1007 Rename testsuite directory shared_mutex to shared_timed_mutex
1009 * testsuite/30_threads/shared_mutex: Moved to...
1010 * testsuite/30_threads/shared_timed_mutex: ...here
1012 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1014 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1015 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1016 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1017 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1018 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1019 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1020 * testsuite/30_threads/shared_lock/requirements/
1021 explicit_instantiation.cc: Ditto.
1022 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1023 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1024 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1025 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1026 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1027 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1028 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1029 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1030 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1031 * testsuite/30_threads/shared_mutex/requirements/
1032 standard_layout.cc: Ditto.
1033 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1034 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1035 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1036 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1037 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1039 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1041 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1042 execution on i?86-*-solaris2.9, remove comment.
1043 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1045 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1047 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1048 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1049 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1051 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1053 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1054 not use varargs when argument could be non-POD.
1055 (__alloctr_rebind_helper): Eliminate static const bool member by
1056 using true_type and false_type.
1057 (allocator_traits::__allocate_helper): Likewise.
1058 (allocator_traits::__construct_helper): Likewise.
1059 (allocator_traits::__destroy_helper): Likewise.
1060 (allocator_traits::__maxsize_helper): Likewise.
1061 (allocator_traits::__select_helper): Likewise.
1062 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1063 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1064 Remove redundant condition.
1065 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1067 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1068 indirection through __alloc_traits.
1069 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1070 Eliminate static const bool members by using true_type and false_type.
1071 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1072 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1073 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1075 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1078 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1079 (vector::_M_data_ptr): New overloaded functions to ensure empty
1080 vectors do not dereference the pointer.
1081 * testsuite/23_containers/vector/59829.cc: New.
1082 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1083 Adjust dg-error line number.
1084 * testsuite/23_containers/vector/requirements/dr438/
1085 constructor_1_neg.cc: Likewise.
1086 * testsuite/23_containers/vector/requirements/dr438/
1087 constructor_2_neg.cc: Likewise.
1088 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1092 * include/ext/array_allocator.h: Add deprecated attribute.
1095 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1096 installation and use of python printers.
1097 * doc/xml/manual/status_cxx2011.xml: Update.
1098 * doc/html/*: Regenerate.
1100 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1101 Kyle Lippincott <spectral@google.com>
1104 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1105 constructor and grant friendship to weak_ptr.
1106 (weak_ptr::lock()): Use new constructor.
1107 * include/bits/shared_ptr_base.h
1108 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1109 and define specializations.
1110 (__shared_count): Add new non-throwing constructor.
1111 (__shared_ptr): Add new non-throwing constructor and grant friendship
1113 (__weak_ptr::lock()): Use new constructor.
1114 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1115 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1117 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1120 * include/bits/shared_ptr_base.h
1121 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1124 2014-01-27 Jason Merrill <jason@redhat.com>
1129 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1130 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1131 (__cxa_allocate_exception): Don't set it here.
1133 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1135 * include/bits/stl_map.h: Remove anachronistic comment.
1136 * include/bits/stl_multimap.h: Add whitespace.
1137 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1138 -std=gnu++11 instead of -std=c++11.
1139 * testsuite/23_containers/map/operators/2.cc: Likewise.
1140 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1141 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1142 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1144 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1145 * configure: Regenerate.
1147 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1150 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1151 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1153 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1154 Peter A. Bigot <pab@pabigot.com>
1157 * include/experimental/string_view
1158 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1159 Correct copy start location.
1161 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1162 Peter A. Bigot <pab@pabigot.com>
1165 * include/experimental/string_view (operator[](size_type) const):
1166 Fix one-off index error in debug check.
1167 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1168 test basic_string_view at size().
1169 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1171 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1172 Peter A. Bigot <pab@pabigot.com>
1175 * include/experimental/string_view
1176 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1177 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1178 Comment out catch of out_of_range; No terminating null
1179 in basic_string_view. Check begin == end.
1180 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1183 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1186 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1187 constructor to prevent it being implicitly defined as deleted, but
1188 do not copy anything.
1189 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1190 Define copy and move constructors similar to _Safe_sequence_base's.
1191 * testsuite/23_containers/unordered_map/59548.cc: New.
1193 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1194 Steve Ellcey <sellcey@mips.com>
1196 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1198 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1199 * (configure, config.h.in): Regenerate.
1200 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1202 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1204 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1205 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1208 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1209 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1211 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1213 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1214 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1215 functions to perform moving or copying of elements from rvalue tree.
1216 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1217 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1218 * testsuite/23_containers/map/59872.cc: New.
1219 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1221 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1223 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1226 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1227 Split into separate default constructor and constructor taking
1229 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1230 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1232 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1233 * include/debug/list (list::list(const _Allocator&)): Likewise.
1234 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1236 * include/debug/multimap.h
1237 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1238 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1240 * include/debug/multiset.h
1241 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1242 * include/debug/vector (vector::vector(const allocator_type&)):
1244 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1245 * include/profile/list (list::list(const _Allocator&)): Likewise.
1246 * include/profile/map.h
1247 (map::map(const _Compare&, const _Allocator&)): Likewise.
1248 * include/profile/multimap.h
1249 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1250 * include/profile/set.h
1251 (set::set(const _Compare&, const _Allocator&)): Likewise.
1252 * include/profile/multiset.h
1253 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1254 * include/profile/vector (vector::vector(const _Allocator&)):
1256 * testsuite/23_containers/deque/58764.cc: New.
1257 * testsuite/23_containers/list/58764.cc: New.
1258 * testsuite/23_containers/map/58764.cc: New.
1259 * testsuite/23_containers/multimap/58764.cc: New.
1260 * testsuite/23_containers/set/58764.cc: New.
1261 * testsuite/23_containers/multiset/58764.cc: New.
1262 * testsuite/23_containers/vector/58764.cc: New.
1263 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1264 Adjust dg-error line number.
1265 * testsuite/23_containers/deque/requirements/dr438/
1266 constructor_1_neg.cc: Likewise.
1267 * testsuite/23_containers/deque/requirements/dr438/
1268 constructor_2_neg.cc: Likewise.
1269 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1271 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1273 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1275 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1277 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1279 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1281 * testsuite/23_containers/vector/requirements/dr438/
1282 constructor_1_neg.cc: Likewise.
1283 * testsuite/23_containers/vector/requirements/dr438/
1284 constructor_2_neg.cc: Likewise.
1285 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1288 PR libstdc++/58764 (again)
1289 * include/bits/stl_list.h (list): Make default constructor's exception
1290 specification conditional.
1291 * include/bits/stl_vector.h (vector): Likewise.
1292 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1293 to default constructor.
1294 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1295 Adjust dg-error line number.
1296 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1298 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1300 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1302 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1304 * testsuite/23_containers/vector/requirements/dr438/
1305 constructor_1_neg.cc: Likewise.
1306 * testsuite/23_containers/vector/requirements/dr438/
1307 constructor_2_neg.cc: Likewise.
1308 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1311 2014-01-21 Tim Shen <timshen91@gmail.com>
1313 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1314 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1315 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1317 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1320 * include/bits/hashtable.h (__cache_default): Do not depend on
1321 whether the hash function is DefaultConstructible or CopyAssignable.
1322 (_Hashtable): Adjust static assertions.
1323 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1324 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1325 dg-error line number.
1326 * testsuite/23_containers/unordered_set/
1327 not_default_constructible_hash_neg.cc: Remove.
1329 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1331 * scripts/create_testsuite_files: Add testsuite/experimental in
1332 the list of folders to search for tests.
1333 * include/experimental/string_view
1334 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1335 incompatible with constexpr qualifier.
1336 (basic_string_view<>::front()): Likewise.
1337 (basic_string_view<>::back()): Likewise.
1338 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1339 Merge dg-options directives into one.
1340 * testsuite/experimental/string_view/element_access/char/2.cc:
1341 Likewise. Remove invalid experimental namespace scope on
1344 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1347 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1348 friendship to _Local_iterator_base<..., false>.
1349 (_Local_iterator_base): Give protected access to all existing members.
1350 (_Local_iterator_base::_M_curr()): New public accessor.
1351 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1352 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1353 the lifetime of the _Hash_code_base explicitly.
1354 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1355 (_Local_iterator_base<..., false>): Define copy constructor and copy
1356 assignment operator that use new functions to manage _Hash_code_base.
1357 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1358 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1359 Use public API for _Local_iterator_base.
1360 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1361 * include/debug/unordered_map (__debug::unordered_map::erase(),
1362 __debug::unordered_multimap::erase()): Likewise.
1363 * include/debug/unordered_set (__debug::unordered_set::erase(),
1364 __debug::unordered_multiset::erase()): Likewise.
1365 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1367 2014-01-19 Tim Shen <timshen91@gmail.com>
1369 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1370 Fix parse error of multiple consecutive quantifiers like "a**".
1371 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1373 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1375 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1377 * include/profile/set.h (set): Implement C++11 allocator-aware
1378 container requirements.
1379 * include/profile/map.h (map): Likewise.
1380 * include/profile/multiset.h (multiset): Likewise.
1381 * include/profile/multimap.h (multimap): Likewise.
1382 * include/profile/set.h
1383 (set::operator=(const set&)): Define as default in C++11 mode.
1384 (set::operator=(set&&)): Likewise.
1385 * include/profile/map.h
1386 (map::operator=(const map&)): Likewise.
1387 (map::operator=(map&&)): Likewise.
1388 * include/profile/multiset.h
1389 (multiset::operator=(const multiset&)): Likewise.
1390 (multiset::operator=(multiset&&)): Likewise.
1391 * include/profile/multimap.h
1392 (multimap::operator=(const multimap&)): Likewise.
1393 (multimap::operator=(multimap&&)): Likewise.
1394 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1395 Rely on the same operator from normal mode.
1396 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1398 * include/profile/multiset.h
1399 (multiset::operator=(std::initializer_list<>)): Likewise.
1400 * include/profile/multimap.h
1401 (multimap::operator=(std::initializer_list<>)): Likewise.
1402 * include/profile/set.h (set::swap(set&)): Add noexcept
1404 * include/profile/map.h (map::swap(map&)): Likewise.
1405 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1406 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1408 2014-01-17 Tim Shen <timshen91@gmail.com>
1410 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1412 * include/bits/regex_automaton.h: Do not use std::set.
1413 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1414 _BracketMatcher<>::_M_add_collating_element(),
1415 _BracketMatcher<>::_M_add_equivalence_class(),
1416 _BracketMatcher<>::_M_make_range()): Likewise.
1417 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1419 * include/bits/regex_executor.h: Do not use std::queue.
1420 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1421 _Executor<>::_M_dfs()): Likewise.
1422 * include/std/regex: Remove <map>, <set> and <queue>.
1424 2014-01-17 Tim Shen <timshen91@gmail.com>
1426 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1427 basic_regex<>::assign()): Change __compile_nfa to accept
1429 * include/bits/regex_compiler.h: Change _Compiler's template
1430 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1431 * include/bits/regex_compiler.tcc: Likewise.
1433 2014-01-17 Tim Shen <timshen91@gmail.com>
1435 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1437 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1438 _ScannerBase from _Scanner; Change _Scanner's template argument from
1439 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1441 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1442 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1443 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1445 * include/std/regex: Add <cstring> for using strchr.
1447 2014-01-17 Tim Shen <timshen91@gmail.com>
1449 * bits/regex_automaton.tcc: Indentation fix.
1450 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1451 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1452 _BracketMatcher<>): Add bool option template parameters and
1453 specializations to make matching more efficient and space saving.
1454 * bits/regex_compiler.tcc: Likewise.
1456 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1459 * include/bits/hashtable_policy.h: Fix some long lines.
1460 * include/bits/hashtable.h (__hash_code_base_access): Define and
1461 use it to check its _M_bucket_index noexcept qualification. Use
1463 (__access_protected_ctor): ...this.
1464 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1466 * testsuite/23_containers/unordered_set/
1467 not_default_constructible_hash_neg.cc: Likewise.
1469 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1471 * include/debug/set.h (set): Implement C++11 allocator-aware
1472 container requirements.
1473 * include/debug/map.h (map): Likewise.
1474 * include/debug/multiset.h (multiset): Likewise.
1475 * include/debug/multimap.h (multimap): Likewise.
1476 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1477 fix implementation regarding management of safe iterators.
1478 * include/debug/map.h (map::operator=(map&&)): Likewise.
1479 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1480 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1482 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1483 Rely on the same operator from normal mode.
1484 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1486 * include/debug/multiset.h
1487 (multiset::operator=(std::initializer_list<>)): Likewise.
1488 * include/debug/multimap.h
1489 (multimap::operator=(std::initializer_list<>)): Likewise.
1490 * include/debug/set.h (set::swap(set&)): Add noexcept
1491 specification, add allocator equality check.
1492 * include/debug/map.h (map::swap(map&)): Likewise.
1493 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1494 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1496 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1499 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1500 and stylistic improvements.
1501 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1502 and update for C++11.
1503 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1506 * doc/xml/manual/backwards_compatibility.xml
1507 (backwards.third.nocreate_noreplace): Correct and expand.
1510 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1512 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1515 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1516 support for non-Movable types.
1519 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1521 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1523 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1524 *this allocator instance when building temporary vector instance
1525 so that *this allocator does not get moved.
1526 * include/debug/safe_base.h
1527 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1528 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1529 move constructor from _Safe_sequence_base.
1530 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1531 safe iterators if the instance is moved.
1532 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1533 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1534 check on a vector iterator.
1535 * testsuite/23_containers/vector/allocator/move_assign.cc
1537 (test03): New, test with a non-propagating allocator.
1538 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1540 2014-01-07 Tim Shen <timshen91@gmail.com>
1542 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1543 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1544 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1545 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1546 _BracketMatcher<>::_M_add_char(),
1547 _BracketMatcher<>::_M_add_collating_element(),
1548 _BracketMatcher<>::_M_add_equivalence_class(),
1549 _BracketMatcher<>::_M_add_character_class(),
1550 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1551 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1552 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1553 to template parameter; Add cache for _BracketMatcher. Adjust
1554 declarations from here...
1555 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1556 imbuing a regex will trigger a recompilation to rebuild the cache.
1557 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1558 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1559 different template bool parameters.
1560 * include/bits/regex_executor.h: Remove unnecessary declarations.
1561 * include/std/regex: Adjust including orders.
1562 * testsuite/28_regex/traits/char/user_defined.cc: New.
1563 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1565 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1567 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1568 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1569 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1570 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1571 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1573 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1575 Update copyright years
1577 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1579 * testsuite/18_support/new_handler.cc,
1580 testsuite/18_support/terminate_handler.cc,
1581 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1582 the copyright notice.
1584 Copyright (C) 2014 Free Software Foundation, Inc.
1586 Copying and distribution of this file, with or without modification,
1587 are permitted in any medium without royalty provided the copyright
1588 notice and this notice are preserved.