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