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